Msys2

윈도우즈에서 unix 명령어를 지원하는 환경 중에 msys2라는 것이 있다.

cygwin이라든가 mingw에 붙어오는 msys보다 좋다고 느낀 것은 이게 pacman을 지원한다는 것이다. arch linux를 쓰면 pacman에 익숙해지게 되는데, package의 이름들도 대개 비슷하고 내가 아는 한도의 util들은 모두 package화가 되어있다. cygwin이나 mingw처럼 답답한 구석을 아직 발견 못했다.

gcc의 경우 7.3이 최신 패키지인 듯 한데, 기존의 mingw들이 4.x.x를 지원하는 것에 비해 좋다고 할 수 있을 것 같다.

4.x.x보다 7.3이 빠르긴 한데 8.x.x보단 느린 게 확실하고 좀 이상한 것은 march/mtune=native로 놓으면 오히려 속도가 더 떨어진다. 여태 수많은 환경을 테스트해봤는데 Linux/MacOS 10.14에서 곧바로 build한 8.2.0보다 빠른 경우는 못 봤다.

좀 웃긴 것은 2.6 RHEL에서 build한 8.2인데 single thread로 돌리면 기본 배포판에 번들되어있는 4.x.x 보단 분명히 빠른데 multithread (pthread 또는 open mp)를 쓰면 엉뚱한 결과가 나온다는 것이다. 더 느려진다 무슨 이유인지 알 수 없지만.