요즘 ESP32가지고 펌웨어 개발하기 시작했는데, 노트북은 고사하고 데탑에서도 느리더라고


FreeRTOS기반에 네트워크 스택이 하도 많아서 컴파일 시간이 좀 긴편임.


머신은 스레드리퍼 16코어이고  대충 블루투스 스택 제외하고 대부분의 스택을 넣은 결과가 이럼


환경

속도

비고

윈도우 개발환경

17초

cygwin용으로 컴파일된 바이너리 + python 조합

WSL2

21초

HyperV보다 느릴텐데, 문제는 USB연결도 안됨.

VMWARE (12코어)

11초

USB Passthrough됨 (디버깅 가능)

우분투 네티이브

8초 

카톡, 전자캐드 안됨 (이거중요)

iMac 27 2019 기본옵

21초

인텔 8세대 6코어 (HT없음), OSX 10.15.4


아이맥보다 사양 2~3배 더 좋은데 더 느린거 실화냐. 심지어 아이맥 유튜브도 틀어놓고 있었는데.


골때리는건 WSL2속도는 그렇다 치더라도 USB Passthrough안되서 디버깅도 거의 불가능하고 얘야 USB-CDM(UART)기반이라서 어찌 socat이니 뭐니 바인딩하면 되는데

 USB JTAG기반인 녀석들은 그냥 노답일듯;;


이거보면서 느끼는게. 어느 회사든 땜쟁이한테 되게 불친절한것같다. 대부분 윈도쓰는데 윈도에 속도면에서 불리한 컴파일 환경에, 맥좀 괜찮네 좀 써볼까 싶은데 mplab의 PIC프로세서 같은경우 32bit 바이너리라서 최근 맥에서 돌아가지 않거나. WSL2보면 USB장치 바인딩은 지원할것같지도 않고. 당장 쓰는 전자캐드 orcad나 altium은 윈도에서만 돌고 있고..

답은 탈-땜쟁이다.