평소 리눅스에서 개발만하다보니 Git 이 윈도우에서 ㅈㄴ 느리다는걸 깨닳은지는 최근임.

당시 윈도우 패키지 지식이 없던터라 msvc로 pre-built 된 Emacs 로 Magit 을 썼었음. 

(나뿐만이 아니라 다들 이렇게 순진하게 가다가 뺨 맞더라..)


근데 쉬부랭 commit logs 가 존나 길어질수록 엄청 느리다는것이다.

처음엔 elisp 인터프리터가 윈도우에서 ㅈㄴ 느린걸로 생각했는데, backtrace를 뽑아보니 딱히 느린 구석이없었다.

물론 레이턴시가 빠르다곤 할수없지만, git log 를 뽑는데 7~8초가 걸리는 이유를 설명하지못함.


큰 회사들은 feature 브랜치가 수백 수천개씩 있기도해서 존나 빡치는거다.

한번 재수없게 잘못넣으면 Emacs UI 전체가 멈추는거라 빡친다...



암튼 그래서 wsl 을 이용해보기로했다..여전히 존나느렸다. (직접 빌드하진 않았음)


Windows 의 파일시스템이 달라서 느린건가? 근데 신기한건 mingw 환경에선 전혀 느리지 않고 쾌적하단 것이다...

아니 시벌 대체 왜이러는건가??? 


r/emacs 에서 관련 내용을 찾아봤는데, 나만 그런게 아니었다.

누군가는 wsl에서 퍼포먼스 다운이 되는 원인을 hyper-v 특유의 리소스 공유 방식때문에 fork() 구현이 매우느리기 때문으로 추정하고, wsl2 에선 그 문제가 해결될거다라고 주장했다.. 

내가봣을땐 그건 설득력이 떨어지는거같았다......애초에 mingw 에선 ㅈㄴ 빠른데???


난 아직도 이유를 잘모르겟다.. 다만 msys2 환경에서 libgccjit + emacs 28 이 존나 쾌적 짱짱맨!! 하다는 걸 오랜 삽질로 발견한걸 위안삼을뿐....

주변에 돌아봐도 다 결국 나처럼 쓰더라 .. 


다만 왜 느린지는 아직도 모르겟다... 

나중에 시간나면 wsl2 에서 libgit 부터 빌드해서 테스트해볼수 잇겟지만 딱히 다른 결과가 나올거같진않음..

대체 왜이러는건지 아는 게이있냐?




삼줄요약

- wsl 은 ㅄ임..왜쓰냐? 

- libgccjit 짱짱맨

- libgit 은 Windows 에서 '특정 환경' 에서만 ㅈㄴ 느리다..이유는 모르겟다..