[ https://issues.apache.org/jira/browse/HBASE-27788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17712226#comment-17712226 ]
Zheng Wang edited comment on HBASE-27788 at 4/22/23 3:34 AM: ------------------------------------------------------------- Test Env: linux5.4, jdk8, jmh1.36, 8c16g Test Cmd: java -jar benchmarks.jar -i 5 -r 10 -wi 5 -w 10 -o result.out Test Mode: throughput, the more the better |Benchmark|(p1)|(p2)|Mode|Cnt|Score|Error|Units|Diff| |BenchmarkForInnerStore.new_compareBBKV| | |thrpt|5|28025769|± 85837.894|ops/s|1.00%| |BenchmarkForInnerStore.new_compareBBKV| |fam1|thrpt|5|45988795|± 743418.588|ops/s|14.00%| |BenchmarkForInnerStore.new_compareBBKV|fam1| |thrpt|5|46169746|± 313848.117|ops/s|15.00%| |BenchmarkForInnerStore.new_compareBBKV|fam1|fam1|thrpt|5|28340570|± 110743.597|ops/s|19.00%| |BenchmarkForInnerStore.new_compareKV| | |thrpt|5|28555080|± 137117.752|ops/s|1.00%| |BenchmarkForInnerStore.new_compareKV| |fam1|thrpt|5|48428310|± 457635.029|ops/s|12.00%| |BenchmarkForInnerStore.new_compareKV|fam1| |thrpt|5|48493949|± 251767.842|ops/s|12.00%| |BenchmarkForInnerStore.new_compareKV|fam1|fam1|thrpt|5|28550667|± 115741.387|ops/s|27.00%| |BenchmarkForInnerStore.new_compareKVVsBBKV| | |thrpt|5|29217290|± 101649.947|ops/s|6.00%| |BenchmarkForInnerStore.new_compareKVVsBBKV| |fam1|thrpt|5|46949029|± 215794.996|ops/s|7.00%| |BenchmarkForInnerStore.new_compareKVVsBBKV|fam1| |thrpt|5|46946670|± 146710.467|ops/s|7.00%| |BenchmarkForInnerStore.new_compareKVVsBBKV|fam1|fam1|thrpt|5|29148782|± 206963.662|ops/s|20.00%| |BenchmarkForInnerStore.old_compareBBKV| | |thrpt|5|27675873|± 276983.891|ops/s| | |BenchmarkForInnerStore.old_compareBBKV| |fam1|thrpt|5|40225985|± 333777.174|ops/s| | |BenchmarkForInnerStore.old_compareBBKV|fam1| |thrpt|5|40187512|± 242635.903|ops/s| | |BenchmarkForInnerStore.old_compareBBKV|fam1|fam1|thrpt|5|23719010|± 78500.923|ops/s| | |BenchmarkForInnerStore.old_compareKV| | |thrpt|5|28263508|± 80403.361|ops/s| | |BenchmarkForInnerStore.old_compareKV| |fam1|thrpt|5|43253529|± 227223.861|ops/s| | |BenchmarkForInnerStore.old_compareKV|fam1| |thrpt|5|43251637|± 370669.972|ops/s| | |BenchmarkForInnerStore.old_compareKV|fam1|fam1|thrpt|5|22556530|± 131922.278|ops/s| | |BenchmarkForInnerStore.old_compareKVVsBBKV| | |thrpt|5|27607601|± 181466.155|ops/s| | |BenchmarkForInnerStore.old_compareKVVsBBKV| |fam1|thrpt|5|43838946|± 147828.804|ops/s| | |BenchmarkForInnerStore.old_compareKVVsBBKV|fam1| |thrpt|5|43853799|± 159898.926|ops/s| | |BenchmarkForInnerStore.old_compareKVVsBBKV|fam1|fam1|thrpt|5|24349838|± 233577.807|ops/s| | |BenchmarkForNormal.new_compareBBKV|fam|fam|thrpt|5|24232184|± 119228.533|ops/s|-1.00%| |BenchmarkForNormal.new_compareBBKV|fam|fam1|thrpt|5|35397671|± 87148.764|ops/s|-3.00%| |BenchmarkForNormal.new_compareBBKV|fam1|fam|thrpt|5|34853758|± 181728.193|ops/s|-4.00%| |BenchmarkForNormal.new_compareBBKV|fam1|fam1|thrpt|5|23348288|± 210662.654|ops/s|-2.00%| |BenchmarkForNormal.new_compareKV|fam|fam|thrpt|5|23545532|± 300722.638|ops/s|0.00%| |BenchmarkForNormal.new_compareKV|fam|fam1|thrpt|5|36379792|± 103787.745|ops/s|0.00%| |BenchmarkForNormal.new_compareKV|fam1|fam|thrpt|5|36389642|± 215220.231|ops/s|0.00%| |BenchmarkForNormal.new_compareKV|fam1|fam1|thrpt|5|22781448|± 334278.380|ops/s|1.00%| |BenchmarkForNormal.new_compareKVVsBBKV|fam|fam|thrpt|5|24419066|± 178926.313|ops/s|-3.00%| |BenchmarkForNormal.new_compareKVVsBBKV|fam|fam1|thrpt|5|39477917|± 116925.262|ops/s|0.00%| |BenchmarkForNormal.new_compareKVVsBBKV|fam1|fam|thrpt|5|39381461|± 196771.635|ops/s|0.00%| |BenchmarkForNormal.new_compareKVVsBBKV|fam1|fam1|thrpt|5|23624400|± 402220.882|ops/s|-3.00%| |BenchmarkForNormal.old_compareBBKV|fam|fam|thrpt|5|24485218|± 95396.313|ops/s| | |BenchmarkForNormal.old_compareBBKV|fam|fam1|thrpt|5|36419133|± 159715.504|ops/s| | |BenchmarkForNormal.old_compareBBKV|fam1|fam|thrpt|5|36422202|± 86247.635|ops/s| | |BenchmarkForNormal.old_compareBBKV|fam1|fam1|thrpt|5|23734773|± 210072.328|ops/s| | |BenchmarkForNormal.old_compareKV|fam|fam|thrpt|5|23534333|± 57022.884|ops/s| | |BenchmarkForNormal.old_compareKV|fam|fam1|thrpt|5|36247387|± 95109.893|ops/s| | |BenchmarkForNormal.old_compareKV|fam1|fam|thrpt|5|36260304|± 63266.840|ops/s| | |BenchmarkForNormal.old_compareKV|fam1|fam1|thrpt|5|22582939|± 50450.874|ops/s| | |BenchmarkForNormal.old_compareKVVsBBKV|fam|fam|thrpt|5|25144704|± 291029.655|ops/s| | |BenchmarkForNormal.old_compareKVVsBBKV|fam|fam1|thrpt|5|39326233|± 218927.739|ops/s| | |BenchmarkForNormal.old_compareKVVsBBKV|fam1|fam|thrpt|5|39297932|± 487026.618|ops/s| | |BenchmarkForNormal.old_compareKVVsBBKV|fam1|fam1|thrpt|5|24395274|± 149132.118|ops/s| | was (Author: filtertip): Perf test report, copied from PR.(see PerfTestCellComparator.java, set compareCnt as 1 billion) |compareMethod|leftFamLen|rightFamLen|comparator|cost(ms)|diff| |compareKV|0|0|CellComparatorImpl|28850| | |compareKV|0|0|InnerStoreCellComparator|27478|-5.00%| |compareKV|0|4|CellComparatorImpl|19041| | |compareKV|0|4|InnerStoreCellComparator|17391|-9.00%| |compareKV|4|0|CellComparatorImpl|18988| | |compareKV|4|0|InnerStoreCellComparator|17375|-8.00%| |compareKV|4|4|CellComparatorImpl|33360| | |compareKV|4|4|InnerStoreCellComparator|27083|-19.00%| |compareBBKV|0|0|CellComparatorImpl|34014| | |compareBBKV|0|0|InnerStoreCellComparator|31660|-7.00%| |compareBBKV|0|4|CellComparatorImpl|20780| | |compareBBKV|0|4|InnerStoreCellComparator|20847|0.00%| |compareBBKV|4|0|CellComparatorImpl|23540| | |compareBBKV|4|0|InnerStoreCellComparator|21751|-8.00%| |compareBBKV|4|4|CellComparatorImpl|40192| | |compareBBKV|4|4|InnerStoreCellComparator|31522|-22.00%| |compareKVVsBBKV|0|0|CellComparatorImpl|30979| | |compareKVVsBBKV|0|0|InnerStoreCellComparator|29827|-4.00%| |compareKVVsBBKV|0|4|CellComparatorImpl|21918| | |compareKVVsBBKV|0|4|InnerStoreCellComparator|19143|-13.00%| |compareKVVsBBKV|4|0|CellComparatorImpl|22605| | |compareKVVsBBKV|4|0|InnerStoreCellComparator|20952|-7.00%| |compareKVVsBBKV|4|4|CellComparatorImpl|35561| | |compareKVVsBBKV|4|4|InnerStoreCellComparator|29150|-18.00%| > Skip family comparing when compare cells inner the store > -------------------------------------------------------- > > Key: HBASE-27788 > URL: https://issues.apache.org/jira/browse/HBASE-27788 > Project: HBase > Issue Type: Improvement > Components: Performance > Reporter: Zheng Wang > Assignee: Zheng Wang > Priority: Major > > Currently we use CellComparatorImpl to compare cells, it compare row first, > then family, then qulifier and so on. > If the comparing inner the store, the families are always equal(unless the > familyLength is zero for special purpose), so this step could be skipped for > better performance. -- This message was sent by Atlassian Jira (v8.20.10#820010)