Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reuse single row block writer #10469

Merged

Conversation

radek-kondziolka
Copy link
Contributor

@radek-kondziolka radek-kondziolka commented Jan 5, 2022

  • Add benchmark BenchmarkRowBlockBuilder to bench RowBlockBuilder.beginBlockEntry()
  • Reuse SingleRowBlockWriter instance instead of creating it every time
         Benchmark                                                                           (rows)  (typesLength)  Mode  Cnt       Score       Error   Units
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              2  avgt    5       0.605 ±     0.066   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              2  avgt    5       0.508 ±     0.067   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              2  avgt    5    1912.558 ±    65.766  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              2  avgt    5    1311.819 ±     0.979  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              2  avgt    5    1273.917 ±    95.104    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              2  avgt    5     734.502 ±    97.158    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              2  avgt    5     612.496 ±    61.736  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              2  avgt    5       5.711 ±     0.004  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              2  avgt    5     408.120 ±    67.460    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              2  avgt    5       3.198 ±     0.423    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              2  avgt    5    1320.322 ±     0.742  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              2  avgt    5    1320.375 ±     0.986  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              2  avgt    5     879.617 ±    95.724    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              2  avgt    5     739.293 ±    97.792    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              2  avgt    5       0.381 ±     0.001  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              2  avgt    5       0.381 ±     0.001  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              2  avgt    5       0.254 ±     0.028    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              2  avgt    5       0.213 ±     0.028    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              2  avgt    5      40.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              2  avgt    5      40.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              2  avgt    5      67.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              2  avgt    5      53.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              4  avgt    5       1.137 ±     0.194   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              4  avgt    5       0.965 ±     0.247   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              4  avgt    5    1446.003 ±   745.039  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              4  avgt    5    1557.988 ±     9.044  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              4  avgt    5    1809.210 ±   963.746    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              4  avgt    5    1655.344 ±   412.794    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              4  avgt    5     327.684 ±   274.993  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              4  avgt    5       9.588 ±     0.673  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              4  avgt    5     410.905 ±   365.540    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              4  avgt    5      10.185 ±     2.395    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              4  avgt    5    1141.099 ±   474.297  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              4  avgt    5    1571.807 ±     9.125  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              4  avgt    5    1427.140 ±   594.993    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              4  avgt    5    1670.026 ±   416.455    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              4  avgt    5       0.753 ±     0.073  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              4  avgt    5       0.761 ±     0.004  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              4  avgt    5       0.942 ±     0.185    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              4  avgt    5       0.809 ±     0.202    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              4  avgt    5      45.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              4  avgt    5      65.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              4  avgt    5      63.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              4  avgt    5      80.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              8  avgt    5       2.262 ±     0.389   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              8  avgt    5       1.747 ±     0.037   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              8  avgt    5    1462.316 ±    28.010  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              8  avgt    5    1301.432 ±     1.075  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              8  avgt    5    3641.248 ±   555.241    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              8  avgt    5    2503.436 ±    52.911    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              8  avgt    5     172.422 ±    24.232  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              8  avgt    5      17.592 ±     0.655  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              8  avgt    5     429.066 ±    58.763    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              8  avgt    5      33.841 ±     1.794    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              8  avgt    5     881.525 ±     1.012  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              8  avgt    5     881.129 ±     0.729  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              8  avgt    5    2195.422 ±   376.088    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              8  avgt    5    1694.941 ±    35.824    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              8  avgt    5       1.523 ±     0.002  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              8  avgt    5       1.523 ±     0.001  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              8  avgt    5       3.793 ±     0.650    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              8  avgt    5       2.930 ±     0.062    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              8  avgt    5     110.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              8  avgt    5     115.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              8  avgt    5     114.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              8  avgt    5     114.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              2  avgt    5       5.616 ±     0.270   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              2  avgt    5       5.019 ±     0.053   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              2  avgt    5    2009.009 ±    29.691  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              2  avgt    5    1361.696 ±     1.348  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              2  avgt    5   12424.520 ±   406.403    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              2  avgt    5    7530.159 ±    87.250    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              2  avgt    5     656.633 ±    46.408  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              2  avgt    5       6.165 ±     0.656  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              2  avgt    5    4060.902 ±   315.492    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              2  avgt    5      34.095 ±     3.841    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              2  avgt    5    1372.809 ±     1.067  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              2  avgt    5    1371.954 ±     1.360  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              2  avgt    5    8490.338 ±   409.582    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              2  avgt    5    7586.884 ±    87.913    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              2  avgt    5       0.381 ±     0.001  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              2  avgt    5       0.381 ±     0.001  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              2  avgt    5       2.355 ±     0.114    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              2  avgt    5       2.105 ±     0.024    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              2  avgt    5      40.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              2  avgt    5      45.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              2  avgt    5      65.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              2  avgt    5      59.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              4  avgt    5      11.773 ±     1.474   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              4  avgt    5       9.492 ±     0.442   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              4  avgt    5    1388.038 ±    38.807  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              4  avgt    5    1617.491 ±     1.035  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              4  avgt    5   17995.007 ±  1749.722    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              4  avgt    5   16916.095 ±   781.269    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              4  avgt    5     320.579 ±    56.247  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              4  avgt    5       9.966 ±     0.653  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              4  avgt    5    4158.110 ±  1011.443    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              4  avgt    5     104.242 ±    10.990    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              4  avgt    5    1094.612 ±     1.369  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              4  avgt    5    1634.544 ±     1.046  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              4  avgt    5   14193.565 ±  1774.536    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              4  avgt    5   17094.442 ±   789.529    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              4  avgt    5       0.761 ±     0.001  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              4  avgt    5       0.761 ±     0.001  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              4  avgt    5       9.874 ±     1.234    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              4  avgt    5       7.956 ±     0.367    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              4  avgt    5      65.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              4  avgt    5      65.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              4  avgt    5      88.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              4  avgt    5      83.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              8  avgt    5      24.495 ±     1.330   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              8  avgt    5      17.741 ±     0.576   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              8  avgt    5    1436.307 ±    74.508  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              8  avgt    5    1350.509 ±     3.310  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              8  avgt    5   38649.974 ±     0.001    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              8  avgt    5   26394.021 ±   833.587    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              8  avgt    5     163.985 ±     8.507  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              8  avgt    5      17.579 ±     0.646  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              8  avgt    5    4412.724 ±     0.001    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              8  avgt    5     343.561 ±    13.530    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              8  avgt    5     877.247 ±    45.507  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              8  avgt    5     920.445 ±     2.256  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              8  avgt    5   23606.071 ±     0.027    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              8  avgt    5   17988.955 ±   568.133    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              8  avgt    5       1.451 ±     0.075  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              8  avgt    5       1.522 ±     0.004  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              8  avgt    5      39.051 ±     0.001    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              8  avgt    5      29.746 ±     0.939    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              8  avgt    5     115.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              8  avgt    5     110.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              8  avgt    5     123.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              8  avgt    5     120.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              2  avgt    5      61.578 ±    10.756   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              2  avgt    5      53.094 ±     2.464   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              2  avgt    5    1791.829 ±   101.988  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              2  avgt    5    1771.344 ±    78.276  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              2  avgt    5  121437.903 ± 14186.309    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              2  avgt    5  103499.342 ±     0.930    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              2  avgt    5     581.872 ±   110.569  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              2  avgt    5       5.616 ±     0.248  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              2  avgt    5   39394.424 ±  3478.381    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              2  avgt    5     328.170 ±     0.003    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              2  avgt    5    1215.598 ±    19.786  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              2  avgt    5    1788.032 ±   100.316  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              2  avgt    5   82438.995 ± 15527.518    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              2  avgt    5  104471.803 ±  1731.930    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              2  avgt    5       0.381 ±     0.001  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              2  avgt    5       0.374 ±     0.017  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              2  avgt    5      25.822 ±     4.498    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              2  avgt    5      21.878 ±     0.001    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              2  avgt    5      40.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              2  avgt    5      40.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              2  avgt    5      61.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              2  avgt    5      63.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              4  avgt    5     115.850 ±    14.251   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              4  avgt    5      99.106 ±    37.785   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              4  avgt    5    1636.463 ±   817.986  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              4  avgt    5    1427.091 ±     1.567  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              4  avgt    5  208444.492 ± 97826.674    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              4  avgt    5  155757.808 ± 59425.176    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              4  avgt    5     319.815 ±   284.456  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              4  avgt    5       9.214 ±     0.662  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              4  avgt    5   40655.138 ± 33555.602    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              4  avgt    5    1006.981 ±   454.877    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              4  avgt    5    1342.369 ±   502.321  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              4  avgt    5    1411.688 ±   302.080  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              4  avgt    5  171155.645 ± 64834.980    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              4  avgt    5  153480.166 ± 32348.692    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              4  avgt    5       0.757 ±     0.042  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              4  avgt    5       0.685 ±     0.656  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              4  avgt    5      96.463 ±     7.566    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              4  avgt    5      75.421 ±    84.596    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              4  avgt    5      60.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              4  avgt    5      65.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              4  avgt    5      80.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              4  avgt    5      89.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              8  avgt    5     210.534 ±    18.223   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              8  avgt    5     185.474 ±     3.522   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              8  avgt    5    1363.622 ±    15.691  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              8  avgt    5    1700.597 ±    31.361  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              8  avgt    5  316166.935 ± 23975.704    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              8  avgt    5  346495.485 ±     0.001    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              8  avgt    5     186.323 ±    12.352  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              8  avgt    5      16.308 ±     0.301  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              8  avgt    5   43193.966 ±  2815.784    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              8  avgt    5    3322.718 ±     0.001    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              8  avgt    5     819.683 ±     0.831  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              8  avgt    5    1161.843 ±    21.426  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              8  avgt    5  190060.070 ± 16500.276    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              8  avgt    5  236724.815 ±     0.293    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              8  avgt    5       1.523 ±     0.002  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              8  avgt    5       1.377 ±     0.621  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              8  avgt    5     353.108 ±    30.655    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              8  avgt    5     280.585 ±   127.154    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              8  avgt    5     115.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              8  avgt    5     115.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              8  avgt    5     110.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              8  avgt    5     138.000                  ms

