2011-02-09 4 views
6

압축을 수행하기 위해 기본 os 라이브러리를 사용하는 것과 비교하여 rubyzip을 사용하여 데이터를 압축 할 때 성능 차이는 무엇이 될지 궁금합니다. URL에서 압축 된 데이터를 가져온 다음 ZipOutputStream을 사용하여 zip 파일을 만듭니다. 네이티브 OS 유틸리티의 경우 zip 도구를 사용할 생각입니다. 두 가지 접근법에 대한 찬반 양론을 듣는 것이 좋을 것입니다.Rubyzip 대 네이티브 OS 압축

+7

Benchmark it === – denysonique

답변

2

작업이나 CPU 사용에 소요되는 시간면에서 큰 차이가 없다는 것이 판명되었습니다. 그러나 메모리 사용량에 있어서는 상당한 차이가있었습니다. rubyzip을 사용하면 zip 유틸리티를 사용할 때보 다 훨씬 많은 메모리를 사용하여 프로세스가 종료되었습니다. 우리의 유스 케이스에서는 메모리 사용이 중요한 관심사 였고 따라서 우리는 zip 유틸리티를 사용하여 끝내게되었습니다.

1

웹에서 데이터를 가져 오는 경우 병목 현상이 rubyzip이 될지 의심 스럽습니다. 나는 당신이 웹 연결의 속도에 의해 대부분 제한 될 것이기 때문에 당신이 많은 성능 차이를 보게 될지 의심 스럽다. 또한 rubyzip은 네이티브 라이브러리를 사용하여 대부분의 작업을 수행합니다. 아마도 잘 작동 할 것이고, 이런 유형의 응용 프로그램의 경우 훨씬 느린 경우 매우 놀랄 것입니다. 이제는 수천 개의 스레드가 동시에 실행되기 때문에 얼마나 많은 CPU 사이클이 소요되는지 염려한다면 gnu C 라이브러리를 사용하는 것이 좋습니다.

관련 문제