c,c++(2)
-
멀티 스레드 관련 궁금증 (Python vs C++)
나의 첫 궁금증은 예전에 들었던 "멀티 스레드를 제대로 쓰려면 파이썬이아니라 c++로 해야한다는 말이었다.거기에 대해 궁금해져서 검색해보았다. 파이썬과 C++에서 멀티스레드의 차이는 주로 파이썬의 **GIL(Global Interpreter Lock)**이라는 특성과 관련이 있습니다. 이 차이가 멀티스레드의 효율성과 활용도에 큰 영향을 미칩니다.GIL(Global Interpreter Lock)란?파이썬 인터프리터는 하나의 스레드만 실행하도록 하는 락(lock) 메커니즘입니다.멀티스레드를 사용하더라도 동시에 실행되는 작업은 하나의 스레드로 제한됩니다.따라서, 파이썬 멀티스레드는 CPU 집약적인 작업(예: 복잡한 수학 연산)에서는 성능이 제한됩니다.결과:파이썬에서 멀티스레드는 I/O 작업(예: 파일 읽기..
2024.12.12 -
로봇공학에서 Python 대신 C++을 많이 쓰는 이유
1. 성능실행 속도: C++는 컴파일된 언어로, 최적화된 기계어로 변환되어 실행되므로 속도가 매우 빠릅니다. 로봇의 실시간 제어와 같이 성능이 중요한 경우, C++가 더 적합합니다.메모리 관리: C++는 개발자가 직접 메모리를 관리할 수 있어 메모리 효율성을 높일 수 있습니다. 실시간 시스템에서는 메모리 사용이 중요한 요소입니다.2. 실시간 시스템로봇은 종종 실시간으로 반응해야 하므로, 시간 지연이 최소화되어야 합니다. C++는 이와 같은 실시간 요구 사항을 충족시키기 위해 더 잘 최적화할 수 있습니다.3. 하드웨어와의 인터페이스많은 로봇 하드웨어와 센서 드라이버는 C/C++로 작성되어 있습니다. C++는 하드웨어와의 저수준 인터페이스를 직접 다룰 수 있어 하드웨어 제어에 유리합니다.4. 종속성ROS(R..
2024.10.17