Skip to content

Instantly share code, notes, and snippets.

@wololock
Created October 2, 2018 17:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wololock/c4039cc75a359660b11f89bc8abd6629 to your computer and use it in GitHub Desktop.
Save wololock/c4039cc75a359660b11f89bc8abd6629 to your computer and use it in GitHub Desktop.
Dynamic Groovy collection iteration benchmark (JMH)
19:09:10: Executing task 'jmh'...
:compileJava NO-SOURCE
:compileGroovy NO-SOURCE
:processResources NO-SOURCE
:classes UP-TO-DATE
:compileTestJava NO-SOURCE
:compileTestGroovy NO-SOURCE
:processTestResources NO-SOURCE
:testClasses UP-TO-DATE
:compileJmhJava NO-SOURCE
:compileJmhGroovy
:processJmhResources NO-SOURCE
:jmhClasses
:jmhRunBytecodeGenerator
Processing 0 classes from /home/wololock/workspace/groovy-jmh/build/classes/java/jmh with "reflection" generator
Processing 4 classes from /home/wololock/workspace/groovy-jmh/build/classes/groovy/jmh with "reflection" generator
Writing out Java source to /home/wololock/workspace/groovy-jmh/build/jmh-generated-sources and resources to /home/wololock/workspace/groovy-jmh/build/jmh-generated-resources
:jmhCompileGeneratedClasses
:jmhJar
:jmh
# JMH version: 1.21
# VM version: JDK 1.8.0_162, Java HotSpot(TM) 64-Bit Server VM, 25.162-b12
# VM invoker: /usr/java/jdk1.8.0_162/jre/bin/java
# VM options: <none>
# Warmup: 1 iterations, 60 s each
# Measurement: 120 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: bench.GroovyBench.eachTest
# Run progress: 0,00% complete, ETA 00:18:00
# Fork: 1 of 1
# Warmup Iteration 1: 661,207 ms/op
Iteration 1: 659,796 ms/op
Iteration 2: 649,222 ms/op
Iteration 3: 645,143 ms/op
Iteration 4: 648,595 ms/op
Iteration 5: 651,013 ms/op
Iteration 6: 652,270 ms/op
Iteration 7: 655,696 ms/op
Iteration 8: 656,768 ms/op
Iteration 9: 644,365 ms/op
Iteration 10: 649,024 ms/op
Iteration 11: 653,052 ms/op
Iteration 12: 672,349 ms/op
Iteration 13: 658,521 ms/op
Iteration 14: 645,368 ms/op
Iteration 15: 652,618 ms/op
Iteration 16: 650,238 ms/op
Iteration 17: 662,137 ms/op
Iteration 18: 649,554 ms/op
Iteration 19: 650,686 ms/op
Iteration 20: 652,074 ms/op
Iteration 21: 648,208 ms/op
Iteration 22: 641,750 ms/op
Iteration 23: 655,025 ms/op
Iteration 24: 649,627 ms/op
Iteration 25: 646,773 ms/op
Iteration 26: 653,191 ms/op
Iteration 27: 653,092 ms/op
Iteration 28: 646,607 ms/op
Iteration 29: 662,728 ms/op
Iteration 30: 651,212 ms/op
Iteration 31: 649,312 ms/op
Iteration 32: 648,468 ms/op
Iteration 33: 667,896 ms/op
Iteration 34: 652,228 ms/op
Iteration 35: 652,950 ms/op
Iteration 36: 648,220 ms/op
Iteration 37: 653,778 ms/op
Iteration 38: 647,535 ms/op
Iteration 39: 658,112 ms/op
Iteration 40: 661,645 ms/op
Iteration 41: 641,880 ms/op
Iteration 42: 649,575 ms/op
Iteration 43: 663,309 ms/op
Iteration 44: 651,782 ms/op
Iteration 45: 650,342 ms/op
Iteration 46: 649,505 ms/op
Iteration 47: 668,890 ms/op
Iteration 48: 647,112 ms/op
Iteration 49: 649,552 ms/op
Iteration 50: 656,717 ms/op
Iteration 51: 648,376 ms/op
Iteration 52: 651,440 ms/op
Iteration 53: 652,833 ms/op
Iteration 54: 645,735 ms/op
Iteration 55: 652,613 ms/op
Iteration 56: 668,082 ms/op
Iteration 57: 642,936 ms/op
Iteration 58: 643,311 ms/op
Iteration 59: 649,510 ms/op
Iteration 60: 648,303 ms/op
Iteration 61: 655,062 ms/op
Iteration 62: 655,476 ms/op
Iteration 63: 654,611 ms/op
Iteration 64: 660,505 ms/op
Iteration 65: 653,931 ms/op
Iteration 66: 651,008 ms/op
Iteration 67: 675,262 ms/op
Iteration 68: 660,896 ms/op
Iteration 69: 658,841 ms/op
Iteration 70: 646,812 ms/op
Iteration 71: 652,615 ms/op
Iteration 72: 657,822 ms/op
Iteration 73: 653,046 ms/op
Iteration 74: 650,361 ms/op
Iteration 75: 654,471 ms/op
Iteration 76: 652,073 ms/op
Iteration 77: 650,968 ms/op
Iteration 78: 649,558 ms/op
Iteration 79: 655,466 ms/op
Iteration 80: 657,391 ms/op
Iteration 81: 649,542 ms/op
Iteration 82: 658,371 ms/op
Iteration 83: 661,328 ms/op
Iteration 84: 654,234 ms/op
Iteration 85: 655,504 ms/op
Iteration 86: 658,620 ms/op
Iteration 87: 646,953 ms/op
Iteration 88: 650,194 ms/op
Iteration 89: 667,008 ms/op
Iteration 90: 640,881 ms/op
Iteration 91: 660,860 ms/op
Iteration 92: 652,280 ms/op
Iteration 93: 654,234 ms/op
Iteration 94: 670,075 ms/op
Iteration 95: 642,948 ms/op
Iteration 96: 651,272 ms/op
Iteration 97: 645,727 ms/op
Iteration 98: 646,424 ms/op
Iteration 99: 665,803 ms/op
Iteration 100: 646,079 ms/op
Iteration 101: 656,643 ms/op
Iteration 102: 649,745 ms/op
Iteration 103: 646,504 ms/op
Iteration 104: 645,083 ms/op
Iteration 105: 654,135 ms/op
Iteration 106: 655,005 ms/op
Iteration 107: 649,535 ms/op
Iteration 108: 657,928 ms/op
Iteration 109: 648,521 ms/op
Iteration 110: 645,157 ms/op
Iteration 111: 646,393 ms/op
Iteration 112: 648,264 ms/op
Iteration 113: 647,681 ms/op
Iteration 114: 649,154 ms/op
Iteration 115: 649,406 ms/op
Iteration 116: 647,728 ms/op
Iteration 117: 640,937 ms/op
Iteration 118: 651,247 ms/op
Iteration 119: 647,303 ms/op
Iteration 120: 650,594 ms/op
Result "bench.GroovyBench.eachTest":
652,584 ±(99.9%) 2,064 ms/op [Average]
(min, avg, max) = (640,881, 652,584, 675,262), stdev = 6,701
CI (99.9%): [650,520, 654,649] (assumes normal distribution)
# JMH version: 1.21
# VM version: JDK 1.8.0_162, Java HotSpot(TM) 64-Bit Server VM, 25.162-b12
# VM invoker: /usr/java/jdk1.8.0_162/jre/bin/java
# VM options: <none>
# Warmup: 1 iterations, 60 s each
# Measurement: 120 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: bench.GroovyBench.forEachTest
# Run progress: 16,67% complete, ETA 00:18:13
# Fork: 1 of 1
# Warmup Iteration 1: 220,200 ms/op
Iteration 1: 219,814 ms/op
Iteration 2: 217,507 ms/op
Iteration 3: 217,482 ms/op
Iteration 4: 218,604 ms/op
Iteration 5: 215,935 ms/op
Iteration 6: 216,577 ms/op
Iteration 7: 219,471 ms/op
Iteration 8: 218,504 ms/op
Iteration 9: 219,969 ms/op
Iteration 10: 217,818 ms/op
Iteration 11: 245,383 ms/op
Iteration 12: 250,068 ms/op
Iteration 13: 242,106 ms/op
Iteration 14: 240,282 ms/op
Iteration 15: 231,372 ms/op
Iteration 16: 221,966 ms/op
Iteration 17: 221,650 ms/op
Iteration 18: 227,651 ms/op
Iteration 19: 222,973 ms/op
Iteration 20: 220,168 ms/op
Iteration 21: 219,354 ms/op
Iteration 22: 220,596 ms/op
Iteration 23: 219,659 ms/op
Iteration 24: 221,392 ms/op
Iteration 25: 221,618 ms/op
Iteration 26: 216,919 ms/op
Iteration 27: 219,115 ms/op
Iteration 28: 221,012 ms/op
Iteration 29: 222,933 ms/op
Iteration 30: 226,226 ms/op
Iteration 31: 219,405 ms/op
Iteration 32: 219,010 ms/op
Iteration 33: 221,013 ms/op
Iteration 34: 232,499 ms/op
Iteration 35: 224,292 ms/op
Iteration 36: 219,127 ms/op
Iteration 37: 229,055 ms/op
Iteration 38: 223,981 ms/op
Iteration 39: 222,567 ms/op
Iteration 40: 222,134 ms/op
Iteration 41: 220,088 ms/op
Iteration 42: 219,245 ms/op
Iteration 43: 219,654 ms/op
Iteration 44: 221,208 ms/op
Iteration 45: 218,524 ms/op
Iteration 46: 219,506 ms/op
Iteration 47: 218,718 ms/op
Iteration 48: 220,006 ms/op
Iteration 49: 219,042 ms/op
Iteration 50: 227,608 ms/op
Iteration 51: 220,081 ms/op
Iteration 52: 220,788 ms/op
Iteration 53: 219,727 ms/op
Iteration 54: 220,596 ms/op
Iteration 55: 220,477 ms/op
Iteration 56: 219,034 ms/op
Iteration 57: 219,075 ms/op
Iteration 58: 219,987 ms/op
Iteration 59: 219,103 ms/op
Iteration 60: 220,059 ms/op
Iteration 61: 221,259 ms/op
Iteration 62: 222,069 ms/op
Iteration 63: 217,240 ms/op
Iteration 64: 218,140 ms/op
Iteration 65: 220,527 ms/op
Iteration 66: 218,974 ms/op
Iteration 67: 223,984 ms/op
Iteration 68: 220,512 ms/op
Iteration 69: 218,561 ms/op
Iteration 70: 225,332 ms/op
Iteration 71: 223,053 ms/op
Iteration 72: 222,782 ms/op
Iteration 73: 218,716 ms/op
Iteration 74: 220,570 ms/op
Iteration 75: 225,601 ms/op
Iteration 76: 219,747 ms/op
Iteration 77: 218,774 ms/op
Iteration 78: 218,151 ms/op
Iteration 79: 219,187 ms/op
Iteration 80: 220,097 ms/op
Iteration 81: 217,909 ms/op
Iteration 82: 218,012 ms/op
Iteration 83: 218,750 ms/op
Iteration 84: 220,764 ms/op
Iteration 85: 222,466 ms/op
Iteration 86: 223,040 ms/op
Iteration 87: 219,750 ms/op
Iteration 88: 220,306 ms/op
Iteration 89: 221,410 ms/op
Iteration 90: 222,266 ms/op
Iteration 91: 219,213 ms/op
Iteration 92: 220,946 ms/op
Iteration 93: 219,968 ms/op
Iteration 94: 221,304 ms/op
Iteration 95: 217,905 ms/op
Iteration 96: 219,447 ms/op
Iteration 97: 220,328 ms/op
Iteration 98: 220,501 ms/op
Iteration 99: 223,047 ms/op
Iteration 100: 217,877 ms/op
Iteration 101: 219,635 ms/op
Iteration 102: 221,706 ms/op
Iteration 103: 219,944 ms/op
Iteration 104: 219,094 ms/op
Iteration 105: 224,767 ms/op
Iteration 106: 220,226 ms/op
Iteration 107: 230,482 ms/op
Iteration 108: 230,066 ms/op
Iteration 109: 218,293 ms/op
Iteration 110: 220,143 ms/op
Iteration 111: 220,596 ms/op
Iteration 112: 221,574 ms/op
Iteration 113: 218,473 ms/op
Iteration 114: 227,722 ms/op
Iteration 115: 233,375 ms/op
Iteration 116: 229,837 ms/op
Iteration 117: 217,435 ms/op
Iteration 118: 217,197 ms/op
Iteration 119: 218,401 ms/op
Iteration 120: 217,601 ms/op
Result "bench.GroovyBench.forEachTest":
221,790 ±(99.9%) 1,675 ms/op [Average]
(min, avg, max) = (215,935, 221,790, 250,068), stdev = 5,437
CI (99.9%): [220,115, 223,464] (assumes normal distribution)
# JMH version: 1.21
# VM version: JDK 1.8.0_162, Java HotSpot(TM) 64-Bit Server VM, 25.162-b12
# VM invoker: /usr/java/jdk1.8.0_162/jre/bin/java
# VM options: <none>
# Warmup: 1 iterations, 60 s each
# Measurement: 120 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: bench.GroovyBench.forLoopTest
# Run progress: 33,33% complete, ETA 00:13:47
# Fork: 1 of 1
# Warmup Iteration 1: 522,440 ms/op
Iteration 1: 516,555 ms/op
Iteration 2: 514,901 ms/op
Iteration 3: 513,474 ms/op
Iteration 4: 518,920 ms/op
Iteration 5: 517,932 ms/op
Iteration 6: 517,156 ms/op
Iteration 7: 522,376 ms/op
Iteration 8: 517,409 ms/op
Iteration 9: 536,712 ms/op
Iteration 10: 517,326 ms/op
Iteration 11: 519,449 ms/op
Iteration 12: 516,782 ms/op
Iteration 13: 523,529 ms/op
Iteration 14: 520,136 ms/op
Iteration 15: 520,294 ms/op
Iteration 16: 537,932 ms/op
Iteration 17: 534,799 ms/op
Iteration 18: 534,988 ms/op
Iteration 19: 545,488 ms/op
Iteration 20: 544,767 ms/op
Iteration 21: 535,933 ms/op
Iteration 22: 569,424 ms/op
Iteration 23: 538,074 ms/op
Iteration 24: 532,242 ms/op
Iteration 25: 530,338 ms/op
Iteration 26: 533,707 ms/op
Iteration 27: 531,371 ms/op
Iteration 28: 532,466 ms/op
Iteration 29: 538,288 ms/op
Iteration 30: 536,098 ms/op
Iteration 31: 537,673 ms/op
Iteration 32: 539,838 ms/op
Iteration 33: 535,296 ms/op
Iteration 34: 537,935 ms/op
Iteration 35: 540,751 ms/op
Iteration 36: 543,918 ms/op
Iteration 37: 541,633 ms/op
Iteration 38: 539,201 ms/op
Iteration 39: 536,225 ms/op
Iteration 40: 541,876 ms/op
Iteration 41: 540,695 ms/op
Iteration 42: 539,858 ms/op
Iteration 43: 536,841 ms/op
Iteration 44: 535,535 ms/op
Iteration 45: 536,474 ms/op
Iteration 46: 546,204 ms/op
Iteration 47: 539,302 ms/op
Iteration 48: 540,850 ms/op
Iteration 49: 538,774 ms/op
Iteration 50: 540,349 ms/op
Iteration 51: 535,554 ms/op
Iteration 52: 546,094 ms/op
Iteration 53: 537,734 ms/op
Iteration 54: 539,462 ms/op
Iteration 55: 537,589 ms/op
Iteration 56: 534,310 ms/op
Iteration 57: 541,423 ms/op
Iteration 58: 539,078 ms/op
Iteration 59: 540,250 ms/op
Iteration 60: 537,304 ms/op
Iteration 61: 542,268 ms/op
Iteration 62: 542,658 ms/op
Iteration 63: 548,797 ms/op
Iteration 64: 539,695 ms/op
Iteration 65: 535,770 ms/op
Iteration 66: 540,775 ms/op
Iteration 67: 538,717 ms/op
Iteration 68: 542,486 ms/op
Iteration 69: 530,286 ms/op
Iteration 70: 526,557 ms/op
Iteration 71: 532,195 ms/op
Iteration 72: 529,784 ms/op
Iteration 73: 534,441 ms/op
Iteration 74: 535,557 ms/op
Iteration 75: 533,694 ms/op
Iteration 76: 532,199 ms/op
Iteration 77: 537,959 ms/op
Iteration 78: 526,271 ms/op
Iteration 79: 523,796 ms/op
Iteration 80: 524,398 ms/op
Iteration 81: 526,645 ms/op
Iteration 82: 538,274 ms/op
Iteration 83: 539,322 ms/op
Iteration 84: 533,763 ms/op
Iteration 85: 530,792 ms/op
Iteration 86: 527,862 ms/op
Iteration 87: 532,879 ms/op
Iteration 88: 536,662 ms/op
Iteration 89: 531,329 ms/op
Iteration 90: 536,471 ms/op
Iteration 91: 539,967 ms/op
Iteration 92: 534,267 ms/op
Iteration 93: 532,641 ms/op
Iteration 94: 530,900 ms/op
Iteration 95: 530,431 ms/op
Iteration 96: 526,651 ms/op
Iteration 97: 530,931 ms/op
Iteration 98: 531,939 ms/op
Iteration 99: 530,110 ms/op
Iteration 100: 531,151 ms/op
Iteration 101: 528,239 ms/op
Iteration 102: 529,239 ms/op
Iteration 103: 532,633 ms/op
Iteration 104: 535,957 ms/op
Iteration 105: 528,080 ms/op
Iteration 106: 526,985 ms/op
Iteration 107: 530,788 ms/op
Iteration 108: 539,570 ms/op
Iteration 109: 528,283 ms/op
Iteration 110: 528,982 ms/op
Iteration 111: 536,956 ms/op
Iteration 112: 538,873 ms/op
Iteration 113: 526,266 ms/op
Iteration 114: 527,186 ms/op
Iteration 115: 525,825 ms/op
Iteration 116: 529,089 ms/op
Iteration 117: 538,412 ms/op
Iteration 118: 530,848 ms/op
Iteration 119: 527,485 ms/op
Iteration 120: 536,149 ms/op
Result "bench.GroovyBench.forLoopTest":
533,534 ±(99.9%) 2,521 ms/op [Average]
(min, avg, max) = (513,474, 533,534, 569,424), stdev = 8,186
CI (99.9%): [531,012, 536,055] (assumes normal distribution)
# JMH version: 1.21
# VM version: JDK 1.8.0_162, Java HotSpot(TM) 64-Bit Server VM, 25.162-b12
# VM invoker: /usr/java/jdk1.8.0_162/jre/bin/java
# VM options: <none>
# Warmup: 1 iterations, 60 s each
# Measurement: 120 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: bench.GroovyBench.iteratorTest
# Run progress: 50,00% complete, ETA 00:10:03
# Fork: 1 of 1
# Warmup Iteration 1: 374,890 ms/op
Iteration 1: 372,003 ms/op
Iteration 2: 368,803 ms/op
Iteration 3: 376,169 ms/op
Iteration 4: 364,504 ms/op
Iteration 5: 367,105 ms/op
Iteration 6: 369,675 ms/op
Iteration 7: 371,307 ms/op
Iteration 8: 373,917 ms/op
Iteration 9: 370,446 ms/op
Iteration 10: 371,785 ms/op
Iteration 11: 370,149 ms/op
Iteration 12: 373,353 ms/op
Iteration 13: 371,086 ms/op
Iteration 14: 366,886 ms/op
Iteration 15: 366,358 ms/op
Iteration 16: 366,656 ms/op
Iteration 17: 371,054 ms/op
Iteration 18: 370,564 ms/op
Iteration 19: 368,874 ms/op
Iteration 20: 366,149 ms/op
Iteration 21: 364,824 ms/op
Iteration 22: 366,088 ms/op
Iteration 23: 369,638 ms/op
Iteration 24: 366,548 ms/op
Iteration 25: 368,281 ms/op
Iteration 26: 370,570 ms/op
Iteration 27: 380,531 ms/op
Iteration 28: 364,906 ms/op
Iteration 29: 366,216 ms/op
Iteration 30: 370,688 ms/op
Iteration 31: 369,050 ms/op
Iteration 32: 370,035 ms/op
Iteration 33: 370,630 ms/op
Iteration 34: 368,535 ms/op
Iteration 35: 371,619 ms/op
Iteration 36: 373,520 ms/op
Iteration 37: 371,830 ms/op
Iteration 38: 366,540 ms/op
Iteration 39: 367,302 ms/op
Iteration 40: 370,620 ms/op
Iteration 41: 366,043 ms/op
Iteration 42: 373,305 ms/op
Iteration 43: 368,650 ms/op
Iteration 44: 371,787 ms/op
Iteration 45: 373,630 ms/op
Iteration 46: 366,895 ms/op
Iteration 47: 368,136 ms/op
Iteration 48: 371,753 ms/op
Iteration 49: 371,074 ms/op
Iteration 50: 367,242 ms/op
Iteration 51: 365,813 ms/op
Iteration 52: 367,967 ms/op
Iteration 53: 366,117 ms/op
Iteration 54: 369,521 ms/op
Iteration 55: 364,781 ms/op
Iteration 56: 376,305 ms/op
Iteration 57: 367,648 ms/op
Iteration 58: 368,560 ms/op
Iteration 59: 365,372 ms/op
Iteration 60: 374,027 ms/op
Iteration 61: 366,993 ms/op
Iteration 62: 366,365 ms/op
Iteration 63: 369,970 ms/op
Iteration 64: 371,877 ms/op
Iteration 65: 369,267 ms/op
Iteration 66: 369,577 ms/op
Iteration 67: 369,652 ms/op
Iteration 68: 372,207 ms/op
Iteration 69: 366,654 ms/op
Iteration 70: 369,575 ms/op
Iteration 71: 373,460 ms/op
Iteration 72: 368,043 ms/op
Iteration 73: 370,429 ms/op
Iteration 74: 368,389 ms/op
Iteration 75: 369,051 ms/op
Iteration 76: 367,844 ms/op
Iteration 77: 370,563 ms/op
Iteration 78: 365,311 ms/op
Iteration 79: 366,198 ms/op
Iteration 80: 367,460 ms/op
Iteration 81: 370,210 ms/op
Iteration 82: 366,625 ms/op
Iteration 83: 369,378 ms/op
Iteration 84: 369,245 ms/op
Iteration 85: 365,903 ms/op
Iteration 86: 369,174 ms/op
Iteration 87: 368,970 ms/op
Iteration 88: 371,388 ms/op
Iteration 89: 372,946 ms/op
Iteration 90: 366,333 ms/op
Iteration 91: 371,676 ms/op
Iteration 92: 369,761 ms/op
Iteration 93: 369,605 ms/op
Iteration 94: 376,406 ms/op
Iteration 95: 369,185 ms/op
Iteration 96: 366,777 ms/op
Iteration 97: 368,378 ms/op
Iteration 98: 375,944 ms/op
Iteration 99: 367,490 ms/op
Iteration 100: 366,242 ms/op
Iteration 101: 369,923 ms/op
Iteration 102: 367,557 ms/op
Iteration 103: 370,992 ms/op
Iteration 104: 371,371 ms/op
Iteration 105: 371,134 ms/op
Iteration 106: 370,284 ms/op
Iteration 107: 377,046 ms/op
Iteration 108: 378,156 ms/op
Iteration 109: 365,100 ms/op
Iteration 110: 367,223 ms/op
Iteration 111: 369,650 ms/op
Iteration 112: 368,562 ms/op
Iteration 113: 368,195 ms/op
Iteration 114: 365,035 ms/op
Iteration 115: 371,389 ms/op
Iteration 116: 372,030 ms/op
Iteration 117: 368,890 ms/op
Iteration 118: 368,972 ms/op
Iteration 119: 368,057 ms/op
Iteration 120: 369,457 ms/op
Result "bench.GroovyBench.iteratorTest":
369,492 ±(99.9%) 0,930 ms/op [Average]
(min, avg, max) = (364,504, 369,492, 380,531), stdev = 3,019
CI (99.9%): [368,562, 370,421] (assumes normal distribution)
# JMH version: 1.21
# VM version: JDK 1.8.0_162, Java HotSpot(TM) 64-Bit Server VM, 25.162-b12
# VM invoker: /usr/java/jdk1.8.0_162/jre/bin/java
# VM options: <none>
# Warmup: 1 iterations, 60 s each
# Measurement: 120 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: bench.GroovyBench.java8ForEachWithAnonymousClassTest
# Run progress: 66,67% complete, ETA 00:06:39
# Fork: 1 of 1
# Warmup Iteration 1: 248,154 ms/op
Iteration 1: 251,003 ms/op
Iteration 2: 239,940 ms/op
Iteration 3: 243,515 ms/op
Iteration 4: 251,162 ms/op
Iteration 5: 247,430 ms/op
Iteration 6: 253,033 ms/op
Iteration 7: 250,337 ms/op
Iteration 8: 255,409 ms/op
Iteration 9: 258,194 ms/op
Iteration 10: 250,804 ms/op
Iteration 11: 253,960 ms/op
Iteration 12: 254,772 ms/op
Iteration 13: 250,014 ms/op
Iteration 14: 252,284 ms/op
Iteration 15: 251,260 ms/op
Iteration 16: 240,708 ms/op
Iteration 17: 243,009 ms/op
Iteration 18: 244,090 ms/op
Iteration 19: 238,403 ms/op
Iteration 20: 240,844 ms/op
Iteration 21: 236,588 ms/op
Iteration 22: 245,049 ms/op
Iteration 23: 240,767 ms/op
Iteration 24: 248,314 ms/op
Iteration 25: 251,759 ms/op
Iteration 26: 242,523 ms/op
Iteration 27: 246,006 ms/op
Iteration 28: 249,248 ms/op
Iteration 29: 244,886 ms/op
Iteration 30: 241,692 ms/op
Iteration 31: 252,571 ms/op
Iteration 32: 242,881 ms/op
Iteration 33: 239,547 ms/op
Iteration 34: 240,086 ms/op
Iteration 35: 251,700 ms/op
Iteration 36: 244,786 ms/op
Iteration 37: 249,740 ms/op
Iteration 38: 254,220 ms/op
Iteration 39: 249,240 ms/op
Iteration 40: 253,948 ms/op
Iteration 41: 245,929 ms/op
Iteration 42: 245,452 ms/op
Iteration 43: 245,188 ms/op
Iteration 44: 240,486 ms/op
Iteration 45: 241,982 ms/op
Iteration 46: 245,075 ms/op
Iteration 47: 240,671 ms/op
Iteration 48: 246,017 ms/op
Iteration 49: 241,692 ms/op
Iteration 50: 243,903 ms/op
Iteration 51: 247,638 ms/op
Iteration 52: 252,098 ms/op
Iteration 53: 247,315 ms/op
Iteration 54: 250,168 ms/op
Iteration 55: 239,285 ms/op
Iteration 56: 246,383 ms/op
Iteration 57: 245,309 ms/op
Iteration 58: 256,715 ms/op
Iteration 59: 245,939 ms/op
Iteration 60: 250,376 ms/op
Iteration 61: 261,028 ms/op
Iteration 62: 244,667 ms/op
Iteration 63: 252,176 ms/op
Iteration 64: 246,416 ms/op
Iteration 65: 238,441 ms/op
Iteration 66: 241,292 ms/op
Iteration 67: 246,640 ms/op
Iteration 68: 241,635 ms/op
Iteration 69: 242,395 ms/op
Iteration 70: 241,640 ms/op
Iteration 71: 242,965 ms/op
Iteration 72: 241,914 ms/op
Iteration 73: 249,245 ms/op
Iteration 74: 257,066 ms/op
Iteration 75: 247,262 ms/op
Iteration 76: 241,406 ms/op
Iteration 77: 242,659 ms/op
Iteration 78: 255,228 ms/op
Iteration 79: 246,434 ms/op
Iteration 80: 243,202 ms/op
Iteration 81: 252,338 ms/op
Iteration 82: 251,634 ms/op
Iteration 83: 241,123 ms/op
Iteration 84: 249,138 ms/op
Iteration 85: 238,601 ms/op
Iteration 86: 238,738 ms/op
Iteration 87: 245,596 ms/op
Iteration 88: 262,262 ms/op
Iteration 89: 269,306 ms/op
Iteration 90: 251,447 ms/op
Iteration 91: 269,626 ms/op
Iteration 92: 266,788 ms/op
Iteration 93: 283,514 ms/op
Iteration 94: 299,446 ms/op
Iteration 95: 265,551 ms/op
Iteration 96: 265,663 ms/op
Iteration 97: 241,384 ms/op
Iteration 98: 243,541 ms/op
Iteration 99: 237,439 ms/op
Iteration 100: 242,967 ms/op
Iteration 101: 239,379 ms/op
Iteration 102: 242,690 ms/op
Iteration 103: 260,033 ms/op
Iteration 104: 260,932 ms/op
Iteration 105: 250,453 ms/op
Iteration 106: 256,199 ms/op
Iteration 107: 246,227 ms/op
Iteration 108: 237,766 ms/op
Iteration 109: 246,151 ms/op
Iteration 110: 261,521 ms/op
Iteration 111: 239,022 ms/op
Iteration 112: 241,801 ms/op
Iteration 113: 250,045 ms/op
Iteration 114: 245,269 ms/op
Iteration 115: 244,341 ms/op
Iteration 116: 246,552 ms/op
Iteration 117: 246,917 ms/op
Iteration 118: 250,525 ms/op
Iteration 119: 243,291 ms/op
Iteration 120: 242,276 ms/op
Result "bench.GroovyBench.java8ForEachWithAnonymousClassTest":
248,371 ±(99.9%) 2,803 ms/op [Average]
(min, avg, max) = (236,588, 248,371, 299,446), stdev = 9,101
CI (99.9%): [245,568, 251,174] (assumes normal distribution)
# JMH version: 1.21
# VM version: JDK 1.8.0_162, Java HotSpot(TM) 64-Bit Server VM, 25.162-b12
# VM invoker: /usr/java/jdk1.8.0_162/jre/bin/java
# VM options: <none>
# Warmup: 1 iterations, 60 s each
# Measurement: 120 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: bench.GroovyBench.java8ForEachWithClosureTest
# Run progress: 83,33% complete, ETA 00:03:20
# Fork: 1 of 1
# Warmup Iteration 1: 797,620 ms/op
Iteration 1: 781,737 ms/op
Iteration 2: 786,289 ms/op
Iteration 3: 788,184 ms/op
Iteration 4: 782,149 ms/op
Iteration 5: 777,200 ms/op
Iteration 6: 790,012 ms/op
Iteration 7: 781,375 ms/op
Iteration 8: 793,077 ms/op
Iteration 9: 775,612 ms/op
Iteration 10: 778,978 ms/op
Iteration 11: 793,991 ms/op
Iteration 12: 789,067 ms/op
Iteration 13: 775,358 ms/op
Iteration 14: 790,012 ms/op
Iteration 15: 786,223 ms/op
Iteration 16: 779,954 ms/op
Iteration 17: 781,175 ms/op
Iteration 18: 786,413 ms/op
Iteration 19: 780,216 ms/op
Iteration 20: 779,299 ms/op
Iteration 21: 777,299 ms/op
Iteration 22: 779,733 ms/op
Iteration 23: 788,835 ms/op
Iteration 24: 790,218 ms/op
Iteration 25: 776,486 ms/op
Iteration 26: 788,758 ms/op
Iteration 27: 789,258 ms/op
Iteration 28: 780,181 ms/op
Iteration 29: 787,160 ms/op
Iteration 30: 785,090 ms/op
Iteration 31: 787,310 ms/op
Iteration 32: 782,847 ms/op
Iteration 33: 772,302 ms/op
Iteration 34: 788,764 ms/op
Iteration 35: 781,014 ms/op
Iteration 36: 786,470 ms/op
Iteration 37: 783,225 ms/op
Iteration 38: 789,476 ms/op
Iteration 39: 787,850 ms/op
Iteration 40: 786,578 ms/op
Iteration 41: 780,309 ms/op
Iteration 42: 787,179 ms/op
Iteration 43: 776,663 ms/op
Iteration 44: 778,741 ms/op
Iteration 45: 784,584 ms/op
Iteration 46: 780,267 ms/op
Iteration 47: 794,967 ms/op
Iteration 48: 778,560 ms/op
Iteration 49: 826,548 ms/op
Iteration 50: 783,384 ms/op
Iteration 51: 778,933 ms/op
Iteration 52: 789,498 ms/op
Iteration 53: 776,328 ms/op
Iteration 54: 848,639 ms/op
Iteration 55: 779,825 ms/op
Iteration 56: 780,972 ms/op
Iteration 57: 786,552 ms/op
Iteration 58: 786,270 ms/op
Iteration 59: 776,809 ms/op
Iteration 60: 813,262 ms/op
Iteration 61: 774,872 ms/op
Iteration 62: 786,462 ms/op
Iteration 63: 771,799 ms/op
Iteration 64: 778,919 ms/op
Iteration 65: 789,677 ms/op
Iteration 66: 774,751 ms/op
Iteration 67: 774,974 ms/op
Iteration 68: 786,144 ms/op
Iteration 69: 785,983 ms/op
Iteration 70: 806,327 ms/op
Iteration 71: 782,639 ms/op
Iteration 72: 781,286 ms/op
Iteration 73: 776,533 ms/op
Iteration 74: 785,531 ms/op
Iteration 75: 776,893 ms/op
Iteration 76: 789,664 ms/op
Iteration 77: 784,503 ms/op
Iteration 78: 795,448 ms/op
Iteration 79: 784,659 ms/op
Iteration 80: 783,899 ms/op
Iteration 81: 785,447 ms/op
Iteration 82: 780,479 ms/op
Iteration 83: 787,135 ms/op
Iteration 84: 784,951 ms/op
Iteration 85: 787,079 ms/op
Iteration 86: 778,168 ms/op
Iteration 87: 806,287 ms/op
Iteration 88: 778,055 ms/op
Iteration 89: 784,237 ms/op
Iteration 90: 783,575 ms/op
Iteration 91: 782,353 ms/op
Iteration 92: 782,823 ms/op
Iteration 93: 786,545 ms/op
Iteration 94: 782,675 ms/op
Iteration 95: 770,497 ms/op
Iteration 96: 777,378 ms/op
Iteration 97: 784,395 ms/op
Iteration 98: 787,830 ms/op
Iteration 99: 806,308 ms/op
Iteration 100: 775,524 ms/op
Iteration 101: 792,969 ms/op
Iteration 102: 796,836 ms/op
Iteration 103: 788,482 ms/op
Iteration 104: 779,827 ms/op
Iteration 105: 777,904 ms/op
Iteration 106: 792,315 ms/op
Iteration 107: 783,580 ms/op
Iteration 108: 780,553 ms/op
Iteration 109: 786,488 ms/op
Iteration 110: 785,889 ms/op
Iteration 111: 780,652 ms/op
Iteration 112: 779,893 ms/op
Iteration 113: 802,339 ms/op
Iteration 114: 776,848 ms/op
Iteration 115: 790,926 ms/op
Iteration 116: 781,713 ms/op
Iteration 117: 785,952 ms/op
Iteration 118: 777,104 ms/op
Iteration 119: 798,176 ms/op
Iteration 120: 782,499 ms/op
Result "bench.GroovyBench.java8ForEachWithClosureTest":
785,309 ±(99.9%) 3,096 ms/op [Average]
(min, avg, max) = (770,497, 785,309, 848,639), stdev = 10,053
CI (99.9%): [782,213, 788,406] (assumes normal distribution)
# Run complete. Total time: 00:20:52
REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.
Benchmark Mode Cnt Score Error Units
GroovyBench.eachTest avgt 120 652,584 ± 2,064 ms/op
GroovyBench.forEachTest avgt 120 221,790 ± 1,675 ms/op
GroovyBench.forLoopTest avgt 120 533,534 ± 2,521 ms/op
GroovyBench.iteratorTest avgt 120 369,492 ± 0,930 ms/op
GroovyBench.java8ForEachWithAnonymousClassTest avgt 120 248,371 ± 2,803 ms/op
GroovyBench.java8ForEachWithClosureTest avgt 120 785,309 ± 3,096 ms/op
Benchmark result is saved to /home/wololock/workspace/groovy-jmh/build/reports/jmh/results.txt
BUILD SUCCESSFUL in 20m 55s
5 actionable tasks: 5 executed
19:30:06: Task execution finished 'jmh'.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment