자바에서 엑셀파일을 쓰는데 POI와 JXL중 어느것이 더 성능이 나을까?
테스트코드 및 결과는 다음과 같다.
테스트코드
* POI, JXL 을 java build path 에 추가해야 한다. 구글링하면 다운로드 받을 수 있는 경로가 나오므로 셋팅방법을 별도로 설명하지는 않는다.
* StopWatch 클래스는 성능측정을 위해 임의로 작성한 클래스이므로 해당 클래스가 없다면 이 코드는 컴파일 되지 않는다. 해당 클래스를 작성하던지 아니면 해당 구문을 제거하고 컴파일 할 것
결과
* 10,000 행 테스트와 65,536 행 테스트간 처리속도시간는 처리량이 6.55배 증가한 것에 비해 JXL은 4.96배 밖에 증가 하지 않았지만, POI는 xls가 27배, xlsx가 38배나 증가했다.
* POI 는 xls 형식으로 대량의 행을 저장하기에는 속도 및 용량효율측면에서 모두 JXL에 상당히 뒤쳐지지만, xlsx 형식으로 저장시 파일 용량을 JXL로 작성된 xls의 30% 수준으로 줄일 수 있다.
테스트코드 및 결과는 다음과 같다.
테스트코드
* POI, JXL 을 java build path 에 추가해야 한다. 구글링하면 다운로드 받을 수 있는 경로가 나오므로 셋팅방법을 별도로 설명하지는 않는다.
* StopWatch 클래스는 성능측정을 위해 임의로 작성한 클래스이므로 해당 클래스가 없다면 이 코드는 컴파일 되지 않는다. 해당 클래스를 작성하던지 아니면 해당 구문을 제거하고 컴파일 할 것
결과
|
10,000 rows |
65,536 rows |
||
elapsed(sec) |
filesize(KB) |
elapsed(sec) |
filesize(KB) |
|
JXL |
0.28 |
942 |
1.39 |
6,113 |
POI(xls) |
0.98 |
2,043 |
27.07 |
13,371 |
POI(xlsx) |
6.68 |
276 |
257.20 |
1,775 |
* 10,000 행 테스트와 65,536 행 테스트간 처리속도시간는 처리량이 6.55배 증가한 것에 비해 JXL은 4.96배 밖에 증가 하지 않았지만, POI는 xls가 27배, xlsx가 38배나 증가했다.
* POI 는 xls 형식으로 대량의 행을 저장하기에는 속도 및 용량효율측면에서 모두 JXL에 상당히 뒤쳐지지만, xlsx 형식으로 저장시 파일 용량을 JXL로 작성된 xls의 30% 수준으로 줄일 수 있다.
'IT > Java' 카테고리의 다른 글
Reflection - 메서드 호출 성능 (0) | 2013.05.03 |
---|---|
Java 에서 엑셀 파일 읽기 : POI 와 JXL(JExcel API) (2) | 2011.12.29 |
IBATIS connection pool test (2) | 2011.09.07 |
IBATIS MaximumIdleConnections / Connection pooling logic (SimpleDataSource) (0) | 2011.09.07 |
long 과 Long 의 메모리 사용량 (1) | 2011.08.24 |