8P by xguru 2021-03-31 | favorite | 댓글 1개

- 효율적인 코드를 작성하는데 어떤 언어가 더 쉬운가
- 백만개의 정수 데이터셋에서 원하는 값을 찾는 선형검색을 통한 멤버쉽 테스트를 세 언어로 구현하고, C구현과 비교
전체 비교
- Julia의 성능은 C에 근접. 다만 R과 비슷한 벡터화된 코드를 작성할 때는 3배 느려짐
- Python에 JIT(Numba)를 추가하면 루프기반 구현의 성능이 Julia와 비슷
- Python의 경우 네이티브 리스트와 NumPy 배열중에 어떤것을 선택할지, 언제 Numba를 사용할지 잘 골라야함
- R이 가장 빠른건 아니지만, Python에 비해 일관된 결과를 보임. (가장 빠른 구현에 비해 R은 24배느리지만, Python은 343배 느림. Julia는 약 3배 정도까지만)
- Native R 이 항상 Native Python 보다는 빠름
- Python 또는 R에서 Looping를 피할수 없다면 인덱스 기반 루핑보다, 엘리먼트 기반 루핑이 더 효율적임

Numba가 Numpy나 배열, 루프 등에서만 효과를 보여줄 수 있고 데코레이션을 써야 해서 코드가 번잡해지는 것은 치명적인 단점인 것 같습니다.

당장 Pandas만 섞어도 성능적인 결함이 있습니다.