高效處理大型 CSV 檔案是許多應用程式中的常見要求,從資料分析到 ETL(提取、轉換、載入)過程。在本文中,我想對四種流行程式語言(Golang、帶有 NestJS 的 NodeJS、PHP 和 Python)在 MacBook Pro M1 上處理大型 CSV 檔案的效能進行基準測試。我的目標是確定哪種語言可以為該任務提供最佳效能。
硬體:MacBook Pro M1,256GB SSD,8GB RAM
軟體:
我使用了一個名為 sales_data.csv 的合成 CSV 文件,其中包含大約 100 萬行,每行包含交易詳細信息,例如 transaction_id、product_id、數量、價格和時間戳。
對於每種語言,腳本執行以下任務:
以下是每種語言使用的腳本:
銷售.go
csv.service.ts
csv.controller.ts
銷售.php
以下是我們基準測試的結果:
我的基準測試揭示了一些有趣的見解:
執行時間:Golang 在執行時間方面表現最好,PHP8 緊隨其後,而 NestJS 完成任務的時間最長。
記憶體使用:Build NestJS 表現出高效的記憶體使用,而 Python 表現出更高的記憶體消耗。
易於實現:Golang 提供了最簡單的實現,而 NestJS 需要更多的程式碼行和複雜性。
根據我的發現,Golang 提供了最佳的效能速度和記憶體效率,使其成為處理大型資料集的絕佳選擇。
您可以在我的 Github 儲存庫上取得完整程式碼
csv-解析-戰鬥.
以上是CSV 檔案處理基準測試:Golang、NestJS、PHP、Python的詳細內容。更多資訊請關注PHP中文網其他相關文章!