R vs. Python vs. Julia. How easy it is to write efficient code? | by Daniel Moura | Mar, 2021 | Towards Data Science
- 효율적인 코드를 작성하는데 어떤 언어가 더 쉬운가
- 백만개의 정수 데이터셋에서 원하는 값을 찾는 선형검색을 통한 멤버쉽 테스트를 세 언어로 구현하고, 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를 피할수 없다면 인덱스 기반 루핑보다, 엘리먼트 기반 루핑이 더 효율적임
Detect language Afrikaans Albanian Amharic Arabic Armenian Azerbaijani Basque Belarusian Bengali Bosnian Bulgarian Catalan Cebuano Chichewa Chinese (Simplified) Chinese (Traditional) Corsican Croatian Czech Danish Dutch English Esperanto Estonian Filipino Finnish French Frisian Galician Georgian German Greek Gujarati Haitian Creole Hausa Hawaiian Hebrew Hindi Hmong Hungarian Icelandic Igbo Indonesian Irish Italian Japanese Javanese Kannada Kazakh Khmer Korean Kurdish Kyrgyz Lao Latin Latvian Lithuanian Luxembourgish Macedonian Malagasy Malay Malayalam Maltese Maori Marathi Mongolian Myanmar (Burmese) Nepali Norwegian Pashto Persian Polish Portuguese Punjabi Romanian Russian Samoan Scots Gaelic Serbian Sesotho Shona Sindhi Sinhala Slovak Slovenian Somali Spanish Sundanese Swahili Swedish Tajik Tamil Telugu Thai Turkish Ukrainian Urdu Uzbek Vietnamese Welsh Xhosa Yiddish Yoruba Zulu
Afrikaans Albanian Amharic Arabic Armenian Azerbaijani Basque Belarusian Bengali Bosnian Bulgarian Catalan Cebuano Chichewa Chinese (Simplified) Chinese (Traditional) Corsican Croatian Czech Danish Dutch English Esperanto Estonian Filipino Finnish French Frisian Galician Georgian German Greek Gujarati Haitian Creole Hausa Hawaiian Hebrew Hindi Hmong Hungarian Icelandic Igbo Indonesian Irish Italian Japanese Javanese Kannada Kazakh Khmer Korean Kurdish Kyrgyz Lao Latin Latvian Lithuanian Luxembourgish Macedonian Malagasy Malay Malayalam Maltese Maori Marathi Mongolian Myanmar (Burmese) Nepali Norwegian Pashto Persian Polish Portuguese Punjabi Romanian Russian Samoan Scots Gaelic Serbian Sesotho Shona Sindhi Sinhala Slovak Slovenian Somali Spanish Sundanese Swahili Swedish Tajik Tamil Telugu Thai Turkish Ukrainian Urdu Uzbek Vietnamese Welsh Xhosa Yiddish Yoruba Zulu
Text-to-speech function is limited to 200 characters