본문 바로가기
Dead Code/Flutter_Dart

[플러터] 램디스크에서 플러터 빌드를 하면.. 속도 빨라질까?

by JO_i 2020. 2. 27.

빌드타임이 비교적 빠른 플러터이지만,

매우 지루한 시간이라는건 변함이 없다. 

 

나같이 후진 PC를 사용하는 사람이라면, 더 그렇겠지만, 

이것때문에 PC를 바꾸기는 좀 애매하다.

(취미를 게임으로 바꿔야하나....)

 

 

유튜브나 블로그에 보면 온갖 귀찮음을 이겨내고 

여러가지 테스트를 하시는

분들을 항상 존경해오긴 했지만,

막상 해보니 진짜 귀찮은 관계로

단일 시스템에서 테스트 해보기로 한다.

 

 

램디스크는 Freeware인 Softperfect Ram Disk를 사용했다.

(램디스크 쳐서 가장 처음에 나오는 걸로 설치)

사용된 PC는 랩탑이고, 8265u CPU, 8GB RAM(눈에 보이는 걸로..), IDE는 VS CODE이다.

 

사실 8GB에서 1GB를 할당해주는건.. 더 미친짓일 수 있다. 

하지만 막연한 기대감에 멈출 수 없다. 

 

비교대상은 RAM disk, nvme SSD(도시바), SD카드(95mb/s), 세개의 저장장치이고,

각각 프로젝트 생성 이후, 최초빌드가 완성되어, 외부 디바이스에 화면이 출력되는 시간까지이다.

 

 

램디스크↓

 

 

SSD↓

 

 

SD카드↓

 

결과는 램디스크가 제일 빨랐지만, SSD와 대동소이했고, SD카는 그 자체로 느리니, 제일 느렸다.

 

 

좀 더 드라마틱한 결과를 원했으나, 빌드에서 저장장치는 크게 타지 않는다는 것만 알게 됐다.

(파일이 많이 사용된 큰 규모의 앱이라면 모르겠다.)

그래도 약간의 오차를 빼더라도 10%정도 줄었다고 하면, 좀 더 나아보이려나..

물론, SSD가 도시바꺼라, 성능이 더 나은 걸 쓰면 격차가 더 줄어들 수 있다.

 

이게 끝은 아니고, 

램디스크는 전원을 끄면 데이터가 사라지기 때문에,

백업을 위한 BAT파일을 하나 만들어 보자.

 

별건 없고, 메모장에 아래 내용 타이핑하고 켤때와 끌때 눌러주면 된다. 

당연히 폴더이름은 맞게 설정하면 된다.

 

[바탕화면 -> 램디스크]

xcopy C:\Users\SkynetNote\desktop\99 Y:\temp /s /h /e /y

 

[램디스크 --> 바탕화면]

xcopy Y:\temp C:\Users\SkynetNote\desktop\99 /s /h /e /y

 

xcopy의 옵션은 다음과 같다고 한다. 

/s ; 하위폴더 포함

/h ; 숨김파일 포함

/e ; 비어있는 폴더 포함

/y ; 추가 질의없이 복사

 

파일이 많아서, 복사할때 잠시뜨는 터미널 모양을 보고있노라면, 마치 개발자가 된 것 같다.

복사속도는 램디스크라서 오래 걸리지 않으니, 효율적이라고도 할수 있다.

 

 

1초의 기다림도 싫으시다면, 한번 해보시길...

 

 

** 램디스크 만든 김에, 크롬이나 웨일브라우저의 temp파일 저장소 활용을 원한다면, 바로가기에 아래 옵션을 추가해주자.

(당연히, 폴더 이름은 각자에 맞춰 설정 필요)

"C:\Program Files (x86)\naver\Naver Whale\Application\whale.exe" --disk-cache-dir="Y:\temp_chrome"