-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Reuse single row block writer #10469
Conversation
radek-kondziolka
commented
Jan 5, 2022
•
edited
Loading
edited
- Add benchmark BenchmarkRowBlockBuilder to bench RowBlockBuilder.beginBlockEntry()
- Reuse SingleRowBlockWriter instance instead of creating it every time
5a3bf07
to
e4df8c8
Compare
core/trino-spi/src/main/java/io/trino/spi/block/RowBlockBuilder.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/RowBlockBuilder.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/AbstractSingleRowBlock.java
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Show resolved
Hide resolved
5c8a8d3
to
65c227b
Compare
core/trino-spi/src/main/java/io/trino/spi/block/AbstractSingleRowBlock.java
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/RowBlockBuilder.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlock.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Outdated
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/TestSingleRowBlockWriter.java
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/TestSingleRowBlockWriter.java
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Show resolved
Hide resolved
make it non-draft |
1ef1402
to
ee1afc8
Compare
core/trino-main/src/test/java/io/trino/block/TestSingleRowBlockWriter.java
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/AbstractSingleRowBlock.java
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/RowBlockBuilder.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
public class BenchmarkRowBlockBuilder | ||
{ | ||
@Benchmark | ||
@CompilerControl(CompilerControl.Mode.DONT_INLINE) |
There was a problem hiding this comment.
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.
2cb9e32
to
a1cf051
Compare
a1cf051
to
a498b4c
Compare
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Outdated
Show resolved
Hide resolved
core/trino-spi/src/main/java/io/trino/spi/block/SingleRowBlockWriter.java
Show resolved
Hide resolved
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Show resolved
Hide resolved
a498b4c
to
09ffceb
Compare
4d5fdc8
to
ed32524
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm % comments
core/trino-main/src/test/java/io/trino/block/BenchmarkRowBlockBuilder.java
Show resolved
Hide resolved
public class BenchmarkRowBlockBuilder | ||
{ | ||
@Benchmark | ||
@CompilerControl(CompilerControl.Mode.DONT_INLINE) |
There was a problem hiding this comment.
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
1751087
to
1e31594
Compare
eafc3d4
to
662f2f8
Compare
There was a problem hiding this 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; |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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
ac9a970
to
e2855ba
Compare
e2855ba
to
583bc3a
Compare