요즘 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은 윈도에서만 돌고 있고..
답은 탈-땜쟁이다.
8266은 IDE 업그레이드 언제 해주나...
cygwin말고 mingw로는 안됨?