近期因為遇到在 GCP Compute Engine 跑 R 程式碼發生 OOM (Out of Memory)的記憶體問題,所以研究了很多關於 Python 和 R 之間的比較,看到不少文章都說 R 在效能、記憶體分配和垃圾處理(Garbage collect)上都是輸給 Python 的,也看到很多人不推薦使用 R 做大型數據處理。
秉持著研究精神,還是自己測一次最有感,所以這篇文章就是我自己實測的 Python VS. R 的記憶體 + 執行時間的大對決!
實測環境&版本
Macbook Pro
晶片: Apple M3
記憶體: 16 GB
MacOS: Sonoma 14.2
R
IDE: 採用最主流的 R Studio 來執行
Version:
R version: 4.3.3
pryr: 0.1.6
Python
IDE: 採用市占率最高的 VS Code 來執行
Version:
Python version 3.11.9
psutil: 6.0.0
numpy: 1.26.4
實測程式碼
這次直接由 ChatGPT-4o 幫我生成兩種不同程式語言的程式碼,我只有附上自己的註解,以及手動更改建立的數據大小而已(下面圖片中的程式碼範例皆為產出一個 70000 x 70000 的表)