대용량 CSV 파일을 효율적으로 처리하는 것은 데이터 분석부터 ETL(추출, 변환, 로드) 프로세스에 이르기까지 많은 응용 프로그램의 일반적인 요구 사항입니다. 이 기사에서는 MacBook Pro M1에서 대용량 CSV 파일을 처리할 때 인기 있는 4가지 프로그래밍 언어인 Golang, NodeJS와 NestJS, PHP 및 Python의 성능을 벤치마킹하고 싶습니다. 저는 어떤 언어가 이 작업에 가장 적합한 성능을 제공하는지 결정하는 것을 목표로 합니다.
하드웨어: MacBook Pro M1, 256GB SSD, 8GB RAM
소프트웨어:
저는 약 100만 개의 행이 있는 sales_data.csv라는 합성 CSV 파일을 사용했습니다. 각 행에는 transaction_id, product_id, 수량, 가격, 타임스탬프와 같은 거래 세부정보가 포함되어 있습니다.
각 언어에 대해 스크립트는 다음 작업을 수행합니다.
각 언어에 사용되는 스크립트는 다음과 같습니다.
sales.go
csv.service.ts
csv.controller.ts
sales.php
벤치마크 테스트 결과는 다음과 같습니다.
제 벤치마크에서는 몇 가지 흥미로운 통찰력을 보여줍니다.
실행 시간: 실행 시간 측면에서 Golang이 가장 좋았고 PHP8이 그 뒤를 이었습니다. NestJS는 작업을 완료하는 데 가장 오랜 시간이 걸렸습니다.
메모리 사용량: Build NestJS는 효율적인 메모리 사용량을 보인 반면 Python은 더 높은 메모리 사용량을 보여주었습니다.
구현 용이성: Golang은 가장 간단한 구현을 제공한 반면 NestJS는 더 많은 코드 라인과 복잡성을 요구했습니다.
내 연구 결과에 따르면 Golang은 최고의 성능 속도와 메모리 효율성을 제공하므로 대규모 데이터 세트를 처리하는 데 탁월한 선택입니다.
내 Github 저장소에서 전체 코드를 얻을 수 있습니다
csv-파싱-전투.
위 내용은 CSV 파일 처리 벤치마킹: Golang, NestJS, PHP, Python의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!