-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8285255: refine StringLatin1.regionMatchesCI_UTF16 #8308
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
Conversation
👋 Welcome back XenoAmess! A progress list of the required criteria for merging this PR into |
@XenoAmess The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
Point 1 make sense. |
Bad news is I don't know how to make a jmh benchmark for a not-public class... |
The test should be able to use public string classes with selected Latin1 and utf-16 arguments. |
Jmh Result(with = check)
JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.charAtRun progress: 0.00% complete, ETA 00:06:00Fork: 1 of 3Warmup Iteration 1: 72.769 ns/opWarmup Iteration 2: 74.375 ns/opWarmup Iteration 3: 72.471 ns/opWarmup Iteration 4: 73.477 ns/opWarmup Iteration 5: 74.972 ns/opWarmup Iteration 6: 73.593 ns/opWarmup Iteration 7: 74.270 ns/opWarmup Iteration 8: 74.981 ns/opWarmup Iteration 9: 74.273 ns/opWarmup Iteration 10: 71.556 ns/opIteration 1: 73.743 ns/op Run progress: 4.17% complete, ETA 00:05:52Fork: 2 of 3Warmup Iteration 1: 75.489 ns/opWarmup Iteration 2: 73.533 ns/opWarmup Iteration 3: 72.524 ns/opWarmup Iteration 4: 73.259 ns/opWarmup Iteration 5: 73.346 ns/opWarmup Iteration 6: 72.259 ns/opWarmup Iteration 7: 73.705 ns/opWarmup Iteration 8: 71.332 ns/opWarmup Iteration 9: 70.587 ns/opWarmup Iteration 10: 69.392 ns/opIteration 1: 67.762 ns/op Run progress: 8.33% complete, ETA 00:05:37Fork: 3 of 3Warmup Iteration 1: 74.307 ns/opWarmup Iteration 2: 74.440 ns/opWarmup Iteration 3: 73.053 ns/opWarmup Iteration 4: 74.739 ns/opWarmup Iteration 5: 75.348 ns/opWarmup Iteration 6: 72.801 ns/opWarmup Iteration 7: 73.524 ns/opWarmup Iteration 8: 73.278 ns/opWarmup Iteration 9: 74.633 ns/opWarmup Iteration 10: 73.481 ns/opIteration 1: 73.787 ns/op Result "org.openjdk.bench.java.lang.StringOther.charAt": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.compareToRun progress: 12.50% complete, ETA 00:05:21Fork: 1 of 3Warmup Iteration 1: 7.600 ns/opWarmup Iteration 2: 7.552 ns/opWarmup Iteration 3: 7.001 ns/opWarmup Iteration 4: 7.529 ns/opWarmup Iteration 5: 7.541 ns/opWarmup Iteration 6: 7.531 ns/opWarmup Iteration 7: 7.524 ns/opWarmup Iteration 8: 7.507 ns/opWarmup Iteration 9: 7.506 ns/opWarmup Iteration 10: 7.184 ns/opIteration 1: 7.119 ns/op Run progress: 16.67% complete, ETA 00:05:06Fork: 2 of 3Warmup Iteration 1: 7.616 ns/opWarmup Iteration 2: 7.503 ns/opWarmup Iteration 3: 7.013 ns/opWarmup Iteration 4: 7.543 ns/opWarmup Iteration 5: 7.530 ns/opWarmup Iteration 6: 7.489 ns/opWarmup Iteration 7: 7.513 ns/opWarmup Iteration 8: 7.495 ns/opWarmup Iteration 9: 7.493 ns/opWarmup Iteration 10: 7.124 ns/opIteration 1: 7.156 ns/op Run progress: 20.83% complete, ETA 00:04:50Fork: 3 of 3Warmup Iteration 1: 7.576 ns/opWarmup Iteration 2: 7.575 ns/opWarmup Iteration 3: 6.999 ns/opWarmup Iteration 4: 7.559 ns/opWarmup Iteration 5: 7.551 ns/opWarmup Iteration 6: 7.512 ns/opWarmup Iteration 7: 7.651 ns/opWarmup Iteration 8: 7.608 ns/opWarmup Iteration 9: 7.605 ns/opWarmup Iteration 10: 7.178 ns/opIteration 1: 7.121 ns/op Result "org.openjdk.bench.java.lang.StringOther.compareTo": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.internUniqueRun progress: 25.00% complete, ETA 00:04:35Fork: 1 of 3Warmup Iteration 1: 690.789 ns/opWarmup Iteration 2: 695.665 ns/opWarmup Iteration 3: 684.139 ns/opWarmup Iteration 4: 910.126 ns/opWarmup Iteration 5: 1192.552 ns/opWarmup Iteration 6: 1404.659 ns/opWarmup Iteration 7: 1592.178 ns/opWarmup Iteration 8: 1757.206 ns/opWarmup Iteration 9: 1885.201 ns/opWarmup Iteration 10: 2027.096 ns/opIteration 1: 2138.939 ns/op Run progress: 29.17% complete, ETA 00:04:20Fork: 2 of 3Warmup Iteration 1: 696.620 ns/opWarmup Iteration 2: 698.178 ns/opWarmup Iteration 3: 687.792 ns/opWarmup Iteration 4: 906.615 ns/opWarmup Iteration 5: 1194.699 ns/opWarmup Iteration 6: 1420.135 ns/opWarmup Iteration 7: 1598.611 ns/opWarmup Iteration 8: 1762.909 ns/opWarmup Iteration 9: 1911.581 ns/opWarmup Iteration 10: 2043.476 ns/opIteration 1: 2166.752 ns/op Run progress: 33.33% complete, ETA 00:04:05Fork: 3 of 3Warmup Iteration 1: 703.260 ns/opWarmup Iteration 2: 720.669 ns/opWarmup Iteration 3: 713.056 ns/opWarmup Iteration 4: 886.028 ns/opWarmup Iteration 5: 1181.698 ns/opWarmup Iteration 6: 1396.434 ns/opWarmup Iteration 7: 1585.894 ns/opWarmup Iteration 8: 1751.506 ns/opWarmup Iteration 9: 1883.964 ns/opWarmup Iteration 10: 2021.091 ns/opIteration 1: 2141.785 ns/op Result "org.openjdk.bench.java.lang.StringOther.internUnique": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesLatin1Run progress: 37.50% complete, ETA 00:03:49Fork: 1 of 3Warmup Iteration 1: 27.511 ns/opWarmup Iteration 2: 27.409 ns/opWarmup Iteration 3: 26.737 ns/opWarmup Iteration 4: 27.359 ns/opWarmup Iteration 5: 27.382 ns/opWarmup Iteration 6: 27.300 ns/opWarmup Iteration 7: 27.180 ns/opWarmup Iteration 8: 27.194 ns/opWarmup Iteration 9: 27.276 ns/opWarmup Iteration 10: 26.196 ns/opIteration 1: 26.219 ns/op Run progress: 41.67% complete, ETA 00:03:34Fork: 2 of 3Warmup Iteration 1: 27.082 ns/opWarmup Iteration 2: 26.591 ns/opWarmup Iteration 3: 26.323 ns/opWarmup Iteration 4: 26.773 ns/opWarmup Iteration 5: 26.742 ns/opWarmup Iteration 6: 26.632 ns/opWarmup Iteration 7: 26.820 ns/opWarmup Iteration 8: 26.771 ns/opWarmup Iteration 9: 26.907 ns/opWarmup Iteration 10: 26.011 ns/opIteration 1: 25.982 ns/op Run progress: 45.83% complete, ETA 00:03:19Fork: 3 of 3Warmup Iteration 1: 27.288 ns/opWarmup Iteration 2: 27.050 ns/opWarmup Iteration 3: 26.629 ns/opWarmup Iteration 4: 26.941 ns/opWarmup Iteration 5: 26.953 ns/opWarmup Iteration 6: 26.933 ns/opWarmup Iteration 7: 26.828 ns/opWarmup Iteration 8: 26.963 ns/opWarmup Iteration 9: 26.843 ns/opWarmup Iteration 10: 26.320 ns/opIteration 1: 26.145 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesLatin1": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LLRun progress: 50.00% complete, ETA 00:03:03Fork: 1 of 3Warmup Iteration 1: 383.221 ns/opWarmup Iteration 2: 384.145 ns/opWarmup Iteration 3: 186.489 ns/opWarmup Iteration 4: 385.039 ns/opWarmup Iteration 5: 385.782 ns/opWarmup Iteration 6: 383.717 ns/opWarmup Iteration 7: 386.026 ns/opWarmup Iteration 8: 383.559 ns/opWarmup Iteration 9: 386.779 ns/opWarmup Iteration 10: 186.426 ns/opIteration 1: 186.458 ns/op Run progress: 54.17% complete, ETA 00:02:48Fork: 2 of 3Warmup Iteration 1: 382.730 ns/opWarmup Iteration 2: 383.619 ns/opWarmup Iteration 3: 186.757 ns/opWarmup Iteration 4: 382.995 ns/opWarmup Iteration 5: 386.450 ns/opWarmup Iteration 6: 383.026 ns/opWarmup Iteration 7: 386.532 ns/opWarmup Iteration 8: 388.434 ns/opWarmup Iteration 9: 383.317 ns/opWarmup Iteration 10: 186.436 ns/opIteration 1: 186.552 ns/op Run progress: 58.33% complete, ETA 00:02:33Fork: 3 of 3Warmup Iteration 1: 386.772 ns/opWarmup Iteration 2: 386.801 ns/opWarmup Iteration 3: 190.100 ns/opWarmup Iteration 4: 389.759 ns/opWarmup Iteration 5: 387.729 ns/opWarmup Iteration 6: 383.583 ns/opWarmup Iteration 7: 388.694 ns/opWarmup Iteration 8: 387.119 ns/opWarmup Iteration 9: 383.802 ns/opWarmup Iteration 10: 187.168 ns/opIteration 1: 186.468 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LL": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LURun progress: 62.50% complete, ETA 00:02:17Fork: 1 of 3Warmup Iteration 1: 1808.439 ns/opWarmup Iteration 2: 1767.006 ns/opWarmup Iteration 3: 2598.387 ns/opWarmup Iteration 4: 1766.816 ns/opWarmup Iteration 5: 1743.078 ns/opWarmup Iteration 6: 1756.696 ns/opWarmup Iteration 7: 1756.846 ns/opWarmup Iteration 8: 1743.495 ns/opWarmup Iteration 9: 1759.004 ns/opWarmup Iteration 10: 2583.316 ns/opIteration 1: 2578.140 ns/op Run progress: 66.67% complete, ETA 00:02:02Fork: 2 of 3Warmup Iteration 1: 1820.105 ns/opWarmup Iteration 2: 1761.995 ns/opWarmup Iteration 3: 2592.068 ns/opWarmup Iteration 4: 1750.519 ns/opWarmup Iteration 5: 1759.997 ns/opWarmup Iteration 6: 1766.899 ns/opWarmup Iteration 7: 1763.529 ns/opWarmup Iteration 8: 1766.331 ns/opWarmup Iteration 9: 1752.448 ns/opWarmup Iteration 10: 2579.290 ns/opIteration 1: 2583.389 ns/op Run progress: 70.83% complete, ETA 00:01:47Fork: 3 of 3Warmup Iteration 1: 1793.036 ns/opWarmup Iteration 2: 1758.022 ns/opWarmup Iteration 3: 2592.707 ns/opWarmup Iteration 4: 1749.634 ns/opWarmup Iteration 5: 1758.032 ns/opWarmup Iteration 6: 1748.079 ns/opWarmup Iteration 7: 1760.812 ns/opWarmup Iteration 8: 1755.140 ns/opWarmup Iteration 9: 1748.580 ns/opWarmup Iteration 10: 2586.600 ns/opIteration 1: 2583.574 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LU": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024ULRun progress: 75.00% complete, ETA 00:01:31Fork: 1 of 3Warmup Iteration 1: 1782.462 ns/opWarmup Iteration 2: 1752.012 ns/opWarmup Iteration 3: 2380.621 ns/opWarmup Iteration 4: 1743.210 ns/opWarmup Iteration 5: 1744.448 ns/opWarmup Iteration 6: 1755.656 ns/opWarmup Iteration 7: 1744.958 ns/opWarmup Iteration 8: 1747.890 ns/opWarmup Iteration 9: 1756.824 ns/opWarmup Iteration 10: 2386.359 ns/opIteration 1: 2375.206 ns/op Run progress: 79.17% complete, ETA 00:01:16Fork: 2 of 3Warmup Iteration 1: 1790.976 ns/opWarmup Iteration 2: 1749.313 ns/opWarmup Iteration 3: 2373.999 ns/opWarmup Iteration 4: 1727.657 ns/opWarmup Iteration 5: 1733.681 ns/opWarmup Iteration 6: 1745.252 ns/opWarmup Iteration 7: 1742.418 ns/opWarmup Iteration 8: 1736.290 ns/opWarmup Iteration 9: 1743.422 ns/opWarmup Iteration 10: 2379.393 ns/opIteration 1: 2375.139 ns/op Run progress: 83.33% complete, ETA 00:01:01Fork: 3 of 3Warmup Iteration 1: 1790.161 ns/opWarmup Iteration 2: 1755.700 ns/opWarmup Iteration 3: 2389.256 ns/opWarmup Iteration 4: 1734.317 ns/opWarmup Iteration 5: 1754.969 ns/opWarmup Iteration 6: 1752.956 ns/opWarmup Iteration 7: 1743.547 ns/opWarmup Iteration 8: 1742.636 ns/opWarmup Iteration 9: 1752.264 ns/opWarmup Iteration 10: 2371.152 ns/opIteration 1: 2382.148 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UL": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UURun progress: 87.50% complete, ETA 00:00:45Fork: 1 of 3Warmup Iteration 1: 385.542 ns/opWarmup Iteration 2: 402.016 ns/opWarmup Iteration 3: 188.558 ns/opWarmup Iteration 4: 391.182 ns/opWarmup Iteration 5: 404.047 ns/opWarmup Iteration 6: 391.660 ns/opWarmup Iteration 7: 387.864 ns/opWarmup Iteration 8: 401.734 ns/opWarmup Iteration 9: 390.811 ns/opWarmup Iteration 10: 193.879 ns/opIteration 1: 191.808 ns/op Run progress: 91.67% complete, ETA 00:00:30Fork: 2 of 3Warmup Iteration 1: 389.080 ns/opWarmup Iteration 2: 386.598 ns/opWarmup Iteration 3: 188.687 ns/opWarmup Iteration 4: 388.477 ns/opWarmup Iteration 5: 388.952 ns/opWarmup Iteration 6: 387.221 ns/opWarmup Iteration 7: 389.056 ns/opWarmup Iteration 8: 387.642 ns/opWarmup Iteration 9: 390.166 ns/opWarmup Iteration 10: 188.666 ns/opIteration 1: 187.776 ns/op Run progress: 95.83% complete, ETA 00:00:15Fork: 3 of 3Warmup Iteration 1: 390.556 ns/opWarmup Iteration 2: 388.024 ns/opWarmup Iteration 3: 188.315 ns/opWarmup Iteration 4: 388.357 ns/opWarmup Iteration 5: 385.902 ns/opWarmup Iteration 6: 385.977 ns/opWarmup Iteration 7: 385.849 ns/opWarmup Iteration 8: 386.678 ns/opWarmup Iteration 9: 386.514 ns/opWarmup Iteration 10: 187.926 ns/opIteration 1: 189.464 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UU": Run complete. Total time: 00:06:07REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise Benchmark Mode Cnt Score Error Units |
Jmh Result(without = check)
JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.charAtRun progress: 0.00% complete, ETA 00:06:00Fork: 1 of 3Warmup Iteration 1: 74.478 ns/opWarmup Iteration 2: 72.357 ns/opWarmup Iteration 3: 72.555 ns/opWarmup Iteration 4: 73.901 ns/opWarmup Iteration 5: 73.573 ns/opWarmup Iteration 6: 73.771 ns/opWarmup Iteration 7: 70.427 ns/opWarmup Iteration 8: 75.018 ns/opWarmup Iteration 9: 74.755 ns/opWarmup Iteration 10: 69.792 ns/opIteration 1: 72.330 ns/op Run progress: 4.17% complete, ETA 00:05:52Fork: 2 of 3Warmup Iteration 1: 74.439 ns/opWarmup Iteration 2: 73.358 ns/opWarmup Iteration 3: 71.799 ns/opWarmup Iteration 4: 70.913 ns/opWarmup Iteration 5: 71.575 ns/opWarmup Iteration 6: 69.340 ns/opWarmup Iteration 7: 69.536 ns/opWarmup Iteration 8: 69.717 ns/opWarmup Iteration 9: 70.526 ns/opWarmup Iteration 10: 74.645 ns/opIteration 1: 73.770 ns/op Run progress: 8.33% complete, ETA 00:05:36Fork: 3 of 3Warmup Iteration 1: 73.593 ns/opWarmup Iteration 2: 69.462 ns/opWarmup Iteration 3: 72.013 ns/opWarmup Iteration 4: 68.641 ns/opWarmup Iteration 5: 73.384 ns/opWarmup Iteration 6: 69.624 ns/opWarmup Iteration 7: 73.325 ns/opWarmup Iteration 8: 72.080 ns/opWarmup Iteration 9: 73.454 ns/opWarmup Iteration 10: 73.144 ns/opIteration 1: 66.782 ns/op Result "org.openjdk.bench.java.lang.StringOther.charAt": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.compareToRun progress: 12.50% complete, ETA 00:05:21Fork: 1 of 3Warmup Iteration 1: 7.684 ns/opWarmup Iteration 2: 7.539 ns/opWarmup Iteration 3: 7.072 ns/opWarmup Iteration 4: 7.529 ns/opWarmup Iteration 5: 7.712 ns/opWarmup Iteration 6: 7.514 ns/opWarmup Iteration 7: 7.935 ns/opWarmup Iteration 8: 7.585 ns/opWarmup Iteration 9: 7.511 ns/opWarmup Iteration 10: 7.243 ns/opIteration 1: 7.202 ns/op Run progress: 16.67% complete, ETA 00:05:06Fork: 2 of 3Warmup Iteration 1: 7.665 ns/opWarmup Iteration 2: 7.611 ns/opWarmup Iteration 3: 6.974 ns/opWarmup Iteration 4: 7.627 ns/opWarmup Iteration 5: 7.605 ns/opWarmup Iteration 6: 7.526 ns/opWarmup Iteration 7: 7.535 ns/opWarmup Iteration 8: 7.581 ns/opWarmup Iteration 9: 7.624 ns/opWarmup Iteration 10: 7.116 ns/opIteration 1: 7.104 ns/op Run progress: 20.83% complete, ETA 00:04:50Fork: 3 of 3Warmup Iteration 1: 7.590 ns/opWarmup Iteration 2: 7.580 ns/opWarmup Iteration 3: 7.038 ns/opWarmup Iteration 4: 7.576 ns/opWarmup Iteration 5: 7.560 ns/opWarmup Iteration 6: 7.579 ns/opWarmup Iteration 7: 7.538 ns/opWarmup Iteration 8: 7.521 ns/opWarmup Iteration 9: 7.568 ns/opWarmup Iteration 10: 7.304 ns/opIteration 1: 7.272 ns/op Result "org.openjdk.bench.java.lang.StringOther.compareTo": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.internUniqueRun progress: 25.00% complete, ETA 00:04:35Fork: 1 of 3Warmup Iteration 1: 711.210 ns/opWarmup Iteration 2: 715.546 ns/opWarmup Iteration 3: 719.641 ns/opWarmup Iteration 4: 880.842 ns/opWarmup Iteration 5: 1208.438 ns/opWarmup Iteration 6: 1412.411 ns/opWarmup Iteration 7: 1556.071 ns/opWarmup Iteration 8: 1757.619 ns/opWarmup Iteration 9: 1870.034 ns/opWarmup Iteration 10: 2005.351 ns/opIteration 1: 2145.538 ns/op Run progress: 29.17% complete, ETA 00:04:20Fork: 2 of 3Warmup Iteration 1: 720.517 ns/opWarmup Iteration 2: 729.418 ns/opWarmup Iteration 3: 764.210 ns/opWarmup Iteration 4: 873.379 ns/opWarmup Iteration 5: 1168.143 ns/opWarmup Iteration 6: 1380.917 ns/opWarmup Iteration 7: 1593.366 ns/opWarmup Iteration 8: 1736.498 ns/opWarmup Iteration 9: 1850.467 ns/opWarmup Iteration 10: 2017.632 ns/opIteration 1: 2147.386 ns/op Run progress: 33.33% complete, ETA 00:04:05Fork: 3 of 3Warmup Iteration 1: 704.568 ns/opWarmup Iteration 2: 719.501 ns/opWarmup Iteration 3: 727.100 ns/opWarmup Iteration 4: 890.044 ns/opWarmup Iteration 5: 1187.037 ns/opWarmup Iteration 6: 1411.096 ns/opWarmup Iteration 7: 1581.086 ns/opWarmup Iteration 8: 1760.902 ns/opWarmup Iteration 9: 1920.568 ns/opWarmup Iteration 10: 2043.275 ns/opIteration 1: 2154.441 ns/op Result "org.openjdk.bench.java.lang.StringOther.internUnique": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesLatin1Run progress: 37.50% complete, ETA 00:03:49Fork: 1 of 3Warmup Iteration 1: 27.488 ns/opWarmup Iteration 2: 26.757 ns/opWarmup Iteration 3: 26.459 ns/opWarmup Iteration 4: 27.101 ns/opWarmup Iteration 5: 26.924 ns/opWarmup Iteration 6: 27.383 ns/opWarmup Iteration 7: 27.290 ns/opWarmup Iteration 8: 26.916 ns/opWarmup Iteration 9: 26.846 ns/opWarmup Iteration 10: 26.165 ns/opIteration 1: 26.528 ns/op Run progress: 41.67% complete, ETA 00:03:34Fork: 2 of 3Warmup Iteration 1: 27.435 ns/opWarmup Iteration 2: 27.139 ns/opWarmup Iteration 3: 26.260 ns/opWarmup Iteration 4: 27.203 ns/opWarmup Iteration 5: 27.275 ns/opWarmup Iteration 6: 26.786 ns/opWarmup Iteration 7: 26.793 ns/opWarmup Iteration 8: 26.812 ns/opWarmup Iteration 9: 26.998 ns/opWarmup Iteration 10: 26.521 ns/opIteration 1: 26.258 ns/op Run progress: 45.83% complete, ETA 00:03:19Fork: 3 of 3Warmup Iteration 1: 27.275 ns/opWarmup Iteration 2: 27.129 ns/opWarmup Iteration 3: 26.404 ns/opWarmup Iteration 4: 26.708 ns/opWarmup Iteration 5: 26.969 ns/opWarmup Iteration 6: 27.077 ns/opWarmup Iteration 7: 26.732 ns/opWarmup Iteration 8: 27.090 ns/opWarmup Iteration 9: 26.974 ns/opWarmup Iteration 10: 26.679 ns/opIteration 1: 26.379 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesLatin1": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LLRun progress: 50.00% complete, ETA 00:03:03Fork: 1 of 3Warmup Iteration 1: 303.144 ns/opWarmup Iteration 2: 296.744 ns/opWarmup Iteration 3: 186.968 ns/opWarmup Iteration 4: 300.451 ns/opWarmup Iteration 5: 297.590 ns/opWarmup Iteration 6: 296.346 ns/opWarmup Iteration 7: 300.523 ns/opWarmup Iteration 8: 295.685 ns/opWarmup Iteration 9: 303.034 ns/opWarmup Iteration 10: 185.710 ns/opIteration 1: 185.747 ns/op Run progress: 54.17% complete, ETA 00:02:48Fork: 2 of 3Warmup Iteration 1: 306.968 ns/opWarmup Iteration 2: 300.146 ns/opWarmup Iteration 3: 189.228 ns/opWarmup Iteration 4: 297.168 ns/opWarmup Iteration 5: 296.126 ns/opWarmup Iteration 6: 295.891 ns/opWarmup Iteration 7: 295.972 ns/opWarmup Iteration 8: 295.817 ns/opWarmup Iteration 9: 300.546 ns/opWarmup Iteration 10: 186.313 ns/opIteration 1: 187.967 ns/op Run progress: 58.33% complete, ETA 00:02:33Fork: 3 of 3Warmup Iteration 1: 303.105 ns/opWarmup Iteration 2: 299.711 ns/opWarmup Iteration 3: 187.263 ns/opWarmup Iteration 4: 298.838 ns/opWarmup Iteration 5: 298.997 ns/opWarmup Iteration 6: 296.007 ns/opWarmup Iteration 7: 296.305 ns/opWarmup Iteration 8: 296.056 ns/opWarmup Iteration 9: 299.125 ns/opWarmup Iteration 10: 187.975 ns/opIteration 1: 187.091 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LL": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LURun progress: 62.50% complete, ETA 00:02:17Fork: 1 of 3Warmup Iteration 1: 1792.067 ns/opWarmup Iteration 2: 1840.234 ns/opWarmup Iteration 3: 1536.619 ns/opWarmup Iteration 4: 1867.624 ns/opWarmup Iteration 5: 1878.742 ns/opWarmup Iteration 6: 1835.980 ns/opWarmup Iteration 7: 1837.200 ns/opWarmup Iteration 8: 1836.986 ns/opWarmup Iteration 9: 1838.710 ns/opWarmup Iteration 10: 1305.558 ns/opIteration 1: 1324.687 ns/op Run progress: 66.67% complete, ETA 00:02:02Fork: 2 of 3Warmup Iteration 1: 1792.898 ns/opWarmup Iteration 2: 1871.357 ns/opWarmup Iteration 3: 1527.959 ns/opWarmup Iteration 4: 1859.196 ns/opWarmup Iteration 5: 1837.751 ns/opWarmup Iteration 6: 1868.952 ns/opWarmup Iteration 7: 1838.721 ns/opWarmup Iteration 8: 1838.604 ns/opWarmup Iteration 9: 1864.258 ns/opWarmup Iteration 10: 1322.919 ns/opIteration 1: 1325.401 ns/op Run progress: 70.83% complete, ETA 00:01:47Fork: 3 of 3Warmup Iteration 1: 1802.783 ns/opWarmup Iteration 2: 1864.955 ns/opWarmup Iteration 3: 1525.647 ns/opWarmup Iteration 4: 1865.719 ns/opWarmup Iteration 5: 1855.859 ns/opWarmup Iteration 6: 1840.375 ns/opWarmup Iteration 7: 1836.324 ns/opWarmup Iteration 8: 1840.356 ns/opWarmup Iteration 9: 1837.068 ns/opWarmup Iteration 10: 1316.856 ns/opIteration 1: 1308.652 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LU": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024ULRun progress: 75.00% complete, ETA 00:01:31Fork: 1 of 3Warmup Iteration 1: 1876.966 ns/opWarmup Iteration 2: 1956.101 ns/opWarmup Iteration 3: 1329.634 ns/opWarmup Iteration 4: 1960.647 ns/opWarmup Iteration 5: 1945.769 ns/opWarmup Iteration 6: 1939.349 ns/opWarmup Iteration 7: 1962.894 ns/opWarmup Iteration 8: 1965.710 ns/opWarmup Iteration 9: 1962.636 ns/opWarmup Iteration 10: 1303.857 ns/opIteration 1: 1325.286 ns/op Run progress: 79.17% complete, ETA 00:01:16Fork: 2 of 3Warmup Iteration 1: 1949.514 ns/opWarmup Iteration 2: 2007.440 ns/opWarmup Iteration 3: 1367.116 ns/opWarmup Iteration 4: 1990.732 ns/opWarmup Iteration 5: 1958.976 ns/opWarmup Iteration 6: 1965.754 ns/opWarmup Iteration 7: 1971.913 ns/opWarmup Iteration 8: 1974.948 ns/opWarmup Iteration 9: 1963.292 ns/opWarmup Iteration 10: 1345.950 ns/opIteration 1: 1323.690 ns/op Run progress: 83.33% complete, ETA 00:01:01Fork: 3 of 3Warmup Iteration 1: 1893.688 ns/opWarmup Iteration 2: 1963.501 ns/opWarmup Iteration 3: 1332.057 ns/opWarmup Iteration 4: 1994.072 ns/opWarmup Iteration 5: 1981.262 ns/opWarmup Iteration 6: 1978.875 ns/opWarmup Iteration 7: 1975.539 ns/opWarmup Iteration 8: 1976.051 ns/opWarmup Iteration 9: 1965.054 ns/opWarmup Iteration 10: 1309.543 ns/opIteration 1: 1321.755 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UL": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UURun progress: 87.50% complete, ETA 00:00:45Fork: 1 of 3Warmup Iteration 1: 301.524 ns/opWarmup Iteration 2: 298.614 ns/opWarmup Iteration 3: 188.084 ns/opWarmup Iteration 4: 297.548 ns/opWarmup Iteration 5: 297.762 ns/opWarmup Iteration 6: 298.255 ns/opWarmup Iteration 7: 298.128 ns/opWarmup Iteration 8: 297.294 ns/opWarmup Iteration 9: 301.427 ns/opWarmup Iteration 10: 188.916 ns/opIteration 1: 187.242 ns/op Run progress: 91.67% complete, ETA 00:00:30Fork: 2 of 3Warmup Iteration 1: 309.555 ns/opWarmup Iteration 2: 299.977 ns/opWarmup Iteration 3: 190.319 ns/opWarmup Iteration 4: 300.650 ns/opWarmup Iteration 5: 300.809 ns/opWarmup Iteration 6: 304.232 ns/opWarmup Iteration 7: 303.104 ns/opWarmup Iteration 8: 298.601 ns/opWarmup Iteration 9: 304.347 ns/opWarmup Iteration 10: 190.332 ns/opIteration 1: 190.087 ns/op Run progress: 95.83% complete, ETA 00:00:15Fork: 3 of 3Warmup Iteration 1: 306.889 ns/opWarmup Iteration 2: 306.172 ns/opWarmup Iteration 3: 190.313 ns/opWarmup Iteration 4: 300.543 ns/opWarmup Iteration 5: 304.967 ns/opWarmup Iteration 6: 302.572 ns/opWarmup Iteration 7: 297.677 ns/opWarmup Iteration 8: 303.316 ns/opWarmup Iteration 9: 304.080 ns/opWarmup Iteration 10: 190.553 ns/opIteration 1: 191.023 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UU": Run complete. Total time: 00:06:07REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise Benchmark Mode Cnt Score Error Units |
Thanks for the JMH tests and data. The only part needed from the JMH run is the last 9 lines. The rest is noise. What I see is that the run with == is quite a bit slower. With the == check:
Without the == check:
In the JMH cases, does the long prefix of latin1 characters distort the timings? |
Yes, the result is amazing to me. Before you reply I re-run several times but similar result. So I respect the truth.
No, the long prefix part is where real difference comes. So according to jmh result, the = check removed. |
Can you run the JMH against the code before either change (or an existing JDK). (Understanding current hardware architectures and their parallelism is hard to understand well. These interactions at the instruction level is why measuring is important. |
seems all 4 tests related runs very very slightlier slower in original codes, before change it to CharacterDataLatin1.instance Jmh Result (original)
JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.charAtRun progress: 0.00% complete, ETA 00:06:00Fork: 1 of 3Warmup Iteration 1: 70.457 ns/opWarmup Iteration 2: 73.255 ns/opWarmup Iteration 3: 71.446 ns/opWarmup Iteration 4: 73.454 ns/opWarmup Iteration 5: 73.618 ns/opWarmup Iteration 6: 72.853 ns/opWarmup Iteration 7: 74.493 ns/opWarmup Iteration 8: 74.862 ns/opWarmup Iteration 9: 74.323 ns/opWarmup Iteration 10: 73.759 ns/opIteration 1: 73.053 ns/op Run progress: 4.17% complete, ETA 00:05:52Fork: 2 of 3Warmup Iteration 1: 72.617 ns/opWarmup Iteration 2: 71.344 ns/opWarmup Iteration 3: 73.582 ns/opWarmup Iteration 4: 73.309 ns/opWarmup Iteration 5: 74.078 ns/opWarmup Iteration 6: 75.177 ns/opWarmup Iteration 7: 72.578 ns/opWarmup Iteration 8: 72.028 ns/opWarmup Iteration 9: 72.897 ns/opWarmup Iteration 10: 69.317 ns/opIteration 1: 69.303 ns/op Run progress: 8.33% complete, ETA 00:05:36Fork: 3 of 3Warmup Iteration 1: 72.149 ns/opWarmup Iteration 2: 73.753 ns/opWarmup Iteration 3: 70.621 ns/opWarmup Iteration 4: 74.384 ns/opWarmup Iteration 5: 71.787 ns/opWarmup Iteration 6: 74.946 ns/opWarmup Iteration 7: 74.463 ns/opWarmup Iteration 8: 73.403 ns/opWarmup Iteration 9: 71.675 ns/opWarmup Iteration 10: 72.550 ns/opIteration 1: 66.963 ns/op Result "org.openjdk.bench.java.lang.StringOther.charAt": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.compareToRun progress: 12.50% complete, ETA 00:05:21Fork: 1 of 3Warmup Iteration 1: 7.648 ns/opWarmup Iteration 2: 7.576 ns/opWarmup Iteration 3: 7.024 ns/opWarmup Iteration 4: 7.595 ns/opWarmup Iteration 5: 7.605 ns/opWarmup Iteration 6: 7.555 ns/opWarmup Iteration 7: 7.573 ns/opWarmup Iteration 8: 7.592 ns/opWarmup Iteration 9: 7.673 ns/opWarmup Iteration 10: 7.255 ns/opIteration 1: 7.268 ns/op Run progress: 16.67% complete, ETA 00:05:06Fork: 2 of 3Warmup Iteration 1: 7.654 ns/opWarmup Iteration 2: 7.626 ns/opWarmup Iteration 3: 7.006 ns/opWarmup Iteration 4: 7.610 ns/opWarmup Iteration 5: 7.564 ns/opWarmup Iteration 6: 7.566 ns/opWarmup Iteration 7: 7.561 ns/opWarmup Iteration 8: 7.554 ns/opWarmup Iteration 9: 7.525 ns/opWarmup Iteration 10: 7.156 ns/opIteration 1: 7.137 ns/op Run progress: 20.83% complete, ETA 00:04:50Fork: 3 of 3Warmup Iteration 1: 7.595 ns/opWarmup Iteration 2: 7.556 ns/opWarmup Iteration 3: 6.966 ns/opWarmup Iteration 4: 7.513 ns/opWarmup Iteration 5: 7.546 ns/opWarmup Iteration 6: 7.415 ns/opWarmup Iteration 7: 7.449 ns/opWarmup Iteration 8: 7.557 ns/opWarmup Iteration 9: 7.485 ns/opWarmup Iteration 10: 7.210 ns/opIteration 1: 7.234 ns/op Result "org.openjdk.bench.java.lang.StringOther.compareTo": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.internUniqueRun progress: 25.00% complete, ETA 00:04:35Fork: 1 of 3Warmup Iteration 1: 721.255 ns/opWarmup Iteration 2: 738.384 ns/opWarmup Iteration 3: 787.659 ns/opWarmup Iteration 4: 855.374 ns/opWarmup Iteration 5: 1162.055 ns/opWarmup Iteration 6: 1366.581 ns/opWarmup Iteration 7: 1576.950 ns/opWarmup Iteration 8: 1707.555 ns/opWarmup Iteration 9: 1909.602 ns/opWarmup Iteration 10: 1991.609 ns/opIteration 1: 2126.098 ns/op Run progress: 29.17% complete, ETA 00:04:20Fork: 2 of 3Warmup Iteration 1: 732.419 ns/opWarmup Iteration 2: 734.784 ns/opWarmup Iteration 3: 776.857 ns/opWarmup Iteration 4: 862.338 ns/opWarmup Iteration 5: 1161.400 ns/opWarmup Iteration 6: 1390.485 ns/opWarmup Iteration 7: 1564.553 ns/opWarmup Iteration 8: 1740.864 ns/opWarmup Iteration 9: 1886.047 ns/opWarmup Iteration 10: 1996.744 ns/opIteration 1: 2134.201 ns/op Run progress: 33.33% complete, ETA 00:04:05Fork: 3 of 3Warmup Iteration 1: 723.303 ns/opWarmup Iteration 2: 730.116 ns/opWarmup Iteration 3: 747.244 ns/opWarmup Iteration 4: 870.327 ns/opWarmup Iteration 5: 1163.600 ns/opWarmup Iteration 6: 1391.905 ns/opWarmup Iteration 7: 1609.695 ns/opWarmup Iteration 8: 1747.073 ns/opWarmup Iteration 9: 1901.428 ns/opWarmup Iteration 10: 2037.695 ns/opIteration 1: 2138.309 ns/op Result "org.openjdk.bench.java.lang.StringOther.internUnique": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesLatin1Run progress: 37.50% complete, ETA 00:03:49Fork: 1 of 3Warmup Iteration 1: 27.793 ns/opWarmup Iteration 2: 27.260 ns/opWarmup Iteration 3: 26.885 ns/opWarmup Iteration 4: 26.953 ns/opWarmup Iteration 5: 27.178 ns/opWarmup Iteration 6: 26.945 ns/opWarmup Iteration 7: 27.820 ns/opWarmup Iteration 8: 27.217 ns/opWarmup Iteration 9: 27.922 ns/opWarmup Iteration 10: 27.038 ns/opIteration 1: 26.504 ns/op Run progress: 41.67% complete, ETA 00:03:34Fork: 2 of 3Warmup Iteration 1: 27.393 ns/opWarmup Iteration 2: 27.862 ns/opWarmup Iteration 3: 26.308 ns/opWarmup Iteration 4: 27.392 ns/opWarmup Iteration 5: 27.782 ns/opWarmup Iteration 6: 27.679 ns/opWarmup Iteration 7: 27.454 ns/opWarmup Iteration 8: 26.879 ns/opWarmup Iteration 9: 27.335 ns/opWarmup Iteration 10: 26.984 ns/opIteration 1: 26.375 ns/op Run progress: 45.83% complete, ETA 00:03:19Fork: 3 of 3Warmup Iteration 1: 27.703 ns/opWarmup Iteration 2: 27.526 ns/opWarmup Iteration 3: 26.139 ns/opWarmup Iteration 4: 27.495 ns/opWarmup Iteration 5: 27.239 ns/opWarmup Iteration 6: 27.491 ns/opWarmup Iteration 7: 26.857 ns/opWarmup Iteration 8: 27.469 ns/opWarmup Iteration 9: 27.390 ns/opWarmup Iteration 10: 26.636 ns/opIteration 1: 26.784 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesLatin1": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LLRun progress: 50.00% complete, ETA 00:03:03Fork: 1 of 3Warmup Iteration 1: 384.034 ns/opWarmup Iteration 2: 386.145 ns/opWarmup Iteration 3: 192.375 ns/opWarmup Iteration 4: 385.160 ns/opWarmup Iteration 5: 388.339 ns/opWarmup Iteration 6: 394.354 ns/opWarmup Iteration 7: 389.876 ns/opWarmup Iteration 8: 392.541 ns/opWarmup Iteration 9: 396.471 ns/opWarmup Iteration 10: 189.031 ns/opIteration 1: 191.889 ns/op Run progress: 54.17% complete, ETA 00:02:48Fork: 2 of 3Warmup Iteration 1: 386.763 ns/opWarmup Iteration 2: 387.674 ns/opWarmup Iteration 3: 188.244 ns/opWarmup Iteration 4: 386.972 ns/opWarmup Iteration 5: 394.980 ns/opWarmup Iteration 6: 393.451 ns/opWarmup Iteration 7: 385.662 ns/opWarmup Iteration 8: 386.794 ns/opWarmup Iteration 9: 388.771 ns/opWarmup Iteration 10: 188.608 ns/opIteration 1: 191.659 ns/op Run progress: 58.33% complete, ETA 00:02:33Fork: 3 of 3Warmup Iteration 1: 386.921 ns/opWarmup Iteration 2: 386.713 ns/opWarmup Iteration 3: 192.961 ns/opWarmup Iteration 4: 388.269 ns/opWarmup Iteration 5: 396.061 ns/opWarmup Iteration 6: 392.936 ns/opWarmup Iteration 7: 392.474 ns/opWarmup Iteration 8: 397.539 ns/opWarmup Iteration 9: 395.017 ns/opWarmup Iteration 10: 192.466 ns/opIteration 1: 188.695 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LL": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LURun progress: 62.50% complete, ETA 00:02:17Fork: 1 of 3Warmup Iteration 1: 1886.842 ns/opWarmup Iteration 2: 1951.907 ns/opWarmup Iteration 3: 1336.138 ns/opWarmup Iteration 4: 1969.057 ns/opWarmup Iteration 5: 1977.544 ns/opWarmup Iteration 6: 1955.080 ns/opWarmup Iteration 7: 1955.399 ns/opWarmup Iteration 8: 1948.878 ns/opWarmup Iteration 9: 1974.372 ns/opWarmup Iteration 10: 1325.548 ns/opIteration 1: 1324.446 ns/op Run progress: 66.67% complete, ETA 00:02:02Fork: 2 of 3Warmup Iteration 1: 1881.938 ns/opWarmup Iteration 2: 1940.219 ns/opWarmup Iteration 3: 1331.686 ns/opWarmup Iteration 4: 1966.264 ns/opWarmup Iteration 5: 1959.955 ns/opWarmup Iteration 6: 1943.985 ns/opWarmup Iteration 7: 1960.606 ns/opWarmup Iteration 8: 1950.825 ns/opWarmup Iteration 9: 1953.092 ns/opWarmup Iteration 10: 1325.135 ns/opIteration 1: 1329.842 ns/op Run progress: 70.83% complete, ETA 00:01:47Fork: 3 of 3Warmup Iteration 1: 1726.861 ns/opWarmup Iteration 2: 1760.492 ns/opWarmup Iteration 3: 1338.569 ns/opWarmup Iteration 4: 1762.623 ns/opWarmup Iteration 5: 1767.371 ns/opWarmup Iteration 6: 1749.098 ns/opWarmup Iteration 7: 1748.149 ns/opWarmup Iteration 8: 1768.330 ns/opWarmup Iteration 9: 1777.755 ns/opWarmup Iteration 10: 1335.878 ns/opIteration 1: 1313.298 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024LU": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024ULRun progress: 75.00% complete, ETA 00:01:31Fork: 1 of 3Warmup Iteration 1: 1698.300 ns/opWarmup Iteration 2: 1792.648 ns/opWarmup Iteration 3: 1362.651 ns/opWarmup Iteration 4: 1793.508 ns/opWarmup Iteration 5: 1776.535 ns/opWarmup Iteration 6: 1734.500 ns/opWarmup Iteration 7: 1749.249 ns/opWarmup Iteration 8: 1733.342 ns/opWarmup Iteration 9: 1767.894 ns/opWarmup Iteration 10: 1452.358 ns/opIteration 1: 1508.769 ns/op Run progress: 79.17% complete, ETA 00:01:16Fork: 2 of 3Warmup Iteration 1: 1722.288 ns/opWarmup Iteration 2: 1759.843 ns/opWarmup Iteration 3: 1329.077 ns/opWarmup Iteration 4: 1746.541 ns/opWarmup Iteration 5: 1780.978 ns/opWarmup Iteration 6: 1754.303 ns/opWarmup Iteration 7: 1755.167 ns/opWarmup Iteration 8: 1758.167 ns/opWarmup Iteration 9: 1753.601 ns/opWarmup Iteration 10: 1318.156 ns/opIteration 1: 1336.835 ns/op Run progress: 83.33% complete, ETA 00:01:01Fork: 3 of 3Warmup Iteration 1: 1687.909 ns/opWarmup Iteration 2: 1761.530 ns/opWarmup Iteration 3: 1325.844 ns/opWarmup Iteration 4: 1760.050 ns/opWarmup Iteration 5: 1846.705 ns/opWarmup Iteration 6: 1831.452 ns/opWarmup Iteration 7: 1756.480 ns/opWarmup Iteration 8: 1751.992 ns/opWarmup Iteration 9: 1737.721 ns/opWarmup Iteration 10: 1305.649 ns/opIteration 1: 1307.646 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UL": JMH version: 1.34VM version: JDK 19-internal, OpenJDK 64-Bit Server VM, 19-internal-adhoc..jdkVM invoker: F:\workspace\jdk\build\windows-x86_64-server-release\images\jdk\bin\java.exeVM options: -Djava.library.path=f:\workspace\jdk\build\windows-x86_64-server-release\images\test\micro\nativeBlackhole mode: compiler (auto-detected, use -Djmh.blackhole.autoDetect=false to disable)Warmup: 10 iterations, 1000 ms eachMeasurement: 5 iterations, 1000 ms eachTimeout: 10 min per iterationThreads: 1 thread, will synchronize iterationsBenchmark mode: Average time, time/opBenchmark: org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UURun progress: 87.50% complete, ETA 00:00:45Fork: 1 of 3Warmup Iteration 1: 384.307 ns/opWarmup Iteration 2: 393.025 ns/opWarmup Iteration 3: 188.918 ns/opWarmup Iteration 4: 388.716 ns/opWarmup Iteration 5: 389.077 ns/opWarmup Iteration 6: 393.182 ns/opWarmup Iteration 7: 396.038 ns/opWarmup Iteration 8: 386.322 ns/opWarmup Iteration 9: 388.637 ns/opWarmup Iteration 10: 188.833 ns/opIteration 1: 189.554 ns/op Run progress: 91.67% complete, ETA 00:00:30Fork: 2 of 3Warmup Iteration 1: 383.292 ns/opWarmup Iteration 2: 390.798 ns/opWarmup Iteration 3: 188.544 ns/opWarmup Iteration 4: 386.818 ns/opWarmup Iteration 5: 385.428 ns/opWarmup Iteration 6: 391.337 ns/opWarmup Iteration 7: 392.357 ns/opWarmup Iteration 8: 395.916 ns/opWarmup Iteration 9: 394.474 ns/opWarmup Iteration 10: 190.443 ns/opIteration 1: 190.693 ns/op Run progress: 95.83% complete, ETA 00:00:15Fork: 3 of 3Warmup Iteration 1: 387.182 ns/opWarmup Iteration 2: 387.931 ns/opWarmup Iteration 3: 191.014 ns/opWarmup Iteration 4: 389.244 ns/opWarmup Iteration 5: 389.680 ns/opWarmup Iteration 6: 387.478 ns/opWarmup Iteration 7: 386.103 ns/opWarmup Iteration 8: 393.928 ns/opWarmup Iteration 9: 394.937 ns/opWarmup Iteration 10: 189.155 ns/opIteration 1: 189.103 ns/op Result "org.openjdk.bench.java.lang.StringOther.regionMatchesU1024UU": Run complete. Total time: 00:06:07REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on NOTE: Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise Benchmark Mode Cnt Score Error Units |
Hi @samartddd, thanks for making a comment in an OpenJDK project! All comments and discussions in the OpenJDK Community must be made available under the OpenJDK Terms of Use. If you already are an OpenJDK Author, Committer or Reviewer, please click here to open a new issue so that we can record that fact. Please Use "Add GitHub user samartddd for the summary. If you are not an OpenJDK Author, Committer or Reviewer, simply check the box below to accept the OpenJDK Terms of Use for your comments.
Your comment will be automatically restored once you have accepted the OpenJDK Terms of Use. |
Unfortunately this leads to an error for case-insensitive
|
@cl4es Yes, you are correct. And if change it to |
close as not worthy. |
some thoughts after watching 8285001: Simplify StringLatin1.regionMatches #8292
should be changed to
as:
Progress
Issue
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/8308/head:pull/8308
$ git checkout pull/8308
Update a local copy of the PR:
$ git checkout pull/8308
$ git pull https://git.openjdk.java.net/jdk pull/8308/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 8308
View PR using the GUI difftool:
$ git pr show -t 8308
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/8308.diff