프로그램을 짰는데 이따금 생각했던 것 보다 너무나 느린 경우가 있다.
가령 1기가가 넘어가는 obj모델을 geopy.geodesic을 활용한 좌표계의 변환이 하루가 넘어가버린다든가
원인을 열심히 생각해본 결과, 이 미천한 개발자는 언어(파이썬)의 성능을 탓하게 되었는데..
인터프리터 언어인 파이썬은 편리한만큼 느리다는 말이 만연했기 때문이다.
결론적으로 파이썬 성능을 의심하지말라..
위의 링크의 글에 의하면 파이썬은 Numba라는 라이브러리를 통해 더 빠르게 바꿀 수 있다고 한다.
해당 라이브러리를 사용하면 C나 포트란 같은 언어보다도 빨라질 수 있다고 한다.
여지껏 느린언어라며 아무것도 모르는 바보같은 개발자(그 누구도 아닌 바로 나)에게 조롱당해온 불쌍한 파이썬이여...그 누명도 이젠 안녕(?)
하지만 이 Numba도 읽지 못하는 라이브러리가 있다는 하니 오픈소스를 많이 끌어다 쓰는 프로그램에 바로 적용할 수 있을지는 의문이다.
그래도 조만간 시간과 기회가 된다면 해당 라이브러리를 사용하여 속도 개선이 정말 이뤄지는지 찾아보고 다시 글을 써야겠다.
하지만 저런 Numba 라이브러리를 사용한 속도개선보다도 가장 중요한건..
사실은 언어의 성능이 문제가 아니라 당신의 코드가 문제일 수 있다.
자료구조나 병렬 및 비동기처리를 잘 공부하여 빠른 성능개선을 모색할 필요가 있다.
개뱔자가 개떡같이 짜면 아무리 성능이 좋은 언어를 써도 개떡같이 느리다고...합니다...!
참고영상
https://www.youtube.com/watch?v=u-hZI2tFGdU
반응형
'파이썬 문법' 카테고리의 다른 글
Hash Table (0) | 2022.10.09 |
---|---|
파이썬 타입 지정하기 (0) | 2022.07.30 |
RuntimeError: can't allocate lock 에러 (feat.병렬처리) (0) | 2022.07.11 |
파이썬 리스트에 요소 추가 시 주의하기 (feat.속도) (0) | 2022.07.02 |
논리연산자 실행시 주의사항 (0) | 2019.10.04 |