@cla-bot cla-bot bot added the cla-signed label Jan 5, 2022
@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch from 5a3bf07 to e4df8c8 Compare January 5, 2022 14:04
@sopel39 sopel39 changed the title Rk/reuse single row block writer Reuse single row block writer Jan 12, 2022
@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch 3 times, most recently from 5c8a8d3 to 65c227b Compare January 18, 2022 11:46
@sopel39
Copy link
Member

sopel39 commented Jan 18, 2022

make it non-draft

@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch 2 times, most recently from 1ef1402 to ee1afc8 Compare January 19, 2022 11:23
@radek-kondziolka radek-kondziolka marked this pull request as ready for review January 19, 2022 11:41
public class BenchmarkRowBlockBuilder
{
@Benchmark
@CompilerControl(CompilerControl.Mode.DONT_INLINE)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't use CompilerControl.Mode.DONT_INLINE other benchmarks, so I wanted to understand why we would need it.

Yes, but possibly it is easier for JVM to make some optimization in "isolated" and "small" environment in comparison to real environment.

How DONT_INLINE affects that? Even in large production environments, JIT will still optimize relatively small % of code (tight loops)

The first goal of this pull request was to elide the allocation

It's mean to improve performance. Reduced allocation rate is just another benefit.

@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch 2 times, most recently from 2cb9e32 to a1cf051 Compare January 20, 2022 09:53
@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch from a1cf051 to a498b4c Compare January 20, 2022 10:25
@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch from a498b4c to 09ffceb Compare January 24, 2022 14:04
@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch 2 times, most recently from 4d5fdc8 to ed32524 Compare January 25, 2022 11:24
Copy link
Member

@sopel39 sopel39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm % comments

public class BenchmarkRowBlockBuilder
{
@Benchmark
@CompilerControl(CompilerControl.Mode.DONT_INLINE)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AFAIK I know if we block the inlining of the method in our case then JVM should not be able to make escape analysis.

Maybe, but why we want to block JVM from doing escape analysis? In production we don't do that

@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch 3 times, most recently from 1751087 to 1e31594 Compare January 25, 2022 18:20
@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch 2 times, most recently from eafc3d4 to 662f2f8 Compare January 26, 2022 08:50
Copy link
Member

@sopel39 sopel39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small comment


closeEntry();
entryAdded(false);
currentEntryOpened = false;
Copy link
Member

@sopel39 sopel39 Jan 26, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can remove currentEntryOpened = true; and currentEntryOpened = false; lines. They are noops in this method

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

* Creating a new SingleRowBlockWriter instance per every
RowBlockBuilder.beginEntry() call is unnecessary. This
commit changes this behaviour to reuse exisiting instance
instead.
* Fixing AbstractTestBlock.assertRetainedSize to take into
account added singleRowBlockWriter field.
* Adding test TestSingleRowBlockWriter.
* Benchmark result (before/after):
         Benchmark                                                                           (rows)  (typesLength)  Mode  Cnt       Score       Error   Units
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              2  avgt    5       0.605 ±     0.066   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              2  avgt    5       0.508 ±     0.067   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              2  avgt    5    1912.558 ±    65.766  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              2  avgt    5    1311.819 ±     0.979  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              2  avgt    5    1273.917 ±    95.104    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              2  avgt    5     734.502 ±    97.158    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              2  avgt    5     612.496 ±    61.736  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              2  avgt    5       5.711 ±     0.004  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              2  avgt    5     408.120 ±    67.460    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              2  avgt    5       3.198 ±     0.423    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              2  avgt    5    1320.322 ±     0.742  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              2  avgt    5    1320.375 ±     0.986  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              2  avgt    5     879.617 ±    95.724    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              2  avgt    5     739.293 ±    97.792    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              2  avgt    5       0.381 ±     0.001  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              2  avgt    5       0.381 ±     0.001  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              2  avgt    5       0.254 ±     0.028    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              2  avgt    5       0.213 ±     0.028    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              2  avgt    5      40.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              2  avgt    5      40.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              2  avgt    5      67.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              2  avgt    5      53.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              4  avgt    5       1.137 ±     0.194   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              4  avgt    5       0.965 ±     0.247   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              4  avgt    5    1446.003 ±   745.039  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              4  avgt    5    1557.988 ±     9.044  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              4  avgt    5    1809.210 ±   963.746    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              4  avgt    5    1655.344 ±   412.794    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              4  avgt    5     327.684 ±   274.993  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              4  avgt    5       9.588 ±     0.673  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              4  avgt    5     410.905 ±   365.540    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              4  avgt    5      10.185 ±     2.395    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              4  avgt    5    1141.099 ±   474.297  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              4  avgt    5    1571.807 ±     9.125  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              4  avgt    5    1427.140 ±   594.993    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              4  avgt    5    1670.026 ±   416.455    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              4  avgt    5       0.753 ±     0.073  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              4  avgt    5       0.761 ±     0.004  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              4  avgt    5       0.942 ±     0.185    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              4  avgt    5       0.809 ±     0.202    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              4  avgt    5      45.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              4  avgt    5      65.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              4  avgt    5      63.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              4  avgt    5      80.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              8  avgt    5       2.262 ±     0.389   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                       10              8  avgt    5       1.747 ±     0.037   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              8  avgt    5    1462.316 ±    28.010  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                        10              8  avgt    5    1301.432 ±     1.075  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              8  avgt    5    3641.248 ±   555.241    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                   10              8  avgt    5    2503.436 ±    52.911    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              8  avgt    5     172.422 ±    24.232  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space               10              8  avgt    5      17.592 ±     0.655  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              8  avgt    5     429.066 ±    58.763    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm          10              8  avgt    5      33.841 ±     1.794    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              8  avgt    5     881.525 ±     1.012  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                  10              8  avgt    5     881.129 ±     0.729  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              8  avgt    5    2195.422 ±   376.088    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm             10              8  avgt    5    1694.941 ±    35.824    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              8  avgt    5       1.523 ±     0.002  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space           10              8  avgt    5       1.523 ±     0.001  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              8  avgt    5       3.793 ±     0.650    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm      10              8  avgt    5       2.930 ±     0.062    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              8  avgt    5     110.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                             10              8  avgt    5     115.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              8  avgt    5     114.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                              10              8  avgt    5     114.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              2  avgt    5       5.616 ±     0.270   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              2  avgt    5       5.019 ±     0.053   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              2  avgt    5    2009.009 ±    29.691  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              2  avgt    5    1361.696 ±     1.348  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              2  avgt    5   12424.520 ±   406.403    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              2  avgt    5    7530.159 ±    87.250    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              2  avgt    5     656.633 ±    46.408  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              2  avgt    5       6.165 ±     0.656  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              2  avgt    5    4060.902 ±   315.492    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              2  avgt    5      34.095 ±     3.841    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              2  avgt    5    1372.809 ±     1.067  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              2  avgt    5    1371.954 ±     1.360  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              2  avgt    5    8490.338 ±   409.582    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              2  avgt    5    7586.884 ±    87.913    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              2  avgt    5       0.381 ±     0.001  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              2  avgt    5       0.381 ±     0.001  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              2  avgt    5       2.355 ±     0.114    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              2  avgt    5       2.105 ±     0.024    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              2  avgt    5      40.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              2  avgt    5      45.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              2  avgt    5      65.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              2  avgt    5      59.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              4  avgt    5      11.773 ±     1.474   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              4  avgt    5       9.492 ±     0.442   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              4  avgt    5    1388.038 ±    38.807  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              4  avgt    5    1617.491 ±     1.035  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              4  avgt    5   17995.007 ±  1749.722    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              4  avgt    5   16916.095 ±   781.269    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              4  avgt    5     320.579 ±    56.247  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              4  avgt    5       9.966 ±     0.653  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              4  avgt    5    4158.110 ±  1011.443    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              4  avgt    5     104.242 ±    10.990    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              4  avgt    5    1094.612 ±     1.369  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              4  avgt    5    1634.544 ±     1.046  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              4  avgt    5   14193.565 ±  1774.536    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              4  avgt    5   17094.442 ±   789.529    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              4  avgt    5       0.761 ±     0.001  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              4  avgt    5       0.761 ±     0.001  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              4  avgt    5       9.874 ±     1.234    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              4  avgt    5       7.956 ±     0.367    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              4  avgt    5      65.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              4  avgt    5      65.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              4  avgt    5      88.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              4  avgt    5      83.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              8  avgt    5      24.495 ±     1.330   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                      100              8  avgt    5      17.741 ±     0.576   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              8  avgt    5    1436.307 ±    74.508  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                       100              8  avgt    5    1350.509 ±     3.310  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              8  avgt    5   38649.974 ±     0.001    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                  100              8  avgt    5   26394.021 ±   833.587    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              8  avgt    5     163.985 ±     8.507  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space              100              8  avgt    5      17.579 ±     0.646  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              8  avgt    5    4412.724 ±     0.001    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm         100              8  avgt    5     343.561 ±    13.530    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              8  avgt    5     877.247 ±    45.507  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                 100              8  avgt    5     920.445 ±     2.256  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              8  avgt    5   23606.071 ±     0.027    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm            100              8  avgt    5   17988.955 ±   568.133    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              8  avgt    5       1.451 ±     0.075  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space          100              8  avgt    5       1.522 ±     0.004  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              8  avgt    5      39.051 ±     0.001    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm     100              8  avgt    5      29.746 ±     0.939    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              8  avgt    5     115.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                            100              8  avgt    5     110.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              8  avgt    5     123.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                             100              8  avgt    5     120.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              2  avgt    5      61.578 ±    10.756   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              2  avgt    5      53.094 ±     2.464   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              2  avgt    5    1791.829 ±   101.988  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              2  avgt    5    1771.344 ±    78.276  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              2  avgt    5  121437.903 ± 14186.309    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              2  avgt    5  103499.342 ±     0.930    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              2  avgt    5     581.872 ±   110.569  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              2  avgt    5       5.616 ±     0.248  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              2  avgt    5   39394.424 ±  3478.381    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              2  avgt    5     328.170 ±     0.003    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              2  avgt    5    1215.598 ±    19.786  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              2  avgt    5    1788.032 ±   100.316  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              2  avgt    5   82438.995 ± 15527.518    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              2  avgt    5  104471.803 ±  1731.930    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              2  avgt    5       0.381 ±     0.001  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              2  avgt    5       0.374 ±     0.017  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              2  avgt    5      25.822 ±     4.498    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              2  avgt    5      21.878 ±     0.001    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              2  avgt    5      40.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              2  avgt    5      40.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              2  avgt    5      61.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              2  avgt    5      63.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              4  avgt    5     115.850 ±    14.251   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              4  avgt    5      99.106 ±    37.785   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              4  avgt    5    1636.463 ±   817.986  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              4  avgt    5    1427.091 ±     1.567  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              4  avgt    5  208444.492 ± 97826.674    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              4  avgt    5  155757.808 ± 59425.176    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              4  avgt    5     319.815 ±   284.456  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              4  avgt    5       9.214 ±     0.662  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              4  avgt    5   40655.138 ± 33555.602    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              4  avgt    5    1006.981 ±   454.877    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              4  avgt    5    1342.369 ±   502.321  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              4  avgt    5    1411.688 ±   302.080  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              4  avgt    5  171155.645 ± 64834.980    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              4  avgt    5  153480.166 ± 32348.692    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              4  avgt    5       0.757 ±     0.042  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              4  avgt    5       0.685 ±     0.656  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              4  avgt    5      96.463 ±     7.566    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              4  avgt    5      75.421 ±    84.596    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              4  avgt    5      60.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              4  avgt    5      65.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              4  avgt    5      80.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              4  avgt    5      89.000                  ms
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              8  avgt    5     210.534 ±    18.223   us/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry                                     1000              8  avgt    5     185.474 ±     3.522   us/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              8  avgt    5    1363.622 ±    15.691  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate                      1000              8  avgt    5    1700.597 ±    31.361  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              8  avgt    5  316166.935 ± 23975.704    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.alloc.rate.norm                 1000              8  avgt    5  346495.485 ±     0.001    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              8  avgt    5     186.323 ±    12.352  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space             1000              8  avgt    5      16.308 ±     0.301  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              8  avgt    5   43193.966 ±  2815.784    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Eden_Space.norm        1000              8  avgt    5    3322.718 ±     0.001    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              8  avgt    5     819.683 ±     0.831  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen                1000              8  avgt    5    1161.843 ±    21.426  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              8  avgt    5  190060.070 ± 16500.276    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Old_Gen.norm           1000              8  avgt    5  236724.815 ±     0.293    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              8  avgt    5       1.523 ±     0.002  MB/sec
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space         1000              8  avgt    5       1.377 ±     0.621  MB/sec
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              8  avgt    5     353.108 ±    30.655    B/op
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.churn.G1_Survivor_Space.norm    1000              8  avgt    5     280.585 ±   127.154    B/op
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              8  avgt    5     115.000              counts
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.count                           1000              8  avgt    5     115.000              counts
(before) BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              8  avgt    5     110.000                  ms
(after)  BenchmarkRowBlockBuilder.benchmarkBeginBlockEntry:·gc.time                            1000              8  avgt    5     138.000                  ms
@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch 2 times, most recently from ac9a970 to e2855ba Compare January 26, 2022 11:46
@radek-kondziolka radek-kondziolka force-pushed the rk/reuse_SingleRowBlockWriter branch from e2855ba to 583bc3a Compare January 26, 2022 12:42
@sopel39 sopel39 merged commit 7f65a60 into trinodb:master Jan 26, 2022
@sopel39 sopel39 mentioned this pull request Jan 26, 2022
@github-actions github-actions bot added this to the 370 milestone Jan 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

2 participants