simple test
FieldParser 없이 row 파싱 테스트
celper v1 = 2.006
celper v2 = 2.038
celper v3 = 0.540
fastCSV = 1.378
celper v3의 변경점
1.
InternalBuffer를 이중 버퍼 사용 제거, 단일 버퍼와 데이터 재배치 전략
2.
상태 패턴 적용
문제점 또는 문제 소지 예측
1.
메모리 할당량이 높다.
2.
survivor 영역 이동이 높다. 일반적으로 1 ~2% 사이가 적절하다고 판단됨. 하지만 2.4 ~ 4% 사이로 예측됨.
a.
Full GC가 높아질 것으로 예상할 수 있음
3.
FiledParser 추가 이후에 성능이 1/s +- 0.3 내로 가능할지 의문
Benchmark Mode Cnt Score Error Units
CelperComparerJMH.celperCsvReader avgt 10 2.006 ± 0.403 s/op
CelperComparerJMH.celperCsvReader:·gc.alloc.rate avgt 10 314.378 ± 57.250 MB/sec
CelperComparerJMH.celperCsvReader:·gc.alloc.rate.norm avgt 10 682284716.320 ± 11.958 B/op
CelperComparerJMH.celperCsvReader:·gc.churn.G1_Eden_Space avgt 10 308.698 ± 57.945 MB/sec
CelperComparerJMH.celperCsvReader:·gc.churn.G1_Eden_Space.norm avgt 10 669634614.613 ± 15114177.494 B/op
CelperComparerJMH.celperCsvReader:·gc.churn.G1_Survivor_Space avgt 10 1.898 ± 1.833 MB/sec
CelperComparerJMH.celperCsvReader:·gc.churn.G1_Survivor_Space.norm avgt 10 4099932.160 ± 3966260.006 B/op
CelperComparerJMH.celperCsvReader:·gc.count avgt 10 142.000 counts
CelperComparerJMH.celperCsvReader:·gc.time avgt 10 23671.000 ms
CelperComparerJMH.celperCsvReader2 avgt 10 2.038 ± 0.071 s/op
CelperComparerJMH.celperCsvReader2:·gc.alloc.rate avgt 10 301.216 ± 11.600 MB/sec
CelperComparerJMH.celperCsvReader2:·gc.alloc.rate.norm avgt 10 674284880.160 ± 10.464 B/op
CelperComparerJMH.celperCsvReader2:·gc.churn.G1_Eden_Space avgt 10 296.098 ± 12.481 MB/sec
CelperComparerJMH.celperCsvReader2:·gc.churn.G1_Eden_Space.norm avgt 10 662871299.413 ± 17069384.483 B/op
CelperComparerJMH.celperCsvReader2:·gc.churn.G1_Survivor_Space avgt 10 0.827 ± 1.008 MB/sec
CelperComparerJMH.celperCsvReader2:·gc.churn.G1_Survivor_Space.norm avgt 10 1824522.240 ± 2102219.651 B/op
CelperComparerJMH.celperCsvReader2:·gc.count avgt 10 130.000 counts
CelperComparerJMH.celperCsvReader2:·gc.time avgt 10 22598.000 ms
CelperComparerJMH.celperCsvReader3 avgt 10 0.540 ± 0.084 s/op
CelperComparerJMH.celperCsvReader3:·gc.alloc.rate avgt 10 794.239 ± 109.229 MB/sec
CelperComparerJMH.celperCsvReader3:·gc.alloc.rate.norm avgt 10 467891157.700 ± 3.180 B/op
CelperComparerJMH.celperCsvReader3:·gc.churn.G1_Eden_Space avgt 10 773.166 ± 108.278 MB/sec
CelperComparerJMH.celperCsvReader3:·gc.churn.G1_Eden_Space.norm avgt 10 455479273.416 ± 13307660.151 B/op
CelperComparerJMH.celperCsvReader3:·gc.churn.G1_Survivor_Space avgt 10 17.878 ± 4.191 MB/sec
CelperComparerJMH.celperCsvReader3:·gc.churn.G1_Survivor_Space.norm avgt 10 10639889.503 ± 3116687.355 B/op
CelperComparerJMH.celperCsvReader3:·gc.count avgt 10 171.000 counts
CelperComparerJMH.celperCsvReader3:·gc.time avgt 10 25158.000 ms
CelperComparerJMH.fastCsvReader avgt 10 1.378 ± 0.066 s/op
CelperComparerJMH.fastCsvReader:·gc.alloc.rate avgt 10 620.242 ± 29.383 MB/sec
CelperComparerJMH.fastCsvReader:·gc.alloc.rate.norm avgt 10 937021060.529 ± 3.959 B/op
CelperComparerJMH.fastCsvReader:·gc.churn.G1_Eden_Space avgt 10 612.675 ± 21.227 MB/sec
CelperComparerJMH.fastCsvReader:·gc.churn.G1_Eden_Space.norm avgt 10 925894480.457 ± 22797496.777 B/op
CelperComparerJMH.fastCsvReader:·gc.churn.G1_Survivor_Space avgt 10 3.620 ± 3.093 MB/sec
CelperComparerJMH.fastCsvReader:·gc.churn.G1_Survivor_Space.norm avgt 10 5454467.657 ± 4622147.519 B/op
CelperComparerJMH.fastCsvReader:·gc.count avgt 10 206.000 counts
CelperComparerJMH.fastCsvReader:·gc.time avgt 10 34161.000 ms
Java
복사