From 213ceeaf6d1b8f7b05cd14d3fa7252c5f1459cf4 Mon Sep 17 00:00:00 2001 From: Christian Melchior Date: Fri, 10 Oct 2025 08:06:25 +0200 Subject: [PATCH 1/2] Add examples of using Kotlin Notebook to analyze benchmark runs Two examples was added: - "Simple analysis": Plot data from a single benchmark run - "Compare analysis": Compare two runs of the same benchmark suite to find changes that are worth investigating more. --- examples/compare-benchmark-runs.ipynb | 5157 ++++++++++++++++++++++ examples/simple-benchmark-analysis.ipynb | 4868 ++++++++++++++++++++ 2 files changed, 10025 insertions(+) create mode 100644 examples/compare-benchmark-runs.ipynb create mode 100644 examples/simple-benchmark-analysis.ipynb diff --git a/examples/compare-benchmark-runs.ipynb b/examples/compare-benchmark-runs.ipynb new file mode 100644 index 00000000..18f242da --- /dev/null +++ b/examples/compare-benchmark-runs.ipynb @@ -0,0 +1,5157 @@ +{ + "cells": [ + { + "metadata": { + "collapsed": true + }, + "cell_type": "markdown", + "source": [ + "# Compare Benchmark Runs\n", + "This notebook demonstrates how you can analyze the differences between two benchmark runs of the same benchmark and find the tests that differ the most, which probably means that they require further analysis to figure out why they changed.\n", + "\n", + "Several projects exist in the `examples` folder, but this notebook assumes we are working on the\n", + "JVM part of the `kotlin-multiplatform` project. But the same approach can be used for the other projects.\n", + "\n", + "First, you need to run the benchmark twice. This can be done by running these commands from the root of the project:\n", + "\n", + "```shell\n", + "> ./gradlew :examples:kotlin-multiplatform:jvmBenchmark\n", + "> ./gradlew :examples:kotlin-multiplatform:jvmBenchmark\n", + "```\n", + "\n", + "Once it is completed, run this notebook, and it will automatically find the latest result." + ] + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:16.334192Z", + "start_time": "2025-10-10T06:02:13.075038Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_2_jupyter", + "Line_3_jupyter", + "Line_4_jupyter", + "Line_5_jupyter", + "Line_6_jupyter", + "Line_7_jupyter", + "Line_8_jupyter", + "Line_9_jupyter", + "Line_10_jupyter", + "Line_11_jupyter", + "Line_12_jupyter", + "Line_13_jupyter", + "Line_14_jupyter", + "Line_15_jupyter" + ] + } + }, + "cell_type": "code", + "source": "%use serialization, dataframe, kandy", + "outputs": [], + "execution_count": 1 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:16.601062Z", + "start_time": "2025-10-10T06:02:16.338732Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_16_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "import java.nio.file.Files\n", + "import java.nio.file.attribute.BasicFileAttributes\n", + "import kotlin.io.path.exists\n", + "import kotlin.io.path.forEachDirectoryEntry\n", + "import kotlin.io.path.isDirectory\n", + "import kotlin.io.path.listDirectoryEntries\n", + "import kotlin.io.path.readText\n", + "\n", + "// Find latest result file, based on the their timestamp.\n", + "val runsDir = notebook.workingDir.resolve(\"kotlin-multiplatform/build/reports/benchmarks/main\")\n", + "val outputFiles = runsDir.listDirectoryEntries()\n", + " .filter { it.isDirectory() }\n", + " .sortedByDescending { dir -> Files.readAttributes(dir, BasicFileAttributes::class.java).creationTime() }\n", + " .subList(0, 2)\n", + " .map { it.resolve(\"jvm.json\") }" + ], + "outputs": [], + "execution_count": 2 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:17.661651Z", + "start_time": "2025-10-10T06:02:16.602252Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_17_jupyter", + "Line_18_jupyter", + "Line_19_jupyter", + "Line_20_jupyter", + "Line_21_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Convert to \"typed\" JSON\n", + "val newRun = outputFiles.first().readText().deserializeJson()\n", + "val oldRun = outputFiles.last().readText().deserializeJson()" + ], + "outputs": [], + "execution_count": 3 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:18.380118Z", + "start_time": "2025-10-10T06:02:17.663778Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_22_jupyter", + "Line_23_jupyter", + "Line_24_jupyter", + "Line_25_jupyter", + "Line_26_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Convert to DataFrames for easier processing. As there is not \"id\" keys for the benchmark, we invent one by just\n", + "// assigning the test row index as their \"primary key\". We could attempt to use the benchmark name and param values,\n", + "// but that is complicated by how paramers are represented in the JSON file. So, since we assume that the two files\n", + "// are equal using row index should be safe.\n", + "val oldDf = oldRun.toDataFrame().insert(\"rowIndex\") { index() }.at(0)\n", + "val newDf = newRun.toDataFrame().insert(\"rowIndex\") { index() }.at(0)" + ], + "outputs": [], + "execution_count": 4 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:18.957485Z", + "start_time": "2025-10-10T06:02:18.382974Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_27_jupyter", + "Line_28_jupyter", + "Line_29_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "val combinedData = oldDf.innerJoin(newDf) { rowIndex }\n", + "combinedData" + ], + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
rowIndexjmhVersionbenchmarkmodethreadsforksjvmjvmArgsjdkVersionvmNamevmVersionwarmupIterationswarmupTimewarmupBatchSizemeasurementIterationsmeasurementTimemeasurementBatchSizeprimaryMetricsecondaryMetricsparamsjmhVersion1benchmark1mode1threads1forks1jvm1jvmArgs1jdkVersion1vmName1vmVersion1warmupIterations1warmupTime1warmupBatchSize1measurementIterations1measurementTime1measurementBatchSize1primaryMetric1secondaryMetrics1params1
01.37test.InheritedBenchmark.baseBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=1124169.302037032...SecondaryMetricsnull1.37test.InheritedBenchmark.baseBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=1104972.670689436...SecondaryMetricsnull
11.37test.InheritedBenchmark.inheritedBenc...thrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=1.456305689018336...SecondaryMetricsnull1.37test.InheritedBenchmark.inheritedBenc...thrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=1.463498974560966...SecondaryMetricsnull
21.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=215040.4264876626...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=213019.5784138539...SecondaryMetricsParams(data=1, text=a "string" with q...
31.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=216167.9494759251...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=214917.7241256119...SecondaryMetricsParams(data=1, text=a "string" with q...
41.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=102937.0949291580...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=102424.7592912976...SecondaryMetricsParams(data=2, text=a "string" with q...
51.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=103082.8448560280...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=101173.7524929663...SecondaryMetricsParams(data=2, text=a "string" with q...
61.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2672623.997716683...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2680506.786160648...SecondaryMetricsParams(data=1, text=a "string" with q...
71.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2654913.294924726...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2585022.664467736...SecondaryMetricsParams(data=1, text=a "string" with q...
81.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2676852.389264137...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2614856.411872267...SecondaryMetricsParams(data=2, text=a "string" with q...
91.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2676496.83515426,...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2585237.244524414...SecondaryMetricsParams(data=2, text=a "string" with q...
101.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=155929.8152356222...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=150449.2091226176...SecondaryMetricsParams(data=1, text=a "string" with q...
111.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=156259.9193303228...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=147058.5656269174...SecondaryMetricsParams(data=1, text=a "string" with q...
121.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=155811.8833064962...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=146125.9972435486...SecondaryMetricsParams(data=2, text=a "string" with q...
131.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=154835.2340286528...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=150019.9321138323...SecondaryMetricsParams(data=2, text=a "string" with q...
141.37test.nested.CommonBenchmark.mathBench...thrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=149758.6784273443...SecondaryMetricsnull1.37test.nested.CommonBenchmark.mathBench...thrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=145509.9011470796...SecondaryMetricsnull
151.37test.CommonBenchmark.longBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=8.442082734074419...SecondaryMetricsnull1.37test.CommonBenchmark.longBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=8.972137714852465...SecondaryMetricsnull
161.37test.CommonBenchmark.longBlackholeBen...avgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2.164758841377566...SecondaryMetricsnull1.37test.CommonBenchmark.longBlackholeBen...avgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2.369188528309145...SecondaryMetricsnull
171.37test.CommonBenchmark.mathBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=6.693372064403778...SecondaryMetricsnull1.37test.CommonBenchmark.mathBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=6.791680697723316...SecondaryMetricsnull
181.37test.JvmTestBenchmark.cosBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.9720300 ms15300 ms1PrimaryMetric(score=3.472485344175375...SecondaryMetricsnull1.37test.JvmTestBenchmark.cosBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.9720300 ms15300 ms1PrimaryMetric(score=3.544540175926442...SecondaryMetricsnull
191.37test.JvmTestBenchmark.sqrtBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.9720300 ms15300 ms1PrimaryMetric(score=0.534808243580966...SecondaryMetricsnull1.37test.JvmTestBenchmark.sqrtBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.9720300 ms15300 ms1PrimaryMetric(score=0.542828365046617...SecondaryMetricsnull
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"rowIndex\",\"jmhVersion\",\"benchmark\",\"mode\",\"threads\",\"forks\",\"jvm\",\"jvmArgs\",\"jdkVersion\",\"vmName\",\"vmVersion\",\"warmupIterations\",\"warmupTime\",\"warmupBatchSize\",\"measurementIterations\",\"measurementTime\",\"measurementBatchSize\",\"primaryMetric\",\"secondaryMetrics\",\"params\",\"jmhVersion1\",\"benchmark1\",\"mode1\",\"threads1\",\"forks1\",\"jvm1\",\"jvmArgs1\",\"jdkVersion1\",\"vmName1\",\"vmVersion1\",\"warmupIterations1\",\"warmupTime1\",\"warmupBatchSize1\",\"measurementIterations1\",\"measurementTime1\",\"measurementBatchSize1\",\"primaryMetric1\",\"secondaryMetrics1\",\"params1\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.collections.List\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_20_jupyter.PrimaryMetric\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_20_jupyter.SecondaryMetrics\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_20_jupyter.Params?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.collections.List\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_18_jupyter.PrimaryMetric\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_18_jupyter.SecondaryMetrics\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_18_jupyter.Params?\"}],\"nrow\":20,\"ncol\":39,\"is_formatted\":false},\"kotlin_dataframe\":[{\"rowIndex\":0,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.InheritedBenchmark.baseBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=1124169.302037032, scoreError=75205.95144781233, scoreConfidence=[1048963.3505892197, 1199375.2534848445], scorePercentiles=ScorePercentiles(value=1015068.2619304745, value1=1155147.9695528375, value2=1189664.220644519, value3=1192280.8866867763, value4=1192280.8866867763, value5=1192280.8866867763, value6=1192280.8866867763, value7=1192280.8866867763, value8=1192280.8866867763, value9=1192280.8866867763), scoreUnit=ops/s, rawData=[[1139863.7244876404, 1169674.7233907245, 1155147.9695528375, 1153602.922452359, 1174956.8956307208], [1192280.8866867763, 1185424.9300422438, 1179689.8434465046, 1187919.7766163475, 1171982.894971915], [1045098.0287003154, 1027304.9154094426, 1019922.4388524143, 1015068.2619304745, 1044601.3183847639]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.InheritedBenchmark.baseBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=1104972.6706894366, scoreError=49309.31723071452, scoreConfidence=[1055663.3534587221, 1154281.987920151], scorePercentiles=ScorePercentiles(value=976634.2751659014, value1=1111366.2761976637, value2=1150603.2390327072, value3=1155368.0887375197, value4=1155368.0887375197, value5=1155368.0887375197, value6=1155368.0887375197, value7=1155368.0887375197, value8=1155368.0887375197, value9=1155368.0887375197), scoreUnit=ops/s, rawData=[[1138951.8480261383, 1147426.672562832, 1155368.0887375197, 976634.2751659014, 1086799.414352962], [1071068.6192288692, 1080059.2182720238, 1097652.8697360568, 1093557.0794489095, 1120069.316351473], [1071207.2522724976, 1111366.2761976637, 1146549.7634857353, 1145539.9253720958, 1132339.4411308717]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":1,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.InheritedBenchmark.inheritedBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=1.4563056890183368E8, scoreError=3055876.4639071585, scoreConfidence=[1.4257469243792653E8, 1.4868644536574084E8], scorePercentiles=ScorePercentiles(value=1.387309148314251E8, value1=1.461159516619478E8, value2=1.4880128725452167E8, value3=1.4928887294903806E8, value4=1.4928887294903806E8, value5=1.4928887294903806E8, value6=1.4928887294903806E8, value7=1.4928887294903806E8, value8=1.4928887294903806E8, value9=1.4928887294903806E8), scoreUnit=ops/s, rawData=[[1.458795136674187E8, 1.387309148314251E8, 1.4249979966909307E8, 1.441354822448216E8, 1.4471859679257274E8], [1.4206332462277076E8, 1.4928887294903806E8, 1.4847623012484407E8, 1.4657390497638917E8, 1.4808954548260325E8], [1.479146471664052E8, 1.4825079688102406E8, 1.461159516619478E8, 1.4548012088578174E8, 1.4624083157137004E8]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.InheritedBenchmark.inheritedBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=1.4634989745609665E8, scoreError=2617085.7451048377, scoreConfidence=[1.437328117109918E8, 1.489669832012015E8], scorePercentiles=ScorePercentiles(value=1.4184149896391898E8, value1=1.469146929360614E8, value2=1.4978634235305056E8, value3=1.4979666780300152E8, value4=1.4979666780300152E8, value5=1.4979666780300152E8, value6=1.4979666780300152E8, value7=1.4979666780300152E8, value8=1.4979666780300152E8, value9=1.4979666780300152E8), scoreUnit=ops/s, rawData=[[1.4743312123364982E8, 1.4734451620516628E8, 1.4513081545486593E8, 1.4859427580452958E8, 1.4184149896391898E8], [1.4873160312947407E8, 1.4698950151346394E8, 1.4197221788809916E8, 1.4504411037809837E8, 1.497794587197499E8], [1.4979666780300152E8, 1.4539668027305493E8, 1.4540221749059942E8, 1.469146929360614E8, 1.448770840477164E8]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":2,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=215040.42648766268, scoreError=5880.9771435087405, scoreConfidence=[209159.44934415395, 220921.40363117142], scorePercentiles=ScorePercentiles(value=207033.48882340023, value1=216828.2836091554, value2=220307.02414540315, value3=220347.28591681895, value4=220347.28591681895, value5=220347.28591681895, value6=220347.28591681895, value7=220347.28591681895, value8=220347.28591681895, value9=220347.28591681895), scoreUnit=ops/ms, rawData=[[218541.47282244905, 219724.67833439456, 219772.01178468572, 215843.89855323668, 216828.2836091554], [215817.33652824783, 219190.64684876153, 220236.6687829433, 220347.28591681895, 220280.1829644593], [207554.70387339368, 208177.8445451245, 208060.30263935018, 207033.48882340023, 208197.591288519]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=213019.57841385395, scoreError=8369.52519853182, scoreConfidence=[204650.0532153221, 221389.10361238578], scorePercentiles=ScorePercentiles(value=197413.98397329127, value1=217610.7129978692, value2=219723.3317704759, value3=219758.40459576072, value4=219758.40459576072, value5=219758.40459576072, value6=219758.40459576072, value7=219758.40459576072, value8=219758.40459576072, value9=219758.40459576072), scoreUnit=ops/ms, rawData=[[206868.27433867607, 205182.2111975488, 204167.9490396314, 204005.0061468604, 207426.64594081696], [219181.9935317667, 216223.10708646767, 219125.53226626694, 217610.7129978692, 197413.98397329127], [219758.40459576072, 219333.8131482198, 219622.81899704665, 219673.27306063482, 219699.9498869527]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":3,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=216167.94947592515, scoreError=6351.68750113338, scoreConfidence=[209816.26197479176, 222519.63697705854], scorePercentiles=ScorePercentiles(value=207609.6787277975, value1=220083.82632526392, value2=220495.84668133676, value3=220578.645626575, value4=220578.645626575, value5=220578.645626575, value6=220578.645626575, value7=220578.645626575, value8=220578.645626575, value9=220578.645626575), scoreUnit=ops/ms, rawData=[[220578.645626575, 220190.6119076891, 220422.73757640028, 220039.87759511426, 220440.64738451125], [220083.82632526392, 220173.00309511184, 220003.74450350355, 220188.9056799221, 220117.19103609296], [207609.6787277975, 208118.842694774, 207978.19256919943, 208400.1635700705, 208173.17384685145]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=214917.7241256119, scoreError=6301.39658228276, scoreConfidence=[208616.32754332913, 221219.12070789465], scorePercentiles=ScorePercentiles(value=206311.68952503492, value1=218377.3623321719, value2=219592.32627396737, value3=219633.96102619683, value4=219633.96102619683, value5=219633.96102619683, value6=219633.96102619683, value7=219633.96102619683, value8=219633.96102619683, value9=219633.96102619683), scoreUnit=ops/ms, rawData=[[207193.65814001014, 207002.8489477412, 206943.68084416783, 206311.68952503492, 207099.94771446334], [219463.41458073552, 218377.3623321719, 219633.96102619683, 219564.56977248107, 218985.21574303682], [219553.50596095278, 219457.86810784994, 218626.7322201981, 218022.0528177619, 217529.35415137568]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":4,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=102937.09492915806, scoreError=738.2281502627558, scoreConfidence=[102198.8667788953, 103675.32307942082], scorePercentiles=ScorePercentiles(value=102108.35841383337, value1=102680.84352175887, value2=104036.37084411451, value3=104744.1685270877, value4=104744.1685270877, value5=104744.1685270877, value6=104744.1685270877, value7=104744.1685270877, value8=104744.1685270877, value9=104744.1685270877), scoreUnit=ops/ms, rawData=[[103249.78813914409, 103300.72019495853, 103296.18805819943, 103282.52950315604, 103265.42357161234], [102193.6711132366, 102520.84332831355, 102680.84352175887, 102649.58889888677, 104744.1685270877], [102448.6137918969, 102388.34665913737, 102108.35841383337, 103564.5057221324, 102362.83449401706]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=102424.75929129767, scoreError=1311.2926197505165, scoreConfidence=[101113.46667154715, 103736.05191104818], scorePercentiles=ScorePercentiles(value=100782.02299204767, value1=102351.60342395981, value2=104389.6446905981, value3=104776.48622510346, value4=104776.48622510346, value5=104776.48622510346, value6=104776.48622510346, value7=104776.48622510346, value8=104776.48622510346, value9=104776.48622510346), scoreUnit=ops/ms, rawData=[[104019.59942009942, 100853.32779022539, 103269.09084791028, 102397.4980292695, 101950.59363537583], [101573.01119181307, 101961.6474721076, 102351.60342395981, 101830.89650843975, 102723.52732366984], [100782.02299204767, 100880.84025982754, 104131.75033426119, 102869.49391535464, 104776.48622510346]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":5,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=103082.84485602807, scoreError=336.23810211581883, scoreConfidence=[102746.60675391225, 103419.08295814389], scorePercentiles=ScorePercentiles(value=102740.42532203064, value1=102986.22092942176, value2=103605.93096581091, value3=103627.49587401275, value4=103627.49587401275, value5=103627.49587401275, value6=103627.49587401275, value7=103627.49587401275, value8=103627.49587401275, value9=103627.49587401275), scoreUnit=ops/ms, rawData=[[103492.10307163533, 102896.6006691959, 103627.49587401275, 102740.42532203064, 102751.51542240671], [102986.22092942176, 103006.60976163321, 102936.7546530554, 102832.11173826705, 102766.6443996706], [103081.9799979654, 103094.50705630773, 103505.13633219531, 102933.0132522805, 103591.55436034303]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=101173.75249296638, scoreError=1264.8060051126886, scoreConfidence=[99908.94648785368, 102438.55849807907], scorePercentiles=ScorePercentiles(value=99185.2153535554, value1=101043.64528864236, value2=102630.83787462368, value3=103222.1714631878, value4=103222.1714631878, value5=103222.1714631878, value6=103222.1714631878, value7=103222.1714631878, value8=103222.1714631878, value9=103222.1714631878), scoreUnit=ops/ms, rawData=[[102150.90739212769, 102222.52134617638, 102236.61548224761, 102123.0075268795, 99498.95261886438], [103222.1714631878, 101988.43589892615, 100410.37732066831, 99712.20172140967, 101757.76244041382], [100442.08838965849, 99185.2153535554, 100874.36106891937, 100738.02408281867, 101043.64528864236]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":6,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.otherBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2672623.9977166834, scoreError=90857.77625580937, scoreConfidence=[2581766.221460874, 2763481.7739724927], scorePercentiles=ScorePercentiles(value=2367059.4835745655, value1=2695823.754104769, value2=2704831.9408413726, value3=2705514.282647544, value4=2705514.282647544, value5=2705514.282647544, value6=2705514.282647544, value7=2705514.282647544, value8=2705514.282647544, value9=2705514.282647544), scoreUnit=ops/ms, rawData=[[2695823.754104769, 2367059.4835745655, 2704377.0463039246, 2699108.903664965, 2695889.0304382015], [2699079.2256459035, 2691825.9978238293, 2699578.412785955, 2693583.7939747158, 2705514.282647544], [2693288.515075597, 2686722.948264872, 2702205.2530534216, 2684577.8660285943, 2670725.4523634017]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.otherBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2680506.786160648, scoreError=33634.55637372157, scoreConfidence=[2646872.2297869264, 2714141.3425343693], scorePercentiles=ScorePercentiles(value=2587370.443709131, value1=2689257.8138996437, value2=2708839.085919645, value3=2709699.76311555, value4=2709699.76311555, value5=2709699.76311555, value6=2709699.76311555, value7=2709699.76311555, value8=2709699.76311555, value9=2709699.76311555), scoreUnit=ops/ms, rawData=[[2587370.443709131, 2676106.3330415487, 2689257.8138996437, 2688373.3667595317, 2682722.9968245775], [2706042.0895221573, 2693995.6951759956, 2709699.76311555, 2696550.787148453, 2708265.3011223753], [2696931.780824163, 2663267.130020294, 2696434.565027128, 2668804.148119738, 2643779.57809943]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":7,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.otherBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2654913.2949247262, scoreError=123985.95026634775, scoreConfidence=[2530927.3446583785, 2778899.245191074], scorePercentiles=ScorePercentiles(value=2366065.5112541607, value1=2699185.1814515716, value2=2703667.6064290875, value3=2704467.145267866, value4=2704467.145267866, value5=2704467.145267866, value6=2704467.145267866, value7=2704467.145267866, value8=2704467.145267866, value9=2704467.145267866), scoreUnit=ops/ms, rawData=[[2701907.813020208, 2696268.298771779, 2699046.7897274573, 2703134.5805365685, 2686005.3441885486], [2704467.145267866, 2366065.5112541607, 2695078.8597571794, 2699529.485230546, 2695922.170106245], [2699524.1707989317, 2701739.022847612, 2372906.5736674685, 2699185.1814515716, 2702918.4772447534]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.otherBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2585022.6644677366, scoreError=130245.09600842759, scoreConfidence=[2454777.568459309, 2715267.760476164], scorePercentiles=ScorePercentiles(value=2167670.6364416275, value1=2599457.486356033, value2=2675326.303076792, value3=2691501.931565521, value4=2691501.931565521, value5=2691501.931565521, value6=2691501.931565521, value7=2691501.931565521, value8=2691501.931565521, value9=2691501.931565521), scoreUnit=ops/ms, rawData=[[2627501.1752287354, 2580228.9501864747, 2597266.734971277, 2615756.831786364, 2167670.6364416275], [2586029.1291058715, 2572960.285518471, 2638281.4050554917, 2555712.8190285983, 2647255.902087765], [2575321.590678138, 2599457.486356033, 2664542.550750973, 2655852.5382547067, 2691501.931565521]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":8,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.otherBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2676852.389264137, scoreError=91199.32624376185, scoreConfidence=[2585653.063020375, 2768051.715507899], scorePercentiles=ScorePercentiles(value=2368811.543935381, value1=2697616.768119219, value2=2706497.75875895, value3=2707715.2907083477, value4=2707715.2907083477, value5=2707715.2907083477, value6=2707715.2907083477, value7=2707715.2907083477, value8=2707715.2907083477, value9=2707715.2907083477), scoreUnit=ops/ms, rawData=[[2697595.3372755055, 2698537.394419771, 2707715.2907083477, 2696305.3800357035, 2696941.1008821693], [2697616.768119219, 2702705.063386602, 2705686.070792685, 2694799.65503855, 2699654.6177778933], [2692680.6162037263, 2368811.543935381, 2698905.075170393, 2695923.2053198568, 2698908.7198962467]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.otherBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2614856.4118722673, scoreError=34115.07160875654, scoreConfidence=[2580741.3402635106, 2648971.483481024], scorePercentiles=ScorePercentiles(value=2564998.5245198873, value1=2612410.416234041, value2=2661300.1102414792, value3=2675200.444690024, value4=2675200.444690024, value5=2675200.444690024, value6=2675200.444690024, value7=2675200.444690024, value8=2675200.444690024, value9=2675200.444690024), scoreUnit=ops/ms, rawData=[[2611196.938280069, 2652033.220609116, 2589639.3553861985, 2675200.444690024, 2640656.377394926], [2590897.853582021, 2601995.6163565614, 2564998.5245198873, 2627349.17074458, 2644606.011082584], [2625807.2957134745, 2585896.6634162646, 2633624.002625379, 2612410.416234041, 2566534.287448892]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":9,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.otherBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2676496.83515426, scoreError=91440.573382973, scoreConfidence=[2585056.261771287, 2767937.4085372332], scorePercentiles=ScorePercentiles(value=2367808.1094082543, value1=2698163.428894571, value2=2705365.9910619506, value3=2706787.365254381, value4=2706787.365254381, value5=2706787.365254381, value6=2706787.365254381, value7=2706787.365254381, value8=2706787.365254381, value9=2706787.365254381), scoreUnit=ops/ms, rawData=[[2692423.0354330856, 2706787.365254381, 2698163.428894571, 2699434.405603346, 2702527.719132114], [2698553.4069484794, 2699345.1125131864, 2367808.1094082543, 2698029.61953775, 2687718.1966836303], [2703688.9267214895, 2704418.4082669965, 2693508.289294956, 2697697.0271571577, 2697349.4764645]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.otherBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2585237.244524414, scoreError=32878.753933210806, scoreConfidence=[2552358.4905912033, 2618115.998457625], scorePercentiles=ScorePercentiles(value=2519643.7089164555, value1=2585445.3608351564, value2=2634182.6322008264, value3=2637495.2417243863, value4=2637495.2417243863, value5=2637495.2417243863, value6=2637495.2417243863, value7=2637495.2417243863, value8=2637495.2417243863, value9=2637495.2417243863), scoreUnit=ops/ms, rawData=[[2637495.2417243863, 2610423.9361436535, 2631974.2258517863, 2593169.9053242607, 2589213.0053637186], [2564658.8674174403, 2574045.4720237837, 2583706.870266283, 2571679.915415156, 2599159.1874019257], [2608297.2100854144, 2519643.7089164555, 2585445.3608351564, 2554278.0427193814, 2555367.718377408]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":10,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.textContentCheck\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=155929.81523562223, scoreError=662.5358060919239, scoreConfidence=[155267.27942953032, 156592.35104171414], scorePercentiles=ScorePercentiles(value=153985.38762939489, value1=156113.12189938975, value2=156423.43060726897, value3=156518.61215727887, value4=156518.61215727887, value5=156518.61215727887, value6=156518.61215727887, value7=156518.61215727887, value8=156518.61215727887, value9=156518.61215727887), scoreUnit=ops/ms, rawData=[[156230.71069140377, 156173.4814408301, 153985.38762939489, 156359.97624059572, 155937.45119008108], [156083.51333309565, 156011.53300135367, 155871.0046494779, 156316.29722905703, 156196.79982085555], [156113.12189938975, 156518.61215727887, 155221.2644764857, 156211.16065515697, 155716.91411987637]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.textContentCheck\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=150449.20912261767, scoreError=3034.7438406806577, scoreConfidence=[147414.465281937, 153483.95296329833], scorePercentiles=ScorePercentiles(value=146533.8457484901, value1=150378.62705356334, value2=154760.8000234267, value3=155112.46745954352, value4=155112.46745954352, value5=155112.46745954352, value6=155112.46745954352, value7=155112.46745954352, value8=155112.46745954352, value9=155112.46745954352), scoreUnit=ops/ms, rawData=[[147562.32447331163, 146919.92840564888, 146533.8457484901, 149431.99340857228, 149623.22172793045], [150378.62705356334, 155112.46745954352, 154526.3550660155, 150509.4053069165, 147218.81258428408], [151375.65419539824, 148363.62205931102, 153114.28356302352, 152536.70051612225, 153530.89527113372]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":11,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.textContentCheck\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=156259.91933032282, scoreError=292.62210300644284, scoreConfidence=[155967.2972273164, 156552.54143332926], scorePercentiles=ScorePercentiles(value=155844.31157353683, value1=156245.03110484907, value2=156766.68036729074, value3=156830.848118337, value4=156830.848118337, value5=156830.848118337, value6=156830.848118337, value7=156830.848118337, value8=156830.848118337, value9=156830.848118337), scoreUnit=ops/ms, rawData=[[156245.03110484907, 155879.23423483202, 156095.45712789905, 156067.44364136213, 156393.47413106388], [156830.848118337, 156127.55458730273, 155844.31157353683, 156285.4147970578, 156723.90186659325], [156057.30653389884, 156423.55911127597, 156230.51794712467, 156293.95597148928, 156400.7792082202]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.textContentCheck\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=147058.56562691744, scoreError=6941.9824872207455, scoreConfidence=[140116.58313969668, 154000.5481141382], scorePercentiles=ScorePercentiles(value=130790.37890478887, value1=148195.62966833048, value2=154663.74923074094, value3=154680.04793211026, value4=154680.04793211026, value5=154680.04793211026, value6=154680.04793211026, value7=154680.04793211026, value8=154680.04793211026, value9=154680.04793211026), scoreUnit=ops/ms, rawData=[[148195.62966833048, 150970.3891228496, 153210.09745493263, 154652.88342982804, 154680.04793211026], [149646.06333880438, 150140.70154558576, 147059.35486041065, 141839.45756883282, 130790.37890478887], [138096.7469151585, 141904.3166564228, 147788.95295505068, 149061.30788855362, 147842.15616210227]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":12,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.textContentCheck\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=155811.88330649625, scoreError=1798.885076389966, scoreConfidence=[154012.99823010628, 157610.76838288622], scorePercentiles=ScorePercentiles(value=149881.3062857884, value1=156170.8191688453, value2=156893.9358705331, value3=156985.25287892742, value4=156985.25287892742, value5=156985.25287892742, value6=156985.25287892742, value7=156985.25287892742, value8=156985.25287892742, value9=156985.25287892742), scoreUnit=ops/ms, rawData=[[155825.93646340026, 156287.10589798016, 156170.8191688453, 156549.89077271125, 156003.81095881623], [156529.99846502446, 156025.85330975667, 156985.25287892742, 156833.0578649369, 149881.3062857884], [156002.09795310255, 155651.4742902225, 155819.82841786704, 156291.48423257208, 156320.33263749297]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.textContentCheck\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=146125.99724354869, scoreError=2621.840196349384, scoreConfidence=[143504.1570471993, 148747.83743989808], scorePercentiles=ScorePercentiles(value=142110.05085289903, value1=145559.41381322622, value2=149378.936134749, value3=149415.75756265668, value4=149415.75756265668, value5=149415.75756265668, value6=149415.75756265668, value7=149415.75756265668, value8=149415.75756265668, value9=149415.75756265668), scoreUnit=ops/ms, rawData=[[147627.61060896592, 147786.8872500227, 145107.68081705985, 145260.50933848377, 142791.10085421838], [143873.67663397978, 145691.6524722547, 145559.41381322622, 145169.12706392776, 148882.97251436452], [142110.05085289903, 143955.1989786972, 149415.75756265668, 149354.38851614387, 149303.9313763301]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":13,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.textContentCheck\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=154835.23402865283, scoreError=2535.6674530288433, scoreConfidence=[152299.566575624, 157370.90148168168], scorePercentiles=ScorePercentiles(value=149729.01100740995, value1=155947.47312493756, value2=156608.63973803597, value3=156617.01415136253, value4=156617.01415136253, value5=156617.01415136253, value6=156617.01415136253, value7=156617.01415136253, value8=156617.01415136253, value9=156617.01415136253), scoreUnit=ops/ms, rawData=[[155653.09520821102, 155033.05219572788, 149729.01100740995, 149984.79725200278, 151647.2054989823], [155947.47312493756, 156013.0722712474, 156272.07194904747, 154409.49974663087, 156617.01415136253], [156155.0343181257, 156603.05679581827, 156178.441440297, 155866.4649440708, 156419.22052592097]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.textContentCheck\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=150019.93211383233, scoreError=4138.646814504739, scoreConfidence=[145881.2852993276, 154158.57892833705], scorePercentiles=ScorePercentiles(value=141847.99928577995, value1=150600.99368383663, value2=154054.77573316227, value3=154178.36787267585, value4=154178.36787267585, value5=154178.36787267585, value6=154178.36787267585, value7=154178.36787267585, value8=154178.36787267585, value9=154178.36787267585), scoreUnit=ops/ms, rawData=[[147315.93354357762, 147761.8231080875, 150465.85820468407, 150584.51800401654, 150854.58174432084], [150600.99368383663, 153422.1254060223, 153435.6836635383, 152814.41284740934, 153972.38097348655], [154178.36787267585, 152200.1304105055, 148428.2639986952, 141847.99928577995, 142415.9089608489]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":14,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.nested.CommonBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=149758.67842734433, scoreError=293.5374748750323, scoreConfidence=[149465.14095246932, 150052.21590221935], scorePercentiles=ScorePercentiles(value=149127.12050173787, value1=149747.8700940119, value2=150096.17489407328, value3=150103.77167623633, value4=150103.77167623633, value5=150103.77167623633, value6=150103.77167623633, value7=150103.77167623633, value8=150103.77167623633, value9=150103.77167623633), scoreUnit=ops/ms, rawData=[[149625.90822638196, 149747.8700940119, 149579.58125309373, 149828.73739142198, 150103.77167623633], [149413.02566654282, 149980.31673364484, 149714.467340381, 150091.11037263126, 150039.17963764226], [149750.44060933887, 149651.932190779, 149651.61032285137, 150075.1043934694, 149127.12050173787]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.nested.CommonBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=145509.90114707965, scoreError=2267.0081771263035, scoreConfidence=[143242.89296995336, 147776.90932420595], scorePercentiles=ScorePercentiles(value=141948.21669972295, value1=145896.9469845177, value2=148521.97786454117, value3=148745.70615182133, value4=148745.70615182133, value5=148745.70615182133, value6=148745.70615182133, value7=148745.70615182133, value8=148745.70615182133, value9=148745.70615182133), scoreUnit=ops/ms, rawData=[[145366.8036034026, 142299.2094795828, 145896.9469845177, 148372.82567302109, 143367.41459816665], [144647.7630097708, 146694.008288706, 147248.68951792808, 145884.82763481166, 148745.70615182133], [142650.6802938886, 141948.21669972295, 146317.94466998376, 146642.89172206703, 146564.58887880377]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":15,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.CommonBenchmark.longBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=8.442082734074419E-4, scoreError=6.9559958875993325E-6, scoreConfidence=[8.372522775198425E-4, 8.511642692950413E-4], scorePercentiles=ScorePercentiles(value=8.362481443513727E-4, value1=8.425114618720137E-4, value2=8.554739693481276E-4, value3=8.625207558159261E-4, value4=8.625207558159261E-4, value5=8.625207558159261E-4, value6=8.625207558159261E-4, value7=8.625207558159261E-4, value8=8.625207558159261E-4, value9=8.625207558159261E-4), scoreUnit=ms/op, rawData=[[8.467816995242087E-4, 8.430582604490501E-4, 8.410846282796423E-4, 8.42466093901459E-4, 8.405569934838612E-4], [8.503089526071239E-4, 8.442610558480163E-4, 8.425114618720137E-4, 8.363425717030328E-4, 8.362481443513727E-4], [8.625207558159261E-4, 8.421939674028873E-4, 8.507761117029286E-4, 8.427389731494616E-4, 8.412744310206468E-4]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.CommonBenchmark.longBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=8.972137714852465E-4, scoreError=2.3434673818304643E-5, scoreConfidence=[8.737790976669418E-4, 9.206484453035511E-4], scorePercentiles=ScorePercentiles(value=8.558059337699079E-4, value1=9.054588208104977E-4, value2=9.210053750173296E-4, value3=9.224433254813165E-4, value4=9.224433254813165E-4, value5=9.224433254813165E-4, value6=9.224433254813165E-4, value7=9.224433254813165E-4, value8=9.224433254813165E-4, value9=9.224433254813165E-4), scoreUnit=ms/op, rawData=[[9.054588208104977E-4, 9.156973236479475E-4, 9.224433254813165E-4, 9.00828188842228E-4, 9.107754028023643E-4], [9.200467413746716E-4, 9.115043882555634E-4, 9.084565765820204E-4, 8.767418303471348E-4, 9.053852830569797E-4], [9.092420760590472E-4, 8.814736623470185E-4, 8.780006803868319E-4, 8.56346338515166E-4, 8.558059337699079E-4]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":16,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2.1647588413775662E-5, scoreError=2.534360886616622E-7, scoreConfidence=[2.1394152325114E-5, 2.1901024502437323E-5], scorePercentiles=ScorePercentiles(value=2.1361077888634525E-5, value1=2.1516871084180382E-5, value2=2.202101373020578E-5, value3=2.2094171724530248E-5, value4=2.2094171724530248E-5, value5=2.2094171724530248E-5, value6=2.2094171724530248E-5, value7=2.2094171724530248E-5, value8=2.2094171724530248E-5, value9=2.2094171724530248E-5), scoreUnit=ms/op, rawData=[[2.1972241733989467E-5, 2.1912187967005716E-5, 2.2094171724530248E-5, 2.179201842226699E-5, 2.1931862502808358E-5], [2.149269239898969E-5, 2.1588503852849248E-5, 2.1465568243562443E-5, 2.1469185115384166E-5, 2.1741589290850682E-5], [2.1361077888634525E-5, 2.143654181363715E-5, 2.1438373271465475E-5, 2.1516871084180382E-5, 2.150094089648039E-5]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2.369188528309145E-5, scoreError=5.301074950535872E-7, scoreConfidence=[2.3161777788037864E-5, 2.4221992778145036E-5], scorePercentiles=ScorePercentiles(value=2.3172474054863192E-5, value1=2.3490112690973724E-5, value2=2.454071797596328E-5, value3=2.5191244066120582E-5, value4=2.5191244066120582E-5, value5=2.5191244066120582E-5, value6=2.5191244066120582E-5, value7=2.5191244066120582E-5, value8=2.5191244066120582E-5, value9=2.5191244066120582E-5), scoreUnit=ms/op, rawData=[[2.3771999760650284E-5, 2.3483926731481622E-5, 2.3490112690973724E-5, 2.4107033915858415E-5, 2.34726374905896E-5], [2.4074384081672598E-5, 2.372326317951973E-5, 2.3828017426694297E-5, 2.354594683216512E-5, 2.5191244066120582E-5], [2.344044540404836E-5, 2.3353214887948224E-5, 2.3172474054863192E-5, 2.3237906906642226E-5, 2.3485671817143782E-5]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":17,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.CommonBenchmark.mathBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=6.6933720644037785E-6, scoreError=4.284099269036389E-8, scoreConfidence=[6.650531071713415E-6, 6.736213057094142E-6], scorePercentiles=ScorePercentiles(value=6.6609185162827615E-6, value1=6.684420736588999E-6, value2=6.765477541364906E-6, value3=6.826386388870456E-6, value4=6.826386388870456E-6, value5=6.826386388870456E-6, value6=6.826386388870456E-6, value7=6.826386388870456E-6, value8=6.826386388870456E-6, value9=6.826386388870456E-6), scoreUnit=ms/op, rawData=[[6.705546103510891E-6, 6.688009711991288E-6, 6.675740330964435E-6, 6.826386388870456E-6, 6.676012715704043E-6], [6.686350850004439E-6, 6.688641367633173E-6, 6.724871643027872E-6, 6.680527149229836E-6, 6.692928745146837E-6], [6.667844712936194E-6, 6.672262240006864E-6, 6.6609185162827615E-6, 6.684420736588999E-6, 6.6701197541585935E-6]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.CommonBenchmark.mathBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=6.7916806977233165E-6, scoreError=8.141136686930697E-8, scoreConfidence=[6.710269330854009E-6, 6.8730920645926235E-6], scorePercentiles=ScorePercentiles(value=6.701530533532881E-6, value1=6.76503126382059E-6, value2=6.93258474346898E-6, value3=6.9992093955689395E-6, value4=6.9992093955689395E-6, value5=6.9992093955689395E-6, value6=6.9992093955689395E-6, value7=6.9992093955689395E-6, value8=6.9992093955689395E-6, value9=6.9992093955689395E-6), scoreUnit=ms/op, rawData=[[6.9992093955689395E-6, 6.841248992103788E-6, 6.8377719004912886E-6, 6.805358906204384E-6, 6.7621808477331E-6], [6.763934522989531E-6, 6.7472874171127275E-6, 6.701530533532881E-6, 6.795685926801394E-6, 6.888168308735673E-6], [6.737488746443598E-6, 6.713748179732903E-6, 6.76503126382059E-6, 6.74531087032438E-6, 6.7712546542545655E-6]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":18,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.JvmTestBenchmark.cosBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":20,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=3.472485344175375, scoreError=0.012791880282928818, scoreConfidence=[3.4596934638924464, 3.485277224458304], scorePercentiles=ScorePercentiles(value=3.453075891047211, value1=3.4685811482869786, value2=3.4948560212467537, value3=3.5041159990825363, value4=3.5041159990825363, value5=3.5041159990825363, value6=3.5041159990825363, value7=3.5041159990825363, value8=3.5041159990825363, value9=3.5041159990825363), scoreUnit=ns/op, rawData=[[3.4642370800798212, 3.4706553850798256, 3.474761954482654, 3.4682631712744367, 3.453075891047211], [3.476626015715823, 3.476141586621772, 3.4886827026895655, 3.468554957075292, 3.5041159990825363], [3.4685811482869786, 3.4653618089650773, 3.4623219108095027, 3.478184169683356, 3.467716381736783]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.JvmTestBenchmark.cosBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":20,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=3.5445401759264423, scoreError=0.027518784872486504, scoreConfidence=[3.5170213910539556, 3.572058960798929], scorePercentiles=ScorePercentiles(value=3.4969774557713085, value1=3.5513531915454446, value2=3.5795151731837596, value3=3.5837249530409823, value4=3.5837249530409823, value5=3.5837249530409823, value6=3.5837249530409823, value7=3.5837249530409823, value8=3.5837249530409823, value9=3.5837249530409823), scoreUnit=ns/op, rawData=[[3.528590619541914, 3.557976383765043, 3.545772757821706, 3.555809524223283, 3.4969774557713085], [3.5243222485430277, 3.5513531915454446, 3.5132598145841727, 3.5259866614316198, 3.515113627690907], [3.5591468493343243, 3.5767086532789443, 3.5837249530409823, 3.562040342574859, 3.5713195557490893]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":19,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":20,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=0.5348082435809666, scoreError=0.004754411745761727, scoreConfidence=[0.5300538318352048, 0.5395626553267283], scorePercentiles=ScorePercentiles(value=0.5302910115269889, value1=0.5333481161475299, value2=0.543341875541569, value3=0.548234903523163, value4=0.548234903523163, value5=0.548234903523163, value6=0.548234903523163, value7=0.548234903523163, value8=0.548234903523163, value9=0.548234903523163), scoreUnit=ns/op, rawData=[[0.5339123340330779, 0.532330907839245, 0.5333228976746596, 0.548234903523163, 0.5378643784134242], [0.532801186990189, 0.5326615503320409, 0.5321833380694293, 0.5334943009002872, 0.5344929825602898], [0.5333481161475299, 0.531641982676271, 0.5302910115269889, 0.5400798568871731, 0.5354639061407278]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":20,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=0.5428283650466172, scoreError=0.004009450689061885, scoreConfidence=[0.5388189143575554, 0.5468378157356791], scorePercentiles=ScorePercentiles(value=0.5361950215665793, value1=0.5441919549888109, value2=0.5466691090109008, value3=0.5473154192262027, value4=0.5473154192262027, value5=0.5473154192262027, value6=0.5473154192262027, value7=0.5473154192262027, value8=0.5473154192262027, value9=0.5473154192262027), scoreUnit=ns/op, rawData=[[0.5436232181058153, 0.5416267009171597, 0.5473154192262027, 0.5441919549888109, 0.5418589777913709], [0.5453811097267581, 0.5367109350651378, 0.5389290808042594, 0.5377944541258022, 0.5361950215665793], [0.5459453617961894, 0.5454892425763844, 0.5457198126333123, 0.5454059508414439, 0.546238235534033]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null}]}" + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 5 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:19.816161Z", + "start_time": "2025-10-10T06:02:19.143374Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_31_jupyter", + "Line_32_jupyter", + "Line_33_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Helper class for tracking the information we need to use later\n", + "data class RunData(val score: Double, val range: ClosedFloatingPointRange)\n", + "data class BenchmarkData(\n", + " val name: String,\n", + " val params: String,\n", + " val mode: String, // \"avgt\" or \"thrpt\"\n", + " val unit: String,\n", + " val runOld: RunData,\n", + " val runNew: RunData\n", + ")\n", + "val resultData = combinedData.map {\n", + " val paramInfo = it.params?.let { params -> \"data=${params.data},text=\\\"${params.text}\\\",value=${params.value}\"} ?: \"\"\n", + " BenchmarkData(\n", + " name = it.benchmark,\n", + " params = paramInfo,\n", + " mode = it.mode,\n", + " unit = it.primaryMetric.scoreUnit,\n", + " runOld = RunData(\n", + " score = it.primaryMetric.score,\n", + " range = it.primaryMetric.scoreConfidence[0]..it.primaryMetric.scoreConfidence[1]\n", + " ),\n", + " runNew = RunData(\n", + " score = it.primaryMetric1.score,\n", + " range = it.primaryMetric1.scoreConfidence[0]..it.primaryMetric.scoreConfidence[1]\n", + " )\n", + " )\n", + "}.toDataFrame()\n", + "resultData" + ], + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nameparamsmodeunitrunOldrunNew
test.InheritedBenchmark.baseBenchmarkthrptops/sRunData(score=1124169.302037032, rang...RunData(score=1104972.6706894366, ran...
test.InheritedBenchmark.inheritedBenc...thrptops/sRunData(score=1.4563056890183368E8, r...RunData(score=1.4634989745609665E8, r...
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/msRunData(score=215040.42648766268, ran...RunData(score=213019.57841385395, ran...
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/msRunData(score=216167.94947592515, ran...RunData(score=214917.7241256119, rang...
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/msRunData(score=102937.09492915806, ran...RunData(score=102424.75929129767, ran...
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/msRunData(score=103082.84485602807, ran...RunData(score=101173.75249296638, ran...
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/msRunData(score=2672623.9977166834, ran...RunData(score=2680506.786160648, rang...
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/msRunData(score=2654913.2949247262, ran...RunData(score=2585022.6644677366, ran...
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/msRunData(score=2676852.389264137, rang...RunData(score=2614856.4118722673, ran...
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/msRunData(score=2676496.83515426, range...RunData(score=2585237.244524414, rang...
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/msRunData(score=155929.81523562223, ran...RunData(score=150449.20912261767, ran...
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/msRunData(score=156259.91933032282, ran...RunData(score=147058.56562691744, ran...
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/msRunData(score=155811.88330649625, ran...RunData(score=146125.99724354869, ran...
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/msRunData(score=154835.23402865283, ran...RunData(score=150019.93211383233, ran...
test.nested.CommonBenchmark.mathBench...thrptops/msRunData(score=149758.67842734433, ran...RunData(score=145509.90114707965, ran...
test.CommonBenchmark.longBenchmarkavgtms/opRunData(score=8.442082734074419E-4, r...RunData(score=8.972137714852465E-4, r...
test.CommonBenchmark.longBlackholeBen...avgtms/opRunData(score=2.1647588413775662E-5, ...RunData(score=2.369188528309145E-5, r...
test.CommonBenchmark.mathBenchmarkavgtms/opRunData(score=6.6933720644037785E-6, ...RunData(score=6.7916806977233165E-6, ...
test.JvmTestBenchmark.cosBenchmarkavgtns/opRunData(score=3.472485344175375, rang...RunData(score=3.5445401759264423, ran...
test.JvmTestBenchmark.sqrtBenchmarkavgtns/opRunData(score=0.5348082435809666, ran...RunData(score=0.5428283650466172, ran...
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"runOld\",\"runNew\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_31_jupyter.RunData\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_31_jupyter.RunData\"}],\"nrow\":20,\"ncol\":6,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.InheritedBenchmark.baseBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"runOld\":\"RunData(score=1124169.302037032, range=1048963.3505892197..1199375.2534848445)\",\"runNew\":\"RunData(score=1104972.6706894366, range=1055663.3534587221..1199375.2534848445)\"},{\"name\":\"test.InheritedBenchmark.inheritedBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"runOld\":\"RunData(score=1.4563056890183368E8, range=1.4257469243792653E8..1.4868644536574084E8)\",\"runNew\":\"RunData(score=1.4634989745609665E8, range=1.437328117109918E8..1.4868644536574084E8)\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=215040.42648766268, range=209159.44934415395..220921.40363117142)\",\"runNew\":\"RunData(score=213019.57841385395, range=204650.0532153221..220921.40363117142)\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=216167.94947592515, range=209816.26197479176..222519.63697705854)\",\"runNew\":\"RunData(score=214917.7241256119, range=208616.32754332913..222519.63697705854)\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=102937.09492915806, range=102198.8667788953..103675.32307942082)\",\"runNew\":\"RunData(score=102424.75929129767, range=101113.46667154715..103675.32307942082)\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=103082.84485602807, range=102746.60675391225..103419.08295814389)\",\"runNew\":\"RunData(score=101173.75249296638, range=99908.94648785368..103419.08295814389)\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=2672623.9977166834, range=2581766.221460874..2763481.7739724927)\",\"runNew\":\"RunData(score=2680506.786160648, range=2646872.2297869264..2763481.7739724927)\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=2654913.2949247262, range=2530927.3446583785..2778899.245191074)\",\"runNew\":\"RunData(score=2585022.6644677366, range=2454777.568459309..2778899.245191074)\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=2676852.389264137, range=2585653.063020375..2768051.715507899)\",\"runNew\":\"RunData(score=2614856.4118722673, range=2580741.3402635106..2768051.715507899)\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=2676496.83515426, range=2585056.261771287..2767937.4085372332)\",\"runNew\":\"RunData(score=2585237.244524414, range=2552358.4905912033..2767937.4085372332)\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=155929.81523562223, range=155267.27942953032..156592.35104171414)\",\"runNew\":\"RunData(score=150449.20912261767, range=147414.465281937..156592.35104171414)\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=156259.91933032282, range=155967.2972273164..156552.54143332926)\",\"runNew\":\"RunData(score=147058.56562691744, range=140116.58313969668..156552.54143332926)\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=155811.88330649625, range=154012.99823010628..157610.76838288622)\",\"runNew\":\"RunData(score=146125.99724354869, range=143504.1570471993..157610.76838288622)\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=154835.23402865283, range=152299.566575624..157370.90148168168)\",\"runNew\":\"RunData(score=150019.93211383233, range=145881.2852993276..157370.90148168168)\"},{\"name\":\"test.nested.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=149758.67842734433, range=149465.14095246932..150052.21590221935)\",\"runNew\":\"RunData(score=145509.90114707965, range=143242.89296995336..150052.21590221935)\"},{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"runOld\":\"RunData(score=8.442082734074419E-4, range=8.372522775198425E-4..8.511642692950413E-4)\",\"runNew\":\"RunData(score=8.972137714852465E-4, range=8.737790976669418E-4..8.511642692950413E-4)\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"runOld\":\"RunData(score=2.1647588413775662E-5, range=2.1394152325114E-5..2.1901024502437323E-5)\",\"runNew\":\"RunData(score=2.369188528309145E-5, range=2.3161777788037864E-5..2.1901024502437323E-5)\"},{\"name\":\"test.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"runOld\":\"RunData(score=6.6933720644037785E-6, range=6.650531071713415E-6..6.736213057094142E-6)\",\"runNew\":\"RunData(score=6.7916806977233165E-6, range=6.710269330854009E-6..6.736213057094142E-6)\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"runOld\":\"RunData(score=3.472485344175375, range=3.4596934638924464..3.485277224458304)\",\"runNew\":\"RunData(score=3.5445401759264423, range=3.5170213910539556..3.485277224458304)\"},{\"name\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"runOld\":\"RunData(score=0.5348082435809666, range=0.5300538318352048..0.5395626553267283)\",\"runNew\":\"RunData(score=0.5428283650466172, range=0.5388189143575554..0.5395626553267283)\"}]}" + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 6 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:20.375377Z", + "start_time": "2025-10-10T06:02:19.928628Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_36_jupyter", + "Line_37_jupyter", + "Line_38_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Flatten the data so it is easier to plot\n", + "val mergedData = resultData.unfold { runOld }.unfold { runNew }.flatten()\n", + "mergedData" + ], + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nameparamsmodeunitscorerangescore1range1
test.InheritedBenchmark.baseBenchmarkthrptops/s1124169.3020371048963.3505892197..1199375.25348484451104972.6706891055663.3534587221..1199375.2534848445
test.InheritedBenchmark.inheritedBenc...thrptops/s145630568.9018341.4257469243792653E8..1.4868644536574...146349897.4560971.437328117109918E8..1.48686445365740...
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms215040.426488209159.44934415395..220921.40363117142213019.578414204650.0532153221..220921.40363117142
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms216167.949476209816.26197479176..222519.63697705854214917.724126208616.32754332913..222519.63697705854
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms102937.094929102198.8667788953..103675.32307942082102424.759291101113.46667154715..103675.32307942082
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms103082.844856102746.60675391225..103419.08295814389101173.75249399908.94648785368..103419.08295814389
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms2672623.9977172581766.221460874..2763481.77397249272680506.7861612646872.2297869264..2763481.7739724927
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms2654913.2949252530927.3446583785..2778899.2451910742585022.6644682454777.568459309..2778899.245191074
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms2676852.3892642585653.063020375..2768051.7155078992614856.4118722580741.3402635106..2768051.715507899
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms2676496.8351542585056.261771287..2767937.40853723322585237.2445242552358.4905912033..2767937.4085372332
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/ms155929.815236155267.27942953032..156592.35104171414150449.209123147414.465281937..156592.35104171414
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/ms156259.919330155967.2972273164..156552.54143332926147058.565627140116.58313969668..156552.54143332926
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/ms155811.883306154012.99823010628..157610.76838288622146125.997244143504.1570471993..157610.76838288622
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/ms154835.234029152299.566575624..157370.90148168168150019.932114145881.2852993276..157370.90148168168
test.nested.CommonBenchmark.mathBench...thrptops/ms149758.678427149465.14095246932..150052.21590221935145509.901147143242.89296995336..150052.21590221935
test.CommonBenchmark.longBenchmarkavgtms/op0.0008448.372522775198425E-4..8.5116426929504...0.0008978.737790976669418E-4..8.5116426929504...
test.CommonBenchmark.longBlackholeBen...avgtms/op0.0000222.1394152325114E-5..2.190102450243732...0.0000242.3161777788037864E-5..2.190102450243...
test.CommonBenchmark.mathBenchmarkavgtms/op0.0000076.650531071713415E-6..6.7362130570941...0.0000076.710269330854009E-6..6.7362130570941...
test.JvmTestBenchmark.cosBenchmarkavgtns/op3.4724853.4596934638924464..3.4852772244583043.5445403.5170213910539556..3.485277224458304
test.JvmTestBenchmark.sqrtBenchmarkavgtns/op0.5348080.5300538318352048..0.53956265532672830.5428280.5388189143575554..0.5395626553267283
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"score\",\"range\",\"score1\",\"range1\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"}],\"nrow\":20,\"ncol\":8,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.InheritedBenchmark.baseBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1124169.302037032,\"range\":\"1048963.3505892197..1199375.2534848445\",\"score1\":1104972.6706894366,\"range1\":\"1055663.3534587221..1199375.2534848445\"},{\"name\":\"test.InheritedBenchmark.inheritedBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1.4563056890183368E8,\"range\":\"1.4257469243792653E8..1.4868644536574084E8\",\"score1\":1.4634989745609665E8,\"range1\":\"1.437328117109918E8..1.4868644536574084E8\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":215040.42648766268,\"range\":\"209159.44934415395..220921.40363117142\",\"score1\":213019.57841385395,\"range1\":\"204650.0532153221..220921.40363117142\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":216167.94947592515,\"range\":\"209816.26197479176..222519.63697705854\",\"score1\":214917.7241256119,\"range1\":\"208616.32754332913..222519.63697705854\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":102937.09492915806,\"range\":\"102198.8667788953..103675.32307942082\",\"score1\":102424.75929129767,\"range1\":\"101113.46667154715..103675.32307942082\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":103082.84485602807,\"range\":\"102746.60675391225..103419.08295814389\",\"score1\":101173.75249296638,\"range1\":\"99908.94648785368..103419.08295814389\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2672623.9977166834,\"range\":\"2581766.221460874..2763481.7739724927\",\"score1\":2680506.786160648,\"range1\":\"2646872.2297869264..2763481.7739724927\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2654913.2949247262,\"range\":\"2530927.3446583785..2778899.245191074\",\"score1\":2585022.6644677366,\"range1\":\"2454777.568459309..2778899.245191074\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676852.389264137,\"range\":\"2585653.063020375..2768051.715507899\",\"score1\":2614856.4118722673,\"range1\":\"2580741.3402635106..2768051.715507899\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676496.83515426,\"range\":\"2585056.261771287..2767937.4085372332\",\"score1\":2585237.244524414,\"range1\":\"2552358.4905912033..2767937.4085372332\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155929.81523562223,\"range\":\"155267.27942953032..156592.35104171414\",\"score1\":150449.20912261767,\"range1\":\"147414.465281937..156592.35104171414\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":156259.91933032282,\"range\":\"155967.2972273164..156552.54143332926\",\"score1\":147058.56562691744,\"range1\":\"140116.58313969668..156552.54143332926\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155811.88330649625,\"range\":\"154012.99823010628..157610.76838288622\",\"score1\":146125.99724354869,\"range1\":\"143504.1570471993..157610.76838288622\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":154835.23402865283,\"range\":\"152299.566575624..157370.90148168168\",\"score1\":150019.93211383233,\"range1\":\"145881.2852993276..157370.90148168168\"},{\"name\":\"test.nested.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":149758.67842734433,\"range\":\"149465.14095246932..150052.21590221935\",\"score1\":145509.90114707965,\"range1\":\"143242.89296995336..150052.21590221935\"},{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":8.442082734074419E-4,\"range\":\"8.372522775198425E-4..8.511642692950413E-4\",\"score1\":8.972137714852465E-4,\"range1\":\"8.737790976669418E-4..8.511642692950413E-4\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":2.1647588413775662E-5,\"range\":\"2.1394152325114E-5..2.1901024502437323E-5\",\"score1\":2.369188528309145E-5,\"range1\":\"2.3161777788037864E-5..2.1901024502437323E-5\"},{\"name\":\"test.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":6.6933720644037785E-6,\"range\":\"6.650531071713415E-6..6.736213057094142E-6\",\"score1\":6.7916806977233165E-6,\"range1\":\"6.710269330854009E-6..6.736213057094142E-6\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":3.472485344175375,\"range\":\"3.4596934638924464..3.485277224458304\",\"score1\":3.5445401759264423,\"range1\":\"3.5170213910539556..3.485277224458304\"},{\"name\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":0.5348082435809666,\"range\":\"0.5300538318352048..0.5395626553267283\",\"score1\":0.5428283650466172,\"range1\":\"0.5388189143575554..0.5395626553267283\"}]}" + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 7 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:20.919876Z", + "start_time": "2025-10-10T06:02:20.456365Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_40_jupyter", + "Line_41_jupyter", + "Line_42_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Before plotting the data, we calculate the change between the two runs. This is saved\n", + "// in \"scoreDiff\". This is done slightly different depending on the test mode:\n", + "//\n", + "// - \"avgt\": For the average time we use \"oldScore - newScore\", so improvements in the\n", + "// benchmark result in positive numbers.\n", + "// - \"thrpt\": For throughput, we use \"newScore - oldScore\", so improvements here also\n", + "// result in positive numbers.\n", + "//\n", + "// We also normalize this value as a percentage change from `scoreOld`. This is saved in\n", + "// \"scoreDiffPercentage\".\n", + "val plotData = mergedData\n", + " .add(\"diffScore\") {\n", + " when (mode) {\n", + " \"avgt\" -> score - score1\n", + " \"thrpt\" -> score1 - score\n", + " else -> error(\"Unknown mode: $mode\")\n", + " }\n", + " }\n", + " .add(\"diffScorePercentage\") {\n", + " (get(\"diffScore\") as Double) * 100.0 / score\n", + " }\n", + " .add(\"testLabel\") {\n", + " if (params.isNullOrBlank()) {\n", + " name\n", + " } else {\n", + " \"$name\\n[$params]\"\n", + " }\n", + " }\n", + " .add(\"barColor\") {\n", + " val value = get(\"diffScorePercentage\") as Double\n", + " if (value < 0.0) \"neg\" else \"pos\"\n", + " }\n", + "plotData" + ], + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nameparamsmodeunitscorerangescore1range1diffScorediffScorePercentagetestLabelbarColor
test.InheritedBenchmark.baseBenchmarkthrptops/s1124169.3020371048963.3505892197..1199375.25348484451104972.6706891055663.3534587221..1199375.2534848445-19196.631348-1.707628test.InheritedBenchmark.baseBenchmarkneg
test.InheritedBenchmark.inheritedBenc...thrptops/s145630568.9018341.4257469243792653E8..1.4868644536574...146349897.4560971.437328117109918E8..1.48686445365740...719328.5542630.493941test.InheritedBenchmark.inheritedBenc...pos
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms215040.426488209159.44934415395..220921.40363117142213019.578414204650.0532153221..220921.40363117142-2020.848074-0.939753test.ParamBenchmark.mathBenchmark\n", + "[da...neg
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms216167.949476209816.26197479176..222519.63697705854214917.724126208616.32754332913..222519.63697705854-1250.225350-0.578358test.ParamBenchmark.mathBenchmark\n", + "[da...neg
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms102937.094929102198.8667788953..103675.32307942082102424.759291101113.46667154715..103675.32307942082-512.335638-0.497717test.ParamBenchmark.mathBenchmark\n", + "[da...neg
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms103082.844856102746.60675391225..103419.08295814389101173.75249399908.94648785368..103419.08295814389-1909.092363-1.851998test.ParamBenchmark.mathBenchmark\n", + "[da...neg
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms2672623.9977172581766.221460874..2763481.77397249272680506.7861612646872.2297869264..2763481.77397249277882.7884440.294946test.ParamBenchmark.otherBenchmark\n", + "[d...pos
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms2654913.2949252530927.3446583785..2778899.2451910742585022.6644682454777.568459309..2778899.245191074-69890.630457-2.632501test.ParamBenchmark.otherBenchmark\n", + "[d...neg
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms2676852.3892642585653.063020375..2768051.7155078992614856.4118722580741.3402635106..2768051.715507899-61995.977392-2.316003test.ParamBenchmark.otherBenchmark\n", + "[d...neg
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms2676496.8351542585056.261771287..2767937.40853723322585237.2445242552358.4905912033..2767937.4085372332-91259.590630-3.409666test.ParamBenchmark.otherBenchmark\n", + "[d...neg
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/ms155929.815236155267.27942953032..156592.35104171414150449.209123147414.465281937..156592.35104171414-5480.606113-3.514790test.ParamBenchmark.textContentCheck\n", + "...neg
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/ms156259.919330155967.2972273164..156552.54143332926147058.565627140116.58313969668..156552.54143332926-9201.353703-5.888493test.ParamBenchmark.textContentCheck\n", + "...neg
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/ms155811.883306154012.99823010628..157610.76838288622146125.997244143504.1570471993..157610.76838288622-9685.886063-6.216398test.ParamBenchmark.textContentCheck\n", + "...neg
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/ms154835.234029152299.566575624..157370.90148168168150019.932114145881.2852993276..157370.90148168168-4815.301915-3.109952test.ParamBenchmark.textContentCheck\n", + "...neg
test.nested.CommonBenchmark.mathBench...thrptops/ms149758.678427149465.14095246932..150052.21590221935145509.901147143242.89296995336..150052.21590221935-4248.777280-2.837083test.nested.CommonBenchmark.mathBench...neg
test.CommonBenchmark.longBenchmarkavgtms/op0.0008448.372522775198425E-4..8.5116426929504...0.0008978.737790976669418E-4..8.5116426929504...-0.000053-6.278723test.CommonBenchmark.longBenchmarkneg
test.CommonBenchmark.longBlackholeBen...avgtms/op0.0000222.1394152325114E-5..2.190102450243732...0.0000242.3161777788037864E-5..2.190102450243...-0.000002-9.443532test.CommonBenchmark.longBlackholeBen...neg
test.CommonBenchmark.mathBenchmarkavgtms/op0.0000076.650531071713415E-6..6.7362130570941...0.0000076.710269330854009E-6..6.7362130570941...-0.000000-1.468746test.CommonBenchmark.mathBenchmarkneg
test.JvmTestBenchmark.cosBenchmarkavgtns/op3.4724853.4596934638924464..3.4852772244583043.5445403.5170213910539556..3.485277224458304-0.072055-2.075022test.JvmTestBenchmark.cosBenchmarkneg
test.JvmTestBenchmark.sqrtBenchmarkavgtns/op0.5348080.5300538318352048..0.53956265532672830.5428280.5388189143575554..0.5395626553267283-0.008020-1.499626test.JvmTestBenchmark.sqrtBenchmarkneg
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"score\",\"range\",\"score1\",\"range1\",\"diffScore\",\"diffScorePercentage\",\"testLabel\",\"barColor\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":20,\"ncol\":12,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.InheritedBenchmark.baseBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1124169.302037032,\"range\":\"1048963.3505892197..1199375.2534848445\",\"score1\":1104972.6706894366,\"range1\":\"1055663.3534587221..1199375.2534848445\",\"diffScore\":-19196.63134759548,\"diffScorePercentage\":-1.7076281404242712,\"testLabel\":\"test.InheritedBenchmark.baseBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.InheritedBenchmark.inheritedBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1.4563056890183368E8,\"range\":\"1.4257469243792653E8..1.4868644536574084E8\",\"score1\":1.4634989745609665E8,\"range1\":\"1.437328117109918E8..1.4868644536574084E8\",\"diffScore\":719328.5542629659,\"diffScorePercentage\":0.4939406332662542,\"testLabel\":\"test.InheritedBenchmark.inheritedBenchmark\",\"barColor\":\"pos\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":215040.42648766268,\"range\":\"209159.44934415395..220921.40363117142\",\"score1\":213019.57841385395,\"range1\":\"204650.0532153221..220921.40363117142\",\"diffScore\":-2020.8480738087383,\"diffScorePercentage\":-0.9397526348026837,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":216167.94947592515,\"range\":\"209816.26197479176..222519.63697705854\",\"score1\":214917.7241256119,\"range1\":\"208616.32754332913..222519.63697705854\",\"diffScore\":-1250.225350313267,\"diffScorePercentage\":-0.5783583335754896,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":102937.09492915806,\"range\":\"102198.8667788953..103675.32307942082\",\"score1\":102424.75929129767,\"range1\":\"101113.46667154715..103675.32307942082\",\"diffScore\":-512.335637860393,\"diffScorePercentage\":-0.4977172108975735,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":103082.84485602807,\"range\":\"102746.60675391225..103419.08295814389\",\"score1\":101173.75249296638,\"range1\":\"99908.94648785368..103419.08295814389\",\"diffScore\":-1909.092363061689,\"diffScorePercentage\":-1.8519981338583025,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2672623.9977166834,\"range\":\"2581766.221460874..2763481.7739724927\",\"score1\":2680506.786160648,\"range1\":\"2646872.2297869264..2763481.7739724927\",\"diffScore\":7882.78844396444,\"diffScorePercentage\":0.2949456583005684,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"pos\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2654913.2949247262,\"range\":\"2530927.3446583785..2778899.245191074\",\"score1\":2585022.6644677366,\"range1\":\"2454777.568459309..2778899.245191074\",\"diffScore\":-69890.63045698963,\"diffScorePercentage\":-2.6325014301068244,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676852.389264137,\"range\":\"2585653.063020375..2768051.715507899\",\"score1\":2614856.4118722673,\"range1\":\"2580741.3402635106..2768051.715507899\",\"diffScore\":-61995.97739186976,\"diffScorePercentage\":-2.3160028412665805,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676496.83515426,\"range\":\"2585056.261771287..2767937.4085372332\",\"score1\":2585237.244524414,\"range1\":\"2552358.4905912033..2767937.4085372332\",\"diffScore\":-91259.59062984586,\"diffScorePercentage\":-3.409665553540104,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155929.81523562223,\"range\":\"155267.27942953032..156592.35104171414\",\"score1\":150449.20912261767,\"range1\":\"147414.465281937..156592.35104171414\",\"diffScore\":-5480.606113004556,\"diffScorePercentage\":-3.5147903591900813,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":156259.91933032282,\"range\":\"155967.2972273164..156552.54143332926\",\"score1\":147058.56562691744,\"range1\":\"140116.58313969668..156552.54143332926\",\"diffScore\":-9201.353703405388,\"diffScorePercentage\":-5.888492546802327,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155811.88330649625,\"range\":\"154012.99823010628..157610.76838288622\",\"score1\":146125.99724354869,\"range1\":\"143504.1570471993..157610.76838288622\",\"diffScore\":-9685.886062947568,\"diffScorePercentage\":-6.216397528482819,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":154835.23402865283,\"range\":\"152299.566575624..157370.90148168168\",\"score1\":150019.93211383233,\"range1\":\"145881.2852993276..157370.90148168168\",\"diffScore\":-4815.301914820506,\"diffScorePercentage\":-3.109952295437753,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.nested.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":149758.67842734433,\"range\":\"149465.14095246932..150052.21590221935\",\"score1\":145509.90114707965,\"range1\":\"143242.89296995336..150052.21590221935\",\"diffScore\":-4248.77728026468,\"diffScorePercentage\":-2.8370825149381784,\"testLabel\":\"test.nested.CommonBenchmark.mathBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":8.442082734074419E-4,\"range\":\"8.372522775198425E-4..8.511642692950413E-4\",\"score1\":8.972137714852465E-4,\"range1\":\"8.737790976669418E-4..8.511642692950413E-4\",\"diffScore\":-5.3005498077804544E-5,\"diffScorePercentage\":-6.278722887168673,\"testLabel\":\"test.CommonBenchmark.longBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":2.1647588413775662E-5,\"range\":\"2.1394152325114E-5..2.1901024502437323E-5\",\"score1\":2.369188528309145E-5,\"range1\":\"2.3161777788037864E-5..2.1901024502437323E-5\",\"diffScore\":-2.044296869315788E-6,\"diffScorePercentage\":-9.443531677712787,\"testLabel\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":6.6933720644037785E-6,\"range\":\"6.650531071713415E-6..6.736213057094142E-6\",\"score1\":6.7916806977233165E-6,\"range1\":\"6.710269330854009E-6..6.736213057094142E-6\",\"diffScore\":-9.830863331953794E-8,\"diffScorePercentage\":-1.4687459829456666,\"testLabel\":\"test.CommonBenchmark.mathBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":3.472485344175375,\"range\":\"3.4596934638924464..3.485277224458304\",\"score1\":3.5445401759264423,\"range1\":\"3.5170213910539556..3.485277224458304\",\"diffScore\":-0.0720548317510672,\"diffScorePercentage\":-2.075021911091128,\"testLabel\":\"test.JvmTestBenchmark.cosBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":0.5348082435809666,\"range\":\"0.5300538318352048..0.5395626553267283\",\"score1\":0.5428283650466172,\"range1\":\"0.5388189143575554..0.5395626553267283\",\"diffScore\":-0.008020121465650676,\"diffScorePercentage\":-1.4996256250557365,\"testLabel\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"barColor\":\"neg\"}]}" + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 8 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:21.825263Z", + "start_time": "2025-10-10T06:02:21.127659Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_44_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "import org.jetbrains.kotlinx.kandy.util.color.Color\n", + "import org.jetbrains.letsPlot.core.spec.plotson.fill\n", + "import org.jetbrains.letsPlot.core.spec.plotson.format\n", + "import org.jetbrains.letsPlot.core.spec.plotson.title\n", + "import org.jetbrains.letsPlot.label.ggtitle\n", + "import org.jetbrains.letsPlot.scale.guideLegend\n", + "import org.jetbrains.letsPlot.scale.guides\n", + "\n", + "// Now we can plot this data. First we create a basic plot just showing the difference in percent between all scores.\n", + "plotData.sortBy { diffScorePercentage }.plot {\n", + " barsH {\n", + " x(diffScorePercentage) {\n", + " axis.name = \"Diff %\"\n", + " }\n", + " y(testLabel) {\n", + " axis.name = \"\"\n", + " }\n", + " fillColor(barColor) {\n", + " scale = categorical(\"neg\" to Color.RED, \"pos\" to Color.GREEN)\n", + " legend.type = LegendType.None\n", + " }\n", + " tooltips {\n", + " line(diffScorePercentage, format = \".2f\")\n", + " }\n", + " }\n", + " layout {\n", + " size = 800 to ((40 * plotData.size().nrow) + 100)\n", + " style {\n", + " global {\n", + " title {\n", + " margin(10.0, 0.0)\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}" + ], + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -8\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -6\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -4\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.CommonBenchmark.longBlackholeBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.CommonBenchmark.longBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.textContentCheck\n", + " \n", + " \n", + " [data=2,text="a "string" with quotes",value=1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.textContentCheck\n", + " \n", + " \n", + " [data=1,text="a "string" with quotes",value=2]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.textContentCheck\n", + " \n", + " \n", + " [data=1,text="a "string" with quotes",value=1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.otherBenchmark\n", + " \n", + " \n", + " [data=2,text="a "string" with quotes",value=2]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.textContentCheck\n", + " \n", + " \n", + " [data=2,text="a "string" with quotes",value=2]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.nested.CommonBenchmark.mathBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.otherBenchmark\n", + " \n", + " \n", + " [data=1,text="a "string" with quotes",value=2]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.otherBenchmark\n", + " \n", + " \n", + " [data=2,text="a "string" with quotes",value=1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.JvmTestBenchmark.cosBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.mathBenchmark\n", + " \n", + " \n", + " [data=2,text="a "string" with quotes",value=2]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.InheritedBenchmark.baseBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.JvmTestBenchmark.sqrtBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.CommonBenchmark.mathBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.mathBenchmark\n", + " \n", + " \n", + " [data=1,text="a "string" with quotes",value=1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.mathBenchmark\n", + " \n", + " \n", + " [data=1,text="a "string" with quotes",value=2]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.mathBenchmark\n", + " \n", + " \n", + " [data=2,text="a "string" with quotes",value=1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.otherBenchmark\n", + " \n", + " \n", + " [data=1,text="a "string" with quotes",value=1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.InheritedBenchmark.inheritedBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " Diff %\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "data": { + "testLabel": [ + "test.CommonBenchmark.longBlackholeBenchmark", + "test.CommonBenchmark.longBenchmark", + "test.ParamBenchmark.textContentCheck\n[data=2,text=\"a \"string\" with quotes\",value=1]", + "test.ParamBenchmark.textContentCheck\n[data=1,text=\"a \"string\" with quotes\",value=2]", + "test.ParamBenchmark.textContentCheck\n[data=1,text=\"a \"string\" with quotes\",value=1]", + "test.ParamBenchmark.otherBenchmark\n[data=2,text=\"a \"string\" with quotes\",value=2]", + "test.ParamBenchmark.textContentCheck\n[data=2,text=\"a \"string\" with quotes\",value=2]", + "test.nested.CommonBenchmark.mathBenchmark", + "test.ParamBenchmark.otherBenchmark\n[data=1,text=\"a \"string\" with quotes\",value=2]", + "test.ParamBenchmark.otherBenchmark\n[data=2,text=\"a \"string\" with quotes\",value=1]", + "test.JvmTestBenchmark.cosBenchmark", + "test.ParamBenchmark.mathBenchmark\n[data=2,text=\"a \"string\" with quotes\",value=2]", + "test.InheritedBenchmark.baseBenchmark", + "test.JvmTestBenchmark.sqrtBenchmark", + "test.CommonBenchmark.mathBenchmark", + "test.ParamBenchmark.mathBenchmark\n[data=1,text=\"a \"string\" with quotes\",value=1]", + "test.ParamBenchmark.mathBenchmark\n[data=1,text=\"a \"string\" with quotes\",value=2]", + "test.ParamBenchmark.mathBenchmark\n[data=2,text=\"a \"string\" with quotes\",value=1]", + "test.ParamBenchmark.otherBenchmark\n[data=1,text=\"a \"string\" with quotes\",value=1]", + "test.InheritedBenchmark.inheritedBenchmark" + ], + "diffScorePercentage": [ + -9.443531677712787, + -6.278722887168673, + -6.216397528482819, + -5.888492546802327, + -3.5147903591900813, + -3.409665553540104, + -3.109952295437753, + -2.8370825149381784, + -2.6325014301068244, + -2.3160028412665805, + -2.075021911091128, + -1.8519981338583025, + -1.7076281404242712, + -1.4996256250557365, + -1.4687459829456666, + -0.9397526348026837, + -0.5783583335754896, + -0.4977172108975735, + 0.2949456583005684, + 0.4939406332662542 + ], + "barColor": [ + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "neg", + "pos", + "pos" + ] + }, + "ggsize": { + "width": 800.0, + "height": 900.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "x", + "name": "Diff %", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "y", + "discrete": true, + "name": "" + }, + { + "aesthetic": "fill", + "values": [ + "#ee6666", + "#3ba272" + ], + "limits": [ + "neg", + "pos" + ], + "guide": "none" + } + ], + "layers": [ + { + "mapping": { + "x": "diffScorePercentage", + "y": "testLabel", + "fill": "barColor" + }, + "stat": "identity", + "orientation": "y", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar", + "tooltips": { + "lines": [ + "@|@{diffScorePercentage}" + ], + "formats": [ + { + "field": "diffScorePercentage", + "format": ".2f" + } + ], + "disable_splitting": true + } + } + ], + "theme": { + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "float", + "column": "diffScorePercentage" + }, + { + "type": "str", + "column": "testLabel" + }, + { + "type": "str", + "column": "barColor" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 9 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:21.995070Z", + "start_time": "2025-10-10T06:02:21.827868Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_45_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Just comparing the score values is a bit simplistic as the benchmark results are actually a range: score +/- error.\n", + "// So, instead of plotting all tests, we want to focus only on the benchmarks that looks \"interesting\". This is\n", + "// defined as any benchmark that differ so much that the benchmark ranges do not overlap, i.e., we no longer just\n", + "// look at only the score but consider the full error range.\n", + "//\n", + "// We still use the \"score\" to calculate the change in percent, but now on a filtered list\n", + "fun kotlin.ranges.ClosedFloatingPointRange.overlaps(other: ClosedFloatingPointRange): Boolean =\n", + " this.start <= other.endInclusive && other.start <= this.endInclusive\n", + "\n", + "val interestingBenchmarks = plotData.filter {\n", + " !it.range.overlaps(it.range1)\n", + "}\n", + "interestingBenchmarks" + ], + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
nameparamsmodeunitscorerangescore1range1diffScorediffScorePercentagetestLabelbarColor
test.CommonBenchmark.longBenchmarkavgtms/op0.0008448.372522775198425E-4..8.5116426929504...0.0008978.737790976669418E-4..8.5116426929504...-0.000053-6.278723test.CommonBenchmark.longBenchmarkneg
test.CommonBenchmark.longBlackholeBen...avgtms/op0.0000222.1394152325114E-5..2.190102450243732...0.0000242.3161777788037864E-5..2.190102450243...-0.000002-9.443532test.CommonBenchmark.longBlackholeBen...neg
test.JvmTestBenchmark.cosBenchmarkavgtns/op3.4724853.4596934638924464..3.4852772244583043.5445403.5170213910539556..3.485277224458304-0.072055-2.075022test.JvmTestBenchmark.cosBenchmarkneg
\n", + " \n", + " \n", + " " + ], + "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"score\",\"range\",\"score1\",\"range1\",\"diffScore\",\"diffScorePercentage\",\"testLabel\",\"barColor\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":3,\"ncol\":12,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":8.442082734074419E-4,\"range\":\"8.372522775198425E-4..8.511642692950413E-4\",\"score1\":8.972137714852465E-4,\"range1\":\"8.737790976669418E-4..8.511642692950413E-4\",\"diffScore\":-5.3005498077804544E-5,\"diffScorePercentage\":-6.278722887168673,\"testLabel\":\"test.CommonBenchmark.longBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":2.1647588413775662E-5,\"range\":\"2.1394152325114E-5..2.1901024502437323E-5\",\"score1\":2.369188528309145E-5,\"range1\":\"2.3161777788037864E-5..2.1901024502437323E-5\",\"diffScore\":-2.044296869315788E-6,\"diffScorePercentage\":-9.443531677712787,\"testLabel\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":3.472485344175375,\"range\":\"3.4596934638924464..3.485277224458304\",\"score1\":3.5445401759264423,\"range1\":\"3.5170213910539556..3.485277224458304\",\"diffScore\":-0.0720548317510672,\"diffScorePercentage\":-2.075021911091128,\"testLabel\":\"test.JvmTestBenchmark.cosBenchmark\",\"barColor\":\"neg\"}]}" + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 10 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:02:22.601739Z", + "start_time": "2025-10-10T06:02:22.151072Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_47_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Now lets plot the interesting benchmarks, similar to before.\n", + "interestingBenchmarks.sortBy { diffScorePercentage }.plot {\n", + " barsH {\n", + " x(diffScorePercentage) {\n", + " axis.name = \"Diff %\"\n", + " }\n", + " y(testLabel) {\n", + " axis.name = \"\"\n", + " }\n", + " fillColor(barColor) {\n", + " scale = categorical(\"neg\" to Color.RED, \"pos\" to Color.GREEN)\n", + " legend.type = LegendType.None\n", + " }\n", + " tooltips {\n", + " line(diffScorePercentage, format = \".2f\")\n", + " }\n", + " }\n", + " layout {\n", + " size = 800 to ((40 * interestingBenchmarks.size().nrow) + 100)\n", + " style {\n", + " global {\n", + " title {\n", + " margin(10.0, 0.0)\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}" + ], + "outputs": [ + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -8\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -6\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -4\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " -2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.CommonBenchmark.longBlackholeBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.CommonBenchmark.longBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.JvmTestBenchmark.cosBenchmark\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " Diff %\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "data": { + "testLabel": [ + "test.CommonBenchmark.longBlackholeBenchmark", + "test.CommonBenchmark.longBenchmark", + "test.JvmTestBenchmark.cosBenchmark" + ], + "diffScorePercentage": [ + -9.443531677712787, + -6.278722887168673, + -2.075021911091128 + ], + "barColor": [ + "neg", + "neg", + "neg" + ] + }, + "ggsize": { + "width": 800.0, + "height": 220.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "x", + "name": "Diff %", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "y", + "discrete": true, + "name": "" + }, + { + "aesthetic": "fill", + "values": [ + "#ee6666", + "#3ba272" + ], + "limits": [ + "neg", + "pos" + ], + "guide": "none" + } + ], + "layers": [ + { + "mapping": { + "x": "diffScorePercentage", + "y": "testLabel", + "fill": "barColor" + }, + "stat": "identity", + "orientation": "y", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar", + "tooltips": { + "lines": [ + "@|@{diffScorePercentage}" + ], + "formats": [ + { + "field": "diffScorePercentage", + "format": ".2f" + } + ], + "disable_splitting": true + } + } + ], + "theme": { + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "float", + "column": "diffScorePercentage" + }, + { + "type": "str", + "column": "testLabel" + }, + { + "type": "str", + "column": "barColor" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 11 + } + ], + "metadata": { + "kernelspec": { + "display_name": "Kotlin", + "language": "kotlin", + "name": "kotlin" + }, + "language_info": { + "name": "kotlin", + "version": "2.2.20", + "mimetype": "text/x-kotlin", + "file_extension": ".kt", + "pygments_lexer": "kotlin", + "codemirror_mode": "text/x-kotlin", + "nbconvert_exporter": "" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} diff --git a/examples/simple-benchmark-analysis.ipynb b/examples/simple-benchmark-analysis.ipynb new file mode 100644 index 00000000..6f5d9325 --- /dev/null +++ b/examples/simple-benchmark-analysis.ipynb @@ -0,0 +1,4868 @@ +{ + "cells": [ + { + "metadata": { + "collapsed": true + }, + "cell_type": "markdown", + "source": [ + "# Simple Benchmark Analysis\n", + "This notebook demonstrates how you can analyze and plot benchmark results from a single benchmark run.\n", + "Several projects exist in the `examples` folder, but this notebook assumes we are working on the\n", + "JVM part of the `kotlin-multiplatform` project. But the same approach can be used for the other projects.\n", + "\n", + "First, you need to run the benchmark. This can be done by running this command from the root of the project:\n", + "\n", + "```shell\n", + "./gradlew :examples:kotlin-multiplatform:jvmBenchmark\n", + "```\n", + "\n", + "Once it is completed, run this notebook, and it will automatically find the latest result." + ] + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:00:18.556112Z", + "start_time": "2025-10-10T06:00:15.403964Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_2_jupyter", + "Line_3_jupyter", + "Line_4_jupyter", + "Line_5_jupyter", + "Line_6_jupyter", + "Line_7_jupyter", + "Line_8_jupyter", + "Line_9_jupyter", + "Line_10_jupyter", + "Line_11_jupyter", + "Line_12_jupyter", + "Line_13_jupyter", + "Line_14_jupyter", + "Line_15_jupyter" + ] + } + }, + "cell_type": "code", + "source": "%use serialization, dataframe, kandy", + "outputs": [], + "execution_count": 1 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:00:19.583091Z", + "start_time": "2025-10-10T06:00:18.558267Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_16_jupyter", + "Line_17_jupyter", + "Line_18_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "import java.nio.file.Files\n", + "import java.nio.file.attribute.BasicFileAttributes\n", + "import kotlin.io.path.exists\n", + "import kotlin.io.path.forEachDirectoryEntry\n", + "import kotlin.io.path.isDirectory\n", + "import kotlin.io.path.listDirectoryEntries\n", + "import kotlin.io.path.readText\n", + "\n", + "// Find latest result file, based on the their timestamp.\n", + "val runsDir = notebook.workingDir.resolve(\"kotlin-multiplatform/build/reports/benchmarks/main\")\n", + "val lastRunDir = runsDir.listDirectoryEntries()\n", + " .filter { it.isDirectory() }\n", + " .sortedByDescending { dir -> Files.readAttributes(dir, BasicFileAttributes::class.java).creationTime() }\n", + " .first()\n", + "val outputFile = lastRunDir.resolve(\"jvm.json\")\n", + "val benchmarkData = outputFile.readText().deserializeJson()" + ], + "outputs": [], + "execution_count": 2 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:00:19.784955Z", + "start_time": "2025-10-10T06:00:19.585368Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_19_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Helper class for tracking the information we need to use.\n", + "data class Benchmark(val name: String, val params: String, val score: Double, val error: Double, val unit: String)\n", + "\n", + "// Split benchmark results into groups. Generally, each group consist of all tests from one test file,\n", + "// except when it is an parameterized test. In this case, each test (with all its variants) are put\n", + "// in its own group.\n", + "val benchmarkGroups = benchmarkData\n", + " .groupBy {\n", + " if (it.params != null) {\n", + " it.benchmark\n", + " } else {\n", + " it.benchmark.substringBeforeLast(\".\")\n", + " }\n", + " }\n", + " .mapValues { group ->\n", + " val benchmarks = group.value.map { benchmark ->\n", + " // Parameters are specific to each test. `deserializeJson()` will generate the appropriate data classes,\n", + " // but for generic handling of parameters we would need to fallback to reading the JSON. In this case\n", + " // we just handle them through the typed API.\n", + " val paramInfo = benchmark.params?.let { params -> \"data=${params.data},text=\\\"${params.text}\\\",value=${params.value}\"} ?: \"\"\n", + " val name = benchmark.benchmark\n", + " Benchmark(\n", + " name,\n", + " paramInfo,\n", + " benchmark.primaryMetric.score,\n", + " benchmark.primaryMetric.scoreError,\n", + " benchmark.primaryMetric.scoreUnit\n", + " )\n", + " }\n", + " benchmarks.toDataFrame()\n", + " }\n", + "\n", + "// Un-commont this to see the benchmark data as DataFrames\n", + "// benchmarkGroups.forEach {\n", + "// DISPLAY(it.value)\n", + "// }" + ], + "outputs": [], + "execution_count": 3 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:00:20.061700Z", + "start_time": "2025-10-10T06:00:19.785542Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_20_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Prepare the data frames for plotting by:\n", + "// - Add calculated columns for errorMin / errorMax\n", + "// - Tests with parameters use the parameter values as the label\n", + "// - Tests without paramaters use the test name as the label\n", + "val plotData = benchmarkGroups.mapValues {\n", + " it.value\n", + " .add(\"errorMin\") { it.getValue(\"score\") - it.getValue(\"error\") }\n", + " .add(\"errorMax\") { it.getValue(\"score\") + it.getValue(\"error\") }\n", + " .insert(\"label\") {\n", + " // Re-format the benchmark labels to make them look \"nicer\"\n", + " if (!it.getValue(\"params\").isBlank()) {\n", + " it.getValue(\"params\").replace(\",\", \"\\n\")\n", + " } else {\n", + " it.getValue(\"name\").substringAfterLast(\".\").removeSuffix(\"Benchmark\")\n", + " }\n", + " }.at(0)\n", + " .remove(\"name\", \"params\")\n", + "}" + ], + "outputs": [], + "execution_count": 4 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-10T06:00:21.073306Z", + "start_time": "2025-10-10T06:00:20.062989Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_21_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "import org.jetbrains.letsPlot.Geom\n", + "import org.jetbrains.letsPlot.core.spec.plotson.coord\n", + "import org.jetbrains.letsPlot.themes.margin\n", + "\n", + "// Plot each group as a bar plot with the error displayed as error bars.\n", + "// This approach assumes that each group has tests roughly within the same \"scale\".\n", + "// If this is not the case, some plots might look very squished. If this happens,\n", + "// you can play around with using a LOG10 scale or modifying the limits to focus\n", + "// on the changes.\n", + "plotData.forEach { (fileName, dataframe) ->\n", + " val plot = dataframe.plot {\n", + " bars {\n", + " x(\"label\") {\n", + " axis.name = \"\"\n", + " }\n", + " y(\"score\")\n", + " }\n", + " errorBars {\n", + " x(\"label\")\n", + " y(\"score\")\n", + " yMin(\"errorMin\")\n", + " yMax(\"errorMax\")\n", + " }\n", + " coordinatesTransformation = CoordinatesTransformation.cartesianFlipped()\n", + " // y.axis.limits = dataframe.min(\"errorMin\")..dataframe.max(\"errorMax\")\n", + " layout {\n", + " this.yAxisLabel = dataframe.first().getValue(\"unit\")\n", + " style {\n", + " global {\n", + " title {\n", + " margin(10.0, 0.0)\n", + " }\n", + " text {\n", + " fontFamily = FontFamily.MONO\n", + " }\n", + " }\n", + " }\n", + " // Adjust the height of the Kandy plot based on the number of tests.\n", + " size = 800 to ((50 * dataframe.size().nrow) + 100)\n", + " }\n", + " }\n", + " DISPLAY(HTML(\"

$fileName

\"))\n", + " DISPLAY(plot)\n", + "}" + ], + "outputs": [ + { + "data": { + "text/html": [ + "

test.InheritedBenchmark

" + ] + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2e+7\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 4e+7\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 6e+7\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 8e+7\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1e+8\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1.2e+8\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1.4e+8\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " base\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " inherited\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " ops/s\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "guides": { + "y": { + "title": "ops/s" + } + }, + "coord": { + "name": "flip", + "flip": true + }, + "data": { + "score": [ + 1104972.6706894366, + 1.4634989745609665E8 + ], + "errorMax": [ + 1154281.987920151, + 1.489669832012015E8 + ], + "label": [ + "base", + "inherited" + ], + "errorMin": [ + 1055663.3534587221, + 1.437328117109918E8 + ] + }, + "ggsize": { + "width": 800.0, + "height": 200.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true, + "name": "" + }, + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true + } + ], + "layers": [ + { + "mapping": { + "y": "score", + "x": "label" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar" + }, + { + "mapping": { + "y": "score", + "x": "label", + "ymin": "errorMin", + "ymax": "errorMax" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "errorbar" + } + ], + "theme": { + "text": { + "family": "mono", + "blank": false + }, + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "str", + "column": "label" + }, + { + "type": "float", + "column": "score" + }, + { + "type": "float", + "column": "errorMin" + }, + { + "type": "float", + "column": "errorMax" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + "

test.ParamBenchmark.mathBenchmark

" + ] + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 50,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 100,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 150,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 200,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=1\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=1\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=2\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=2\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " ops/ms\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "guides": { + "y": { + "title": "ops/ms" + } + }, + "coord": { + "name": "flip", + "flip": true + }, + "data": { + "score": [ + 213019.57841385395, + 214917.7241256119, + 102424.75929129767, + 101173.75249296638 + ], + "errorMax": [ + 221389.10361238578, + 221219.12070789465, + 103736.05191104818, + 102438.55849807907 + ], + "label": [ + "data=1\ntext=\"a \"string\" with quotes\"\nvalue=1", + "data=1\ntext=\"a \"string\" with quotes\"\nvalue=2", + "data=2\ntext=\"a \"string\" with quotes\"\nvalue=1", + "data=2\ntext=\"a \"string\" with quotes\"\nvalue=2" + ], + "errorMin": [ + 204650.0532153221, + 208616.32754332913, + 101113.46667154715, + 99908.94648785368 + ] + }, + "ggsize": { + "width": 800.0, + "height": 300.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true, + "name": "" + }, + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true + } + ], + "layers": [ + { + "mapping": { + "y": "score", + "x": "label" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar" + }, + { + "mapping": { + "y": "score", + "x": "label", + "ymin": "errorMin", + "ymax": "errorMax" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "errorbar" + } + ], + "theme": { + "text": { + "family": "mono", + "blank": false + }, + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "str", + "column": "label" + }, + { + "type": "float", + "column": "score" + }, + { + "type": "float", + "column": "errorMin" + }, + { + "type": "float", + "column": "errorMax" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + "

test.ParamBenchmark.otherBenchmark

" + ] + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 500,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1e+6\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1.5e+6\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2e+6\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2.5e+6\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=1\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=1\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=2\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=2\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " ops/ms\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "guides": { + "y": { + "title": "ops/ms" + } + }, + "coord": { + "name": "flip", + "flip": true + }, + "data": { + "score": [ + 2680506.786160648, + 2585022.6644677366, + 2614856.4118722673, + 2585237.244524414 + ], + "errorMax": [ + 2714141.3425343693, + 2715267.760476164, + 2648971.483481024, + 2618115.998457625 + ], + "label": [ + "data=1\ntext=\"a \"string\" with quotes\"\nvalue=1", + "data=1\ntext=\"a \"string\" with quotes\"\nvalue=2", + "data=2\ntext=\"a \"string\" with quotes\"\nvalue=1", + "data=2\ntext=\"a \"string\" with quotes\"\nvalue=2" + ], + "errorMin": [ + 2646872.2297869264, + 2454777.568459309, + 2580741.3402635106, + 2552358.4905912033 + ] + }, + "ggsize": { + "width": 800.0, + "height": 300.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true, + "name": "" + }, + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true + } + ], + "layers": [ + { + "mapping": { + "y": "score", + "x": "label" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar" + }, + { + "mapping": { + "y": "score", + "x": "label", + "ymin": "errorMin", + "ymax": "errorMax" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "errorbar" + } + ], + "theme": { + "text": { + "family": "mono", + "blank": false + }, + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "str", + "column": "label" + }, + { + "type": "float", + "column": "score" + }, + { + "type": "float", + "column": "errorMin" + }, + { + "type": "float", + "column": "errorMax" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + "

test.ParamBenchmark.textContentCheck

" + ] + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 20,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 40,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 60,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 80,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 100,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 120,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 140,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 160,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=1\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=1\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=2\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " data=2\n", + " \n", + " \n", + " text="a "string" with quotes"\n", + " \n", + " \n", + " value=2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " ops/ms\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "guides": { + "y": { + "title": "ops/ms" + } + }, + "coord": { + "name": "flip", + "flip": true + }, + "data": { + "score": [ + 150449.20912261767, + 147058.56562691744, + 146125.99724354869, + 150019.93211383233 + ], + "errorMax": [ + 153483.95296329833, + 154000.5481141382, + 148747.83743989808, + 154158.57892833705 + ], + "label": [ + "data=1\ntext=\"a \"string\" with quotes\"\nvalue=1", + "data=1\ntext=\"a \"string\" with quotes\"\nvalue=2", + "data=2\ntext=\"a \"string\" with quotes\"\nvalue=1", + "data=2\ntext=\"a \"string\" with quotes\"\nvalue=2" + ], + "errorMin": [ + 147414.465281937, + 140116.58313969668, + 143504.1570471993, + 145881.2852993276 + ] + }, + "ggsize": { + "width": 800.0, + "height": 300.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true, + "name": "" + }, + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true + } + ], + "layers": [ + { + "mapping": { + "y": "score", + "x": "label" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar" + }, + { + "mapping": { + "y": "score", + "x": "label", + "ymin": "errorMin", + "ymax": "errorMax" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "errorbar" + } + ], + "theme": { + "text": { + "family": "mono", + "blank": false + }, + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "str", + "column": "label" + }, + { + "type": "float", + "column": "score" + }, + { + "type": "float", + "column": "errorMin" + }, + { + "type": "float", + "column": "errorMax" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + "

test.nested.CommonBenchmark

" + ] + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 20,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 40,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 60,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 80,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 100,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 120,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 140,000\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " math\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " ops/ms\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "guides": { + "y": { + "title": "ops/ms" + } + }, + "coord": { + "name": "flip", + "flip": true + }, + "data": { + "score": [ + 145509.90114707965 + ], + "errorMax": [ + 147776.90932420595 + ], + "label": [ + "math" + ], + "errorMin": [ + 143242.89296995336 + ] + }, + "ggsize": { + "width": 800.0, + "height": 150.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true, + "name": "" + }, + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true + } + ], + "layers": [ + { + "mapping": { + "y": "score", + "x": "label" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar" + }, + { + "mapping": { + "y": "score", + "x": "label", + "ymin": "errorMin", + "ymax": "errorMax" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "errorbar" + } + ], + "theme": { + "text": { + "family": "mono", + "blank": false + }, + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "str", + "column": "label" + }, + { + "type": "float", + "column": "score" + }, + { + "type": "float", + "column": "errorMin" + }, + { + "type": "float", + "column": "errorMax" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + "

test.CommonBenchmark

" + ] + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0001\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0002\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0003\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0004\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0005\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0006\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0007\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0008\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.0009\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " long\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " longBlackhole\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " math\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " ms/op\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "guides": { + "y": { + "title": "ms/op" + } + }, + "coord": { + "name": "flip", + "flip": true + }, + "data": { + "score": [ + 8.972137714852465E-4, + 2.369188528309145E-5, + 6.7916806977233165E-6 + ], + "errorMax": [ + 9.206484453035511E-4, + 2.4221992778145036E-5, + 6.8730920645926235E-6 + ], + "label": [ + "long", + "longBlackhole", + "math" + ], + "errorMin": [ + 8.737790976669418E-4, + 2.3161777788037864E-5, + 6.710269330854009E-6 + ] + }, + "ggsize": { + "width": 800.0, + "height": 250.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true, + "name": "" + }, + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true + } + ], + "layers": [ + { + "mapping": { + "y": "score", + "x": "label" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar" + }, + { + "mapping": { + "y": "score", + "x": "label", + "ymin": "errorMin", + "ymax": "errorMax" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "errorbar" + } + ], + "theme": { + "text": { + "family": "mono", + "blank": false + }, + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "str", + "column": "label" + }, + { + "type": "float", + "column": "score" + }, + { + "type": "float", + "column": "errorMin" + }, + { + "type": "float", + "column": "errorMax" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + "

test.JvmTestBenchmark

" + ] + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + }, + { + "data": { + "text/html": [ + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 0.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 1.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 2.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 3\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " 3.5\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " cos\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " sqrt\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " ns/op\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "\n", + " " + ], + "application/plot+json": { + "output_type": "lets_plot_spec", + "output": { + "mapping": {}, + "guides": { + "y": { + "title": "ns/op" + } + }, + "coord": { + "name": "flip", + "flip": true + }, + "data": { + "score": [ + 3.5445401759264423, + 0.5428283650466172 + ], + "errorMax": [ + 3.572058960798929, + 0.5468378157356791 + ], + "label": [ + "cos", + "sqrt" + ], + "errorMin": [ + 3.5170213910539556, + 0.5388189143575554 + ] + }, + "ggsize": { + "width": 800.0, + "height": 200.0 + }, + "kind": "plot", + "scales": [ + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true, + "name": "" + }, + { + "aesthetic": "y", + "limits": [ + null, + null + ] + }, + { + "aesthetic": "x", + "discrete": true + } + ], + "layers": [ + { + "mapping": { + "y": "score", + "x": "label" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "bar" + }, + { + "mapping": { + "y": "score", + "x": "label", + "ymin": "errorMin", + "ymax": "errorMax" + }, + "stat": "identity", + "sampling": "none", + "inherit_aes": false, + "position": "dodge", + "geom": "errorbar" + } + ], + "theme": { + "text": { + "family": "mono", + "blank": false + }, + "title": { + "margin": [ + 10.0, + 0.0, + 10.0, + 0.0 + ], + "blank": false + }, + "axis_ontop": false, + "axis_ontop_y": false, + "axis_ontop_x": false + }, + "data_meta": { + "series_annotations": [ + { + "type": "str", + "column": "label" + }, + { + "type": "float", + "column": "score" + }, + { + "type": "float", + "column": "errorMin" + }, + { + "type": "float", + "column": "errorMax" + } + ] + } + }, + "apply_color_scheme": true, + "swing_enabled": true + } + }, + "metadata": {}, + "output_type": "display_data", + "jetTransient": { + "display_id": null + } + } + ], + "execution_count": 5 + } + ], + "metadata": { + "kernelspec": { + "display_name": "Kotlin", + "language": "kotlin", + "name": "kotlin" + }, + "language_info": { + "name": "kotlin", + "version": "2.2.20", + "mimetype": "text/x-kotlin", + "file_extension": ".kt", + "pygments_lexer": "kotlin", + "codemirror_mode": "text/x-kotlin", + "nbconvert_exporter": "" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} From 78013f076439465ff6b1b6f711761c328953e57e Mon Sep 17 00:00:00 2001 From: Christian Melchior Date: Wed, 15 Oct 2025 09:18:14 +0200 Subject: [PATCH 2/2] Improve API usage and readability --- examples/compare-benchmark-runs.ipynb | 2541 +++------------------- examples/simple-benchmark-analysis.ipynb | 384 ++-- 2 files changed, 495 insertions(+), 2430 deletions(-) diff --git a/examples/compare-benchmark-runs.ipynb b/examples/compare-benchmark-runs.ipynb index 18f242da..24d675ac 100644 --- a/examples/compare-benchmark-runs.ipynb +++ b/examples/compare-benchmark-runs.ipynb @@ -25,8 +25,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:16.334192Z", - "start_time": "2025-10-10T06:02:13.075038Z" + "end_time": "2025-10-15T06:52:36.539161Z", + "start_time": "2025-10-15T06:52:32.150691Z" }, "executionRelatedData": { "compiledClasses": [ @@ -55,8 +55,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:16.601062Z", - "start_time": "2025-10-10T06:02:16.338732Z" + "end_time": "2025-10-15T06:52:36.792711Z", + "start_time": "2025-10-15T06:52:36.540356Z" }, "executionRelatedData": { "compiledClasses": [ @@ -88,8 +88,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:17.661651Z", - "start_time": "2025-10-10T06:02:16.602252Z" + "end_time": "2025-10-15T06:52:37.905784Z", + "start_time": "2025-10-15T06:52:36.794274Z" }, "executionRelatedData": { "compiledClasses": [ @@ -113,8 +113,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:18.380118Z", - "start_time": "2025-10-10T06:02:17.663778Z" + "end_time": "2025-10-15T06:52:38.536966Z", + "start_time": "2025-10-15T06:52:37.906464Z" }, "executionRelatedData": { "compiledClasses": [ @@ -132,8 +132,8 @@ "// assigning the test row index as their \"primary key\". We could attempt to use the benchmark name and param values,\n", "// but that is complicated by how paramers are represented in the JSON file. So, since we assume that the two files\n", "// are equal using row index should be safe.\n", - "val oldDf = oldRun.toDataFrame().insert(\"rowIndex\") { index() }.at(0)\n", - "val newDf = newRun.toDataFrame().insert(\"rowIndex\") { index() }.at(0)" + "val oldDf = oldRun.toDataFrame().addId(\"rowIndex\")\n", + "val newDf = newRun.toDataFrame().addId(\"rowIndex\")" ], "outputs": [], "execution_count": 4 @@ -141,8 +141,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:18.957485Z", - "start_time": "2025-10-10T06:02:18.382974Z" + "end_time": "2025-10-15T06:52:38.914275Z", + "start_time": "2025-10-15T06:52:38.543089Z" }, "executionRelatedData": { "compiledClasses": [ @@ -155,2105 +155,84 @@ "cell_type": "code", "source": [ "val combinedData = oldDf.innerJoin(newDf) { rowIndex }\n", - "combinedData" + "// Un-commont this to see the intermediate dataframe:\n", + "// combinedData" ], - "outputs": [ - { - "data": { - "text/html": [ - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
rowIndexjmhVersionbenchmarkmodethreadsforksjvmjvmArgsjdkVersionvmNamevmVersionwarmupIterationswarmupTimewarmupBatchSizemeasurementIterationsmeasurementTimemeasurementBatchSizeprimaryMetricsecondaryMetricsparamsjmhVersion1benchmark1mode1threads1forks1jvm1jvmArgs1jdkVersion1vmName1vmVersion1warmupIterations1warmupTime1warmupBatchSize1measurementIterations1measurementTime1measurementBatchSize1primaryMetric1secondaryMetrics1params1
01.37test.InheritedBenchmark.baseBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=1124169.302037032...SecondaryMetricsnull1.37test.InheritedBenchmark.baseBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=1104972.670689436...SecondaryMetricsnull
11.37test.InheritedBenchmark.inheritedBenc...thrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=1.456305689018336...SecondaryMetricsnull1.37test.InheritedBenchmark.inheritedBenc...thrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=1.463498974560966...SecondaryMetricsnull
21.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=215040.4264876626...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=213019.5784138539...SecondaryMetricsParams(data=1, text=a "string" with q...
31.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=216167.9494759251...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=214917.7241256119...SecondaryMetricsParams(data=1, text=a "string" with q...
41.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=102937.0949291580...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=102424.7592912976...SecondaryMetricsParams(data=2, text=a "string" with q...
51.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=103082.8448560280...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.mathBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=101173.7524929663...SecondaryMetricsParams(data=2, text=a "string" with q...
61.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2672623.997716683...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2680506.786160648...SecondaryMetricsParams(data=1, text=a "string" with q...
71.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2654913.294924726...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2585022.664467736...SecondaryMetricsParams(data=1, text=a "string" with q...
81.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2676852.389264137...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2614856.411872267...SecondaryMetricsParams(data=2, text=a "string" with q...
91.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2676496.83515426,...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.otherBenchmarkthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2585237.244524414...SecondaryMetricsParams(data=2, text=a "string" with q...
101.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=155929.8152356222...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=150449.2091226176...SecondaryMetricsParams(data=1, text=a "string" with q...
111.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=156259.9193303228...SecondaryMetricsParams(data=1, text=a "string" with q...1.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=147058.5656269174...SecondaryMetricsParams(data=1, text=a "string" with q...
121.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=155811.8833064962...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=146125.9972435486...SecondaryMetricsParams(data=2, text=a "string" with q...
131.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=154835.2340286528...SecondaryMetricsParams(data=2, text=a "string" with q...1.37test.ParamBenchmark.textContentCheckthrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=150019.9321138323...SecondaryMetricsParams(data=2, text=a "string" with q...
141.37test.nested.CommonBenchmark.mathBench...thrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=149758.6784273443...SecondaryMetricsnull1.37test.nested.CommonBenchmark.mathBench...thrpt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=145509.9011470796...SecondaryMetricsnull
151.37test.CommonBenchmark.longBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=8.442082734074419...SecondaryMetricsnull1.37test.CommonBenchmark.longBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=8.972137714852465...SecondaryMetricsnull
161.37test.CommonBenchmark.longBlackholeBen...avgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2.164758841377566...SecondaryMetricsnull1.37test.CommonBenchmark.longBlackholeBen...avgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=2.369188528309145...SecondaryMetricsnull
171.37test.CommonBenchmark.mathBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=6.693372064403778...SecondaryMetricsnull1.37test.CommonBenchmark.mathBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.975300 ms15300 ms1PrimaryMetric(score=6.791680697723316...SecondaryMetricsnull
181.37test.JvmTestBenchmark.cosBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.9720300 ms15300 ms1PrimaryMetric(score=3.472485344175375...SecondaryMetricsnull1.37test.JvmTestBenchmark.cosBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.9720300 ms15300 ms1PrimaryMetric(score=3.544540175926442...SecondaryMetricsnull
191.37test.JvmTestBenchmark.sqrtBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.9720300 ms15300 ms1PrimaryMetric(score=0.534808243580966...SecondaryMetricsnull1.37test.JvmTestBenchmark.sqrtBenchmarkavgt13/Users/christian.melchior/Library/Jav...[-Dfile.encoding=UTF-8, -Duser.countr...21.0.6OpenJDK 64-Bit Server VM21.0.6+9-b895.9720300 ms15300 ms1PrimaryMetric(score=0.542828365046617...SecondaryMetricsnull
\n", - " \n", - " \n", - " " - ], - "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"rowIndex\",\"jmhVersion\",\"benchmark\",\"mode\",\"threads\",\"forks\",\"jvm\",\"jvmArgs\",\"jdkVersion\",\"vmName\",\"vmVersion\",\"warmupIterations\",\"warmupTime\",\"warmupBatchSize\",\"measurementIterations\",\"measurementTime\",\"measurementBatchSize\",\"primaryMetric\",\"secondaryMetrics\",\"params\",\"jmhVersion1\",\"benchmark1\",\"mode1\",\"threads1\",\"forks1\",\"jvm1\",\"jvmArgs1\",\"jdkVersion1\",\"vmName1\",\"vmVersion1\",\"warmupIterations1\",\"warmupTime1\",\"warmupBatchSize1\",\"measurementIterations1\",\"measurementTime1\",\"measurementBatchSize1\",\"primaryMetric1\",\"secondaryMetrics1\",\"params1\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.collections.List\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_20_jupyter.PrimaryMetric\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_20_jupyter.SecondaryMetrics\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_20_jupyter.Params?\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.collections.List\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Int\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_18_jupyter.PrimaryMetric\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_18_jupyter.SecondaryMetrics\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_18_jupyter.Params?\"}],\"nrow\":20,\"ncol\":39,\"is_formatted\":false},\"kotlin_dataframe\":[{\"rowIndex\":0,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.InheritedBenchmark.baseBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=1124169.302037032, scoreError=75205.95144781233, scoreConfidence=[1048963.3505892197, 1199375.2534848445], scorePercentiles=ScorePercentiles(value=1015068.2619304745, value1=1155147.9695528375, value2=1189664.220644519, value3=1192280.8866867763, value4=1192280.8866867763, value5=1192280.8866867763, value6=1192280.8866867763, value7=1192280.8866867763, value8=1192280.8866867763, value9=1192280.8866867763), scoreUnit=ops/s, rawData=[[1139863.7244876404, 1169674.7233907245, 1155147.9695528375, 1153602.922452359, 1174956.8956307208], [1192280.8866867763, 1185424.9300422438, 1179689.8434465046, 1187919.7766163475, 1171982.894971915], [1045098.0287003154, 1027304.9154094426, 1019922.4388524143, 1015068.2619304745, 1044601.3183847639]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.InheritedBenchmark.baseBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=1104972.6706894366, scoreError=49309.31723071452, scoreConfidence=[1055663.3534587221, 1154281.987920151], scorePercentiles=ScorePercentiles(value=976634.2751659014, value1=1111366.2761976637, value2=1150603.2390327072, value3=1155368.0887375197, value4=1155368.0887375197, value5=1155368.0887375197, value6=1155368.0887375197, value7=1155368.0887375197, value8=1155368.0887375197, value9=1155368.0887375197), scoreUnit=ops/s, rawData=[[1138951.8480261383, 1147426.672562832, 1155368.0887375197, 976634.2751659014, 1086799.414352962], [1071068.6192288692, 1080059.2182720238, 1097652.8697360568, 1093557.0794489095, 1120069.316351473], [1071207.2522724976, 1111366.2761976637, 1146549.7634857353, 1145539.9253720958, 1132339.4411308717]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":1,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.InheritedBenchmark.inheritedBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=1.4563056890183368E8, scoreError=3055876.4639071585, scoreConfidence=[1.4257469243792653E8, 1.4868644536574084E8], scorePercentiles=ScorePercentiles(value=1.387309148314251E8, value1=1.461159516619478E8, value2=1.4880128725452167E8, value3=1.4928887294903806E8, value4=1.4928887294903806E8, value5=1.4928887294903806E8, value6=1.4928887294903806E8, value7=1.4928887294903806E8, value8=1.4928887294903806E8, value9=1.4928887294903806E8), scoreUnit=ops/s, rawData=[[1.458795136674187E8, 1.387309148314251E8, 1.4249979966909307E8, 1.441354822448216E8, 1.4471859679257274E8], [1.4206332462277076E8, 1.4928887294903806E8, 1.4847623012484407E8, 1.4657390497638917E8, 1.4808954548260325E8], [1.479146471664052E8, 1.4825079688102406E8, 1.461159516619478E8, 1.4548012088578174E8, 1.4624083157137004E8]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.InheritedBenchmark.inheritedBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=1.4634989745609665E8, scoreError=2617085.7451048377, scoreConfidence=[1.437328117109918E8, 1.489669832012015E8], scorePercentiles=ScorePercentiles(value=1.4184149896391898E8, value1=1.469146929360614E8, value2=1.4978634235305056E8, value3=1.4979666780300152E8, value4=1.4979666780300152E8, value5=1.4979666780300152E8, value6=1.4979666780300152E8, value7=1.4979666780300152E8, value8=1.4979666780300152E8, value9=1.4979666780300152E8), scoreUnit=ops/s, rawData=[[1.4743312123364982E8, 1.4734451620516628E8, 1.4513081545486593E8, 1.4859427580452958E8, 1.4184149896391898E8], [1.4873160312947407E8, 1.4698950151346394E8, 1.4197221788809916E8, 1.4504411037809837E8, 1.497794587197499E8], [1.4979666780300152E8, 1.4539668027305493E8, 1.4540221749059942E8, 1.469146929360614E8, 1.448770840477164E8]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":2,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=215040.42648766268, scoreError=5880.9771435087405, scoreConfidence=[209159.44934415395, 220921.40363117142], scorePercentiles=ScorePercentiles(value=207033.48882340023, value1=216828.2836091554, value2=220307.02414540315, value3=220347.28591681895, value4=220347.28591681895, value5=220347.28591681895, value6=220347.28591681895, value7=220347.28591681895, value8=220347.28591681895, value9=220347.28591681895), scoreUnit=ops/ms, rawData=[[218541.47282244905, 219724.67833439456, 219772.01178468572, 215843.89855323668, 216828.2836091554], [215817.33652824783, 219190.64684876153, 220236.6687829433, 220347.28591681895, 220280.1829644593], [207554.70387339368, 208177.8445451245, 208060.30263935018, 207033.48882340023, 208197.591288519]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=213019.57841385395, scoreError=8369.52519853182, scoreConfidence=[204650.0532153221, 221389.10361238578], scorePercentiles=ScorePercentiles(value=197413.98397329127, value1=217610.7129978692, value2=219723.3317704759, value3=219758.40459576072, value4=219758.40459576072, value5=219758.40459576072, value6=219758.40459576072, value7=219758.40459576072, value8=219758.40459576072, value9=219758.40459576072), scoreUnit=ops/ms, rawData=[[206868.27433867607, 205182.2111975488, 204167.9490396314, 204005.0061468604, 207426.64594081696], [219181.9935317667, 216223.10708646767, 219125.53226626694, 217610.7129978692, 197413.98397329127], [219758.40459576072, 219333.8131482198, 219622.81899704665, 219673.27306063482, 219699.9498869527]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":3,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=216167.94947592515, scoreError=6351.68750113338, scoreConfidence=[209816.26197479176, 222519.63697705854], scorePercentiles=ScorePercentiles(value=207609.6787277975, value1=220083.82632526392, value2=220495.84668133676, value3=220578.645626575, value4=220578.645626575, value5=220578.645626575, value6=220578.645626575, value7=220578.645626575, value8=220578.645626575, value9=220578.645626575), scoreUnit=ops/ms, rawData=[[220578.645626575, 220190.6119076891, 220422.73757640028, 220039.87759511426, 220440.64738451125], [220083.82632526392, 220173.00309511184, 220003.74450350355, 220188.9056799221, 220117.19103609296], [207609.6787277975, 208118.842694774, 207978.19256919943, 208400.1635700705, 208173.17384685145]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=214917.7241256119, scoreError=6301.39658228276, scoreConfidence=[208616.32754332913, 221219.12070789465], scorePercentiles=ScorePercentiles(value=206311.68952503492, value1=218377.3623321719, value2=219592.32627396737, value3=219633.96102619683, value4=219633.96102619683, value5=219633.96102619683, value6=219633.96102619683, value7=219633.96102619683, value8=219633.96102619683, value9=219633.96102619683), scoreUnit=ops/ms, rawData=[[207193.65814001014, 207002.8489477412, 206943.68084416783, 206311.68952503492, 207099.94771446334], [219463.41458073552, 218377.3623321719, 219633.96102619683, 219564.56977248107, 218985.21574303682], [219553.50596095278, 219457.86810784994, 218626.7322201981, 218022.0528177619, 217529.35415137568]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":4,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=102937.09492915806, scoreError=738.2281502627558, scoreConfidence=[102198.8667788953, 103675.32307942082], scorePercentiles=ScorePercentiles(value=102108.35841383337, value1=102680.84352175887, value2=104036.37084411451, value3=104744.1685270877, value4=104744.1685270877, value5=104744.1685270877, value6=104744.1685270877, value7=104744.1685270877, value8=104744.1685270877, value9=104744.1685270877), scoreUnit=ops/ms, rawData=[[103249.78813914409, 103300.72019495853, 103296.18805819943, 103282.52950315604, 103265.42357161234], [102193.6711132366, 102520.84332831355, 102680.84352175887, 102649.58889888677, 104744.1685270877], [102448.6137918969, 102388.34665913737, 102108.35841383337, 103564.5057221324, 102362.83449401706]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=102424.75929129767, scoreError=1311.2926197505165, scoreConfidence=[101113.46667154715, 103736.05191104818], scorePercentiles=ScorePercentiles(value=100782.02299204767, value1=102351.60342395981, value2=104389.6446905981, value3=104776.48622510346, value4=104776.48622510346, value5=104776.48622510346, value6=104776.48622510346, value7=104776.48622510346, value8=104776.48622510346, value9=104776.48622510346), scoreUnit=ops/ms, rawData=[[104019.59942009942, 100853.32779022539, 103269.09084791028, 102397.4980292695, 101950.59363537583], [101573.01119181307, 101961.6474721076, 102351.60342395981, 101830.89650843975, 102723.52732366984], [100782.02299204767, 100880.84025982754, 104131.75033426119, 102869.49391535464, 104776.48622510346]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":5,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=103082.84485602807, scoreError=336.23810211581883, scoreConfidence=[102746.60675391225, 103419.08295814389], scorePercentiles=ScorePercentiles(value=102740.42532203064, value1=102986.22092942176, value2=103605.93096581091, value3=103627.49587401275, value4=103627.49587401275, value5=103627.49587401275, value6=103627.49587401275, value7=103627.49587401275, value8=103627.49587401275, value9=103627.49587401275), scoreUnit=ops/ms, rawData=[[103492.10307163533, 102896.6006691959, 103627.49587401275, 102740.42532203064, 102751.51542240671], [102986.22092942176, 103006.60976163321, 102936.7546530554, 102832.11173826705, 102766.6443996706], [103081.9799979654, 103094.50705630773, 103505.13633219531, 102933.0132522805, 103591.55436034303]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=101173.75249296638, scoreError=1264.8060051126886, scoreConfidence=[99908.94648785368, 102438.55849807907], scorePercentiles=ScorePercentiles(value=99185.2153535554, value1=101043.64528864236, value2=102630.83787462368, value3=103222.1714631878, value4=103222.1714631878, value5=103222.1714631878, value6=103222.1714631878, value7=103222.1714631878, value8=103222.1714631878, value9=103222.1714631878), scoreUnit=ops/ms, rawData=[[102150.90739212769, 102222.52134617638, 102236.61548224761, 102123.0075268795, 99498.95261886438], [103222.1714631878, 101988.43589892615, 100410.37732066831, 99712.20172140967, 101757.76244041382], [100442.08838965849, 99185.2153535554, 100874.36106891937, 100738.02408281867, 101043.64528864236]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":6,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.otherBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2672623.9977166834, scoreError=90857.77625580937, scoreConfidence=[2581766.221460874, 2763481.7739724927], scorePercentiles=ScorePercentiles(value=2367059.4835745655, value1=2695823.754104769, value2=2704831.9408413726, value3=2705514.282647544, value4=2705514.282647544, value5=2705514.282647544, value6=2705514.282647544, value7=2705514.282647544, value8=2705514.282647544, value9=2705514.282647544), scoreUnit=ops/ms, rawData=[[2695823.754104769, 2367059.4835745655, 2704377.0463039246, 2699108.903664965, 2695889.0304382015], [2699079.2256459035, 2691825.9978238293, 2699578.412785955, 2693583.7939747158, 2705514.282647544], [2693288.515075597, 2686722.948264872, 2702205.2530534216, 2684577.8660285943, 2670725.4523634017]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.otherBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2680506.786160648, scoreError=33634.55637372157, scoreConfidence=[2646872.2297869264, 2714141.3425343693], scorePercentiles=ScorePercentiles(value=2587370.443709131, value1=2689257.8138996437, value2=2708839.085919645, value3=2709699.76311555, value4=2709699.76311555, value5=2709699.76311555, value6=2709699.76311555, value7=2709699.76311555, value8=2709699.76311555, value9=2709699.76311555), scoreUnit=ops/ms, rawData=[[2587370.443709131, 2676106.3330415487, 2689257.8138996437, 2688373.3667595317, 2682722.9968245775], [2706042.0895221573, 2693995.6951759956, 2709699.76311555, 2696550.787148453, 2708265.3011223753], [2696931.780824163, 2663267.130020294, 2696434.565027128, 2668804.148119738, 2643779.57809943]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":7,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.otherBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2654913.2949247262, scoreError=123985.95026634775, scoreConfidence=[2530927.3446583785, 2778899.245191074], scorePercentiles=ScorePercentiles(value=2366065.5112541607, value1=2699185.1814515716, value2=2703667.6064290875, value3=2704467.145267866, value4=2704467.145267866, value5=2704467.145267866, value6=2704467.145267866, value7=2704467.145267866, value8=2704467.145267866, value9=2704467.145267866), scoreUnit=ops/ms, rawData=[[2701907.813020208, 2696268.298771779, 2699046.7897274573, 2703134.5805365685, 2686005.3441885486], [2704467.145267866, 2366065.5112541607, 2695078.8597571794, 2699529.485230546, 2695922.170106245], [2699524.1707989317, 2701739.022847612, 2372906.5736674685, 2699185.1814515716, 2702918.4772447534]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.otherBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2585022.6644677366, scoreError=130245.09600842759, scoreConfidence=[2454777.568459309, 2715267.760476164], scorePercentiles=ScorePercentiles(value=2167670.6364416275, value1=2599457.486356033, value2=2675326.303076792, value3=2691501.931565521, value4=2691501.931565521, value5=2691501.931565521, value6=2691501.931565521, value7=2691501.931565521, value8=2691501.931565521, value9=2691501.931565521), scoreUnit=ops/ms, rawData=[[2627501.1752287354, 2580228.9501864747, 2597266.734971277, 2615756.831786364, 2167670.6364416275], [2586029.1291058715, 2572960.285518471, 2638281.4050554917, 2555712.8190285983, 2647255.902087765], [2575321.590678138, 2599457.486356033, 2664542.550750973, 2655852.5382547067, 2691501.931565521]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":8,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.otherBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2676852.389264137, scoreError=91199.32624376185, scoreConfidence=[2585653.063020375, 2768051.715507899], scorePercentiles=ScorePercentiles(value=2368811.543935381, value1=2697616.768119219, value2=2706497.75875895, value3=2707715.2907083477, value4=2707715.2907083477, value5=2707715.2907083477, value6=2707715.2907083477, value7=2707715.2907083477, value8=2707715.2907083477, value9=2707715.2907083477), scoreUnit=ops/ms, rawData=[[2697595.3372755055, 2698537.394419771, 2707715.2907083477, 2696305.3800357035, 2696941.1008821693], [2697616.768119219, 2702705.063386602, 2705686.070792685, 2694799.65503855, 2699654.6177778933], [2692680.6162037263, 2368811.543935381, 2698905.075170393, 2695923.2053198568, 2698908.7198962467]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.otherBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2614856.4118722673, scoreError=34115.07160875654, scoreConfidence=[2580741.3402635106, 2648971.483481024], scorePercentiles=ScorePercentiles(value=2564998.5245198873, value1=2612410.416234041, value2=2661300.1102414792, value3=2675200.444690024, value4=2675200.444690024, value5=2675200.444690024, value6=2675200.444690024, value7=2675200.444690024, value8=2675200.444690024, value9=2675200.444690024), scoreUnit=ops/ms, rawData=[[2611196.938280069, 2652033.220609116, 2589639.3553861985, 2675200.444690024, 2640656.377394926], [2590897.853582021, 2601995.6163565614, 2564998.5245198873, 2627349.17074458, 2644606.011082584], [2625807.2957134745, 2585896.6634162646, 2633624.002625379, 2612410.416234041, 2566534.287448892]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":9,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.otherBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2676496.83515426, scoreError=91440.573382973, scoreConfidence=[2585056.261771287, 2767937.4085372332], scorePercentiles=ScorePercentiles(value=2367808.1094082543, value1=2698163.428894571, value2=2705365.9910619506, value3=2706787.365254381, value4=2706787.365254381, value5=2706787.365254381, value6=2706787.365254381, value7=2706787.365254381, value8=2706787.365254381, value9=2706787.365254381), scoreUnit=ops/ms, rawData=[[2692423.0354330856, 2706787.365254381, 2698163.428894571, 2699434.405603346, 2702527.719132114], [2698553.4069484794, 2699345.1125131864, 2367808.1094082543, 2698029.61953775, 2687718.1966836303], [2703688.9267214895, 2704418.4082669965, 2693508.289294956, 2697697.0271571577, 2697349.4764645]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.otherBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2585237.244524414, scoreError=32878.753933210806, scoreConfidence=[2552358.4905912033, 2618115.998457625], scorePercentiles=ScorePercentiles(value=2519643.7089164555, value1=2585445.3608351564, value2=2634182.6322008264, value3=2637495.2417243863, value4=2637495.2417243863, value5=2637495.2417243863, value6=2637495.2417243863, value7=2637495.2417243863, value8=2637495.2417243863, value9=2637495.2417243863), scoreUnit=ops/ms, rawData=[[2637495.2417243863, 2610423.9361436535, 2631974.2258517863, 2593169.9053242607, 2589213.0053637186], [2564658.8674174403, 2574045.4720237837, 2583706.870266283, 2571679.915415156, 2599159.1874019257], [2608297.2100854144, 2519643.7089164555, 2585445.3608351564, 2554278.0427193814, 2555367.718377408]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":10,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.textContentCheck\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=155929.81523562223, scoreError=662.5358060919239, scoreConfidence=[155267.27942953032, 156592.35104171414], scorePercentiles=ScorePercentiles(value=153985.38762939489, value1=156113.12189938975, value2=156423.43060726897, value3=156518.61215727887, value4=156518.61215727887, value5=156518.61215727887, value6=156518.61215727887, value7=156518.61215727887, value8=156518.61215727887, value9=156518.61215727887), scoreUnit=ops/ms, rawData=[[156230.71069140377, 156173.4814408301, 153985.38762939489, 156359.97624059572, 155937.45119008108], [156083.51333309565, 156011.53300135367, 155871.0046494779, 156316.29722905703, 156196.79982085555], [156113.12189938975, 156518.61215727887, 155221.2644764857, 156211.16065515697, 155716.91411987637]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.textContentCheck\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=150449.20912261767, scoreError=3034.7438406806577, scoreConfidence=[147414.465281937, 153483.95296329833], scorePercentiles=ScorePercentiles(value=146533.8457484901, value1=150378.62705356334, value2=154760.8000234267, value3=155112.46745954352, value4=155112.46745954352, value5=155112.46745954352, value6=155112.46745954352, value7=155112.46745954352, value8=155112.46745954352, value9=155112.46745954352), scoreUnit=ops/ms, rawData=[[147562.32447331163, 146919.92840564888, 146533.8457484901, 149431.99340857228, 149623.22172793045], [150378.62705356334, 155112.46745954352, 154526.3550660155, 150509.4053069165, 147218.81258428408], [151375.65419539824, 148363.62205931102, 153114.28356302352, 152536.70051612225, 153530.89527113372]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":11,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.textContentCheck\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=156259.91933032282, scoreError=292.62210300644284, scoreConfidence=[155967.2972273164, 156552.54143332926], scorePercentiles=ScorePercentiles(value=155844.31157353683, value1=156245.03110484907, value2=156766.68036729074, value3=156830.848118337, value4=156830.848118337, value5=156830.848118337, value6=156830.848118337, value7=156830.848118337, value8=156830.848118337, value9=156830.848118337), scoreUnit=ops/ms, rawData=[[156245.03110484907, 155879.23423483202, 156095.45712789905, 156067.44364136213, 156393.47413106388], [156830.848118337, 156127.55458730273, 155844.31157353683, 156285.4147970578, 156723.90186659325], [156057.30653389884, 156423.55911127597, 156230.51794712467, 156293.95597148928, 156400.7792082202]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.textContentCheck\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=147058.56562691744, scoreError=6941.9824872207455, scoreConfidence=[140116.58313969668, 154000.5481141382], scorePercentiles=ScorePercentiles(value=130790.37890478887, value1=148195.62966833048, value2=154663.74923074094, value3=154680.04793211026, value4=154680.04793211026, value5=154680.04793211026, value6=154680.04793211026, value7=154680.04793211026, value8=154680.04793211026, value9=154680.04793211026), scoreUnit=ops/ms, rawData=[[148195.62966833048, 150970.3891228496, 153210.09745493263, 154652.88342982804, 154680.04793211026], [149646.06333880438, 150140.70154558576, 147059.35486041065, 141839.45756883282, 130790.37890478887], [138096.7469151585, 141904.3166564228, 147788.95295505068, 149061.30788855362, 147842.15616210227]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=1, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":12,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.textContentCheck\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=155811.88330649625, scoreError=1798.885076389966, scoreConfidence=[154012.99823010628, 157610.76838288622], scorePercentiles=ScorePercentiles(value=149881.3062857884, value1=156170.8191688453, value2=156893.9358705331, value3=156985.25287892742, value4=156985.25287892742, value5=156985.25287892742, value6=156985.25287892742, value7=156985.25287892742, value8=156985.25287892742, value9=156985.25287892742), scoreUnit=ops/ms, rawData=[[155825.93646340026, 156287.10589798016, 156170.8191688453, 156549.89077271125, 156003.81095881623], [156529.99846502446, 156025.85330975667, 156985.25287892742, 156833.0578649369, 149881.3062857884], [156002.09795310255, 155651.4742902225, 155819.82841786704, 156291.48423257208, 156320.33263749297]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.textContentCheck\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=146125.99724354869, scoreError=2621.840196349384, scoreConfidence=[143504.1570471993, 148747.83743989808], scorePercentiles=ScorePercentiles(value=142110.05085289903, value1=145559.41381322622, value2=149378.936134749, value3=149415.75756265668, value4=149415.75756265668, value5=149415.75756265668, value6=149415.75756265668, value7=149415.75756265668, value8=149415.75756265668, value9=149415.75756265668), scoreUnit=ops/ms, rawData=[[147627.61060896592, 147786.8872500227, 145107.68081705985, 145260.50933848377, 142791.10085421838], [143873.67663397978, 145691.6524722547, 145559.41381322622, 145169.12706392776, 148882.97251436452], [142110.05085289903, 143955.1989786972, 149415.75756265668, 149354.38851614387, 149303.9313763301]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=1)\"},{\"rowIndex\":13,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.ParamBenchmark.textContentCheck\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=154835.23402865283, scoreError=2535.6674530288433, scoreConfidence=[152299.566575624, 157370.90148168168], scorePercentiles=ScorePercentiles(value=149729.01100740995, value1=155947.47312493756, value2=156608.63973803597, value3=156617.01415136253, value4=156617.01415136253, value5=156617.01415136253, value6=156617.01415136253, value7=156617.01415136253, value8=156617.01415136253, value9=156617.01415136253), scoreUnit=ops/ms, rawData=[[155653.09520821102, 155033.05219572788, 149729.01100740995, 149984.79725200278, 151647.2054989823], [155947.47312493756, 156013.0722712474, 156272.07194904747, 154409.49974663087, 156617.01415136253], [156155.0343181257, 156603.05679581827, 156178.441440297, 155866.4649440708, 156419.22052592097]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\",\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.ParamBenchmark.textContentCheck\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=150019.93211383233, scoreError=4138.646814504739, scoreConfidence=[145881.2852993276, 154158.57892833705], scorePercentiles=ScorePercentiles(value=141847.99928577995, value1=150600.99368383663, value2=154054.77573316227, value3=154178.36787267585, value4=154178.36787267585, value5=154178.36787267585, value6=154178.36787267585, value7=154178.36787267585, value8=154178.36787267585, value9=154178.36787267585), scoreUnit=ops/ms, rawData=[[147315.93354357762, 147761.8231080875, 150465.85820468407, 150584.51800401654, 150854.58174432084], [150600.99368383663, 153422.1254060223, 153435.6836635383, 152814.41284740934, 153972.38097348655], [154178.36787267585, 152200.1304105055, 148428.2639986952, 141847.99928577995, 142415.9089608489]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":\"Params(data=2, text=a \\\"string\\\" with quotes, value=2)\"},{\"rowIndex\":14,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.nested.CommonBenchmark.mathBenchmark\",\"mode\":\"thrpt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=149758.67842734433, scoreError=293.5374748750323, scoreConfidence=[149465.14095246932, 150052.21590221935], scorePercentiles=ScorePercentiles(value=149127.12050173787, value1=149747.8700940119, value2=150096.17489407328, value3=150103.77167623633, value4=150103.77167623633, value5=150103.77167623633, value6=150103.77167623633, value7=150103.77167623633, value8=150103.77167623633, value9=150103.77167623633), scoreUnit=ops/ms, rawData=[[149625.90822638196, 149747.8700940119, 149579.58125309373, 149828.73739142198, 150103.77167623633], [149413.02566654282, 149980.31673364484, 149714.467340381, 150091.11037263126, 150039.17963764226], [149750.44060933887, 149651.932190779, 149651.61032285137, 150075.1043934694, 149127.12050173787]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.nested.CommonBenchmark.mathBenchmark\",\"mode1\":\"thrpt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=145509.90114707965, scoreError=2267.0081771263035, scoreConfidence=[143242.89296995336, 147776.90932420595], scorePercentiles=ScorePercentiles(value=141948.21669972295, value1=145896.9469845177, value2=148521.97786454117, value3=148745.70615182133, value4=148745.70615182133, value5=148745.70615182133, value6=148745.70615182133, value7=148745.70615182133, value8=148745.70615182133, value9=148745.70615182133), scoreUnit=ops/ms, rawData=[[145366.8036034026, 142299.2094795828, 145896.9469845177, 148372.82567302109, 143367.41459816665], [144647.7630097708, 146694.008288706, 147248.68951792808, 145884.82763481166, 148745.70615182133], [142650.6802938886, 141948.21669972295, 146317.94466998376, 146642.89172206703, 146564.58887880377]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":15,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.CommonBenchmark.longBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=8.442082734074419E-4, scoreError=6.9559958875993325E-6, scoreConfidence=[8.372522775198425E-4, 8.511642692950413E-4], scorePercentiles=ScorePercentiles(value=8.362481443513727E-4, value1=8.425114618720137E-4, value2=8.554739693481276E-4, value3=8.625207558159261E-4, value4=8.625207558159261E-4, value5=8.625207558159261E-4, value6=8.625207558159261E-4, value7=8.625207558159261E-4, value8=8.625207558159261E-4, value9=8.625207558159261E-4), scoreUnit=ms/op, rawData=[[8.467816995242087E-4, 8.430582604490501E-4, 8.410846282796423E-4, 8.42466093901459E-4, 8.405569934838612E-4], [8.503089526071239E-4, 8.442610558480163E-4, 8.425114618720137E-4, 8.363425717030328E-4, 8.362481443513727E-4], [8.625207558159261E-4, 8.421939674028873E-4, 8.507761117029286E-4, 8.427389731494616E-4, 8.412744310206468E-4]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.CommonBenchmark.longBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=8.972137714852465E-4, scoreError=2.3434673818304643E-5, scoreConfidence=[8.737790976669418E-4, 9.206484453035511E-4], scorePercentiles=ScorePercentiles(value=8.558059337699079E-4, value1=9.054588208104977E-4, value2=9.210053750173296E-4, value3=9.224433254813165E-4, value4=9.224433254813165E-4, value5=9.224433254813165E-4, value6=9.224433254813165E-4, value7=9.224433254813165E-4, value8=9.224433254813165E-4, value9=9.224433254813165E-4), scoreUnit=ms/op, rawData=[[9.054588208104977E-4, 9.156973236479475E-4, 9.224433254813165E-4, 9.00828188842228E-4, 9.107754028023643E-4], [9.200467413746716E-4, 9.115043882555634E-4, 9.084565765820204E-4, 8.767418303471348E-4, 9.053852830569797E-4], [9.092420760590472E-4, 8.814736623470185E-4, 8.780006803868319E-4, 8.56346338515166E-4, 8.558059337699079E-4]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":16,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=2.1647588413775662E-5, scoreError=2.534360886616622E-7, scoreConfidence=[2.1394152325114E-5, 2.1901024502437323E-5], scorePercentiles=ScorePercentiles(value=2.1361077888634525E-5, value1=2.1516871084180382E-5, value2=2.202101373020578E-5, value3=2.2094171724530248E-5, value4=2.2094171724530248E-5, value5=2.2094171724530248E-5, value6=2.2094171724530248E-5, value7=2.2094171724530248E-5, value8=2.2094171724530248E-5, value9=2.2094171724530248E-5), scoreUnit=ms/op, rawData=[[2.1972241733989467E-5, 2.1912187967005716E-5, 2.2094171724530248E-5, 2.179201842226699E-5, 2.1931862502808358E-5], [2.149269239898969E-5, 2.1588503852849248E-5, 2.1465568243562443E-5, 2.1469185115384166E-5, 2.1741589290850682E-5], [2.1361077888634525E-5, 2.143654181363715E-5, 2.1438373271465475E-5, 2.1516871084180382E-5, 2.150094089648039E-5]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=2.369188528309145E-5, scoreError=5.301074950535872E-7, scoreConfidence=[2.3161777788037864E-5, 2.4221992778145036E-5], scorePercentiles=ScorePercentiles(value=2.3172474054863192E-5, value1=2.3490112690973724E-5, value2=2.454071797596328E-5, value3=2.5191244066120582E-5, value4=2.5191244066120582E-5, value5=2.5191244066120582E-5, value6=2.5191244066120582E-5, value7=2.5191244066120582E-5, value8=2.5191244066120582E-5, value9=2.5191244066120582E-5), scoreUnit=ms/op, rawData=[[2.3771999760650284E-5, 2.3483926731481622E-5, 2.3490112690973724E-5, 2.4107033915858415E-5, 2.34726374905896E-5], [2.4074384081672598E-5, 2.372326317951973E-5, 2.3828017426694297E-5, 2.354594683216512E-5, 2.5191244066120582E-5], [2.344044540404836E-5, 2.3353214887948224E-5, 2.3172474054863192E-5, 2.3237906906642226E-5, 2.3485671817143782E-5]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":17,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.CommonBenchmark.mathBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":5,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=6.6933720644037785E-6, scoreError=4.284099269036389E-8, scoreConfidence=[6.650531071713415E-6, 6.736213057094142E-6], scorePercentiles=ScorePercentiles(value=6.6609185162827615E-6, value1=6.684420736588999E-6, value2=6.765477541364906E-6, value3=6.826386388870456E-6, value4=6.826386388870456E-6, value5=6.826386388870456E-6, value6=6.826386388870456E-6, value7=6.826386388870456E-6, value8=6.826386388870456E-6, value9=6.826386388870456E-6), scoreUnit=ms/op, rawData=[[6.705546103510891E-6, 6.688009711991288E-6, 6.675740330964435E-6, 6.826386388870456E-6, 6.676012715704043E-6], [6.686350850004439E-6, 6.688641367633173E-6, 6.724871643027872E-6, 6.680527149229836E-6, 6.692928745146837E-6], [6.667844712936194E-6, 6.672262240006864E-6, 6.6609185162827615E-6, 6.684420736588999E-6, 6.6701197541585935E-6]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.CommonBenchmark.mathBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":5,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=6.7916806977233165E-6, scoreError=8.141136686930697E-8, scoreConfidence=[6.710269330854009E-6, 6.8730920645926235E-6], scorePercentiles=ScorePercentiles(value=6.701530533532881E-6, value1=6.76503126382059E-6, value2=6.93258474346898E-6, value3=6.9992093955689395E-6, value4=6.9992093955689395E-6, value5=6.9992093955689395E-6, value6=6.9992093955689395E-6, value7=6.9992093955689395E-6, value8=6.9992093955689395E-6, value9=6.9992093955689395E-6), scoreUnit=ms/op, rawData=[[6.9992093955689395E-6, 6.841248992103788E-6, 6.8377719004912886E-6, 6.805358906204384E-6, 6.7621808477331E-6], [6.763934522989531E-6, 6.7472874171127275E-6, 6.701530533532881E-6, 6.795685926801394E-6, 6.888168308735673E-6], [6.737488746443598E-6, 6.713748179732903E-6, 6.76503126382059E-6, 6.74531087032438E-6, 6.7712546542545655E-6]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":18,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.JvmTestBenchmark.cosBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":20,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=3.472485344175375, scoreError=0.012791880282928818, scoreConfidence=[3.4596934638924464, 3.485277224458304], scorePercentiles=ScorePercentiles(value=3.453075891047211, value1=3.4685811482869786, value2=3.4948560212467537, value3=3.5041159990825363, value4=3.5041159990825363, value5=3.5041159990825363, value6=3.5041159990825363, value7=3.5041159990825363, value8=3.5041159990825363, value9=3.5041159990825363), scoreUnit=ns/op, rawData=[[3.4642370800798212, 3.4706553850798256, 3.474761954482654, 3.4682631712744367, 3.453075891047211], [3.476626015715823, 3.476141586621772, 3.4886827026895655, 3.468554957075292, 3.5041159990825363], [3.4685811482869786, 3.4653618089650773, 3.4623219108095027, 3.478184169683356, 3.467716381736783]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.JvmTestBenchmark.cosBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":20,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=3.5445401759264423, scoreError=0.027518784872486504, scoreConfidence=[3.5170213910539556, 3.572058960798929], scorePercentiles=ScorePercentiles(value=3.4969774557713085, value1=3.5513531915454446, value2=3.5795151731837596, value3=3.5837249530409823, value4=3.5837249530409823, value5=3.5837249530409823, value6=3.5837249530409823, value7=3.5837249530409823, value8=3.5837249530409823, value9=3.5837249530409823), scoreUnit=ns/op, rawData=[[3.528590619541914, 3.557976383765043, 3.545772757821706, 3.555809524223283, 3.4969774557713085], [3.5243222485430277, 3.5513531915454446, 3.5132598145841727, 3.5259866614316198, 3.515113627690907], [3.5591468493343243, 3.5767086532789443, 3.5837249530409823, 3.562040342574859, 3.5713195557490893]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null},{\"rowIndex\":19,\"jmhVersion\":\"1.37\",\"benchmark\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"mode\":\"avgt\",\"threads\":1,\"forks\":3,\"jvm\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion\":\"21.0.6\",\"vmName\":\"OpenJDK 64-Bit Server VM\",\"vmVersion\":\"21.0.6+9-b895.97\",\"warmupIterations\":20,\"warmupTime\":\"300 ms\",\"warmupBatchSize\":1,\"measurementIterations\":5,\"measurementTime\":\"300 ms\",\"measurementBatchSize\":1,\"primaryMetric\":\"PrimaryMetric(score=0.5348082435809666, scoreError=0.004754411745761727, scoreConfidence=[0.5300538318352048, 0.5395626553267283], scorePercentiles=ScorePercentiles(value=0.5302910115269889, value1=0.5333481161475299, value2=0.543341875541569, value3=0.548234903523163, value4=0.548234903523163, value5=0.548234903523163, value6=0.548234903523163, value7=0.548234903523163, value8=0.548234903523163, value9=0.548234903523163), scoreUnit=ns/op, rawData=[[0.5339123340330779, 0.532330907839245, 0.5333228976746596, 0.548234903523163, 0.5378643784134242], [0.532801186990189, 0.5326615503320409, 0.5321833380694293, 0.5334943009002872, 0.5344929825602898], [0.5333481161475299, 0.531641982676271, 0.5302910115269889, 0.5400798568871731, 0.5354639061407278]])\",\"secondaryMetrics\":\"SecondaryMetrics\",\"params\":null,\"jmhVersion1\":\"1.37\",\"benchmark1\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"mode1\":\"avgt\",\"threads1\":1,\"forks1\":3,\"jvm1\":\"/Users/christian.melchior/Library/Java/JavaVirtualMachines/jbr-21.0.6/Contents/Home/bin/java\",\"jvmArgs1\":[\"-Dfile.encoding=UTF-8\",\"-Duser.country=US\",\"-Duser.language=en\",\"-Duser.variant\"],\"jdkVersion1\":\"21.0.6\",\"vmName1\":\"OpenJDK 64-Bit Server VM\",\"vmVersion1\":\"21.0.6+9-b895.97\",\"warmupIterations1\":20,\"warmupTime1\":\"300 ms\",\"warmupBatchSize1\":1,\"measurementIterations1\":5,\"measurementTime1\":\"300 ms\",\"measurementBatchSize1\":1,\"primaryMetric1\":\"PrimaryMetric(score=0.5428283650466172, scoreError=0.004009450689061885, scoreConfidence=[0.5388189143575554, 0.5468378157356791], scorePercentiles=ScorePercentiles(value=0.5361950215665793, value1=0.5441919549888109, value2=0.5466691090109008, value3=0.5473154192262027, value4=0.5473154192262027, value5=0.5473154192262027, value6=0.5473154192262027, value7=0.5473154192262027, value8=0.5473154192262027, value9=0.5473154192262027), scoreUnit=ns/op, rawData=[[0.5436232181058153, 0.5416267009171597, 0.5473154192262027, 0.5441919549888109, 0.5418589777913709], [0.5453811097267581, 0.5367109350651378, 0.5389290808042594, 0.5377944541258022, 0.5361950215665793], [0.5459453617961894, 0.5454892425763844, 0.5457198126333123, 0.5454059508414439, 0.546238235534033]])\",\"secondaryMetrics1\":\"SecondaryMetrics\",\"params1\":null}]}" - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - } - ], - "execution_count": 5 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2025-10-10T06:02:19.816161Z", - "start_time": "2025-10-10T06:02:19.143374Z" - }, - "executionRelatedData": { - "compiledClasses": [ - "Line_31_jupyter", - "Line_32_jupyter", - "Line_33_jupyter" - ] - } - }, - "cell_type": "code", - "source": [ - "// Helper class for tracking the information we need to use later\n", - "data class RunData(val score: Double, val range: ClosedFloatingPointRange)\n", - "data class BenchmarkData(\n", - " val name: String,\n", - " val params: String,\n", - " val mode: String, // \"avgt\" or \"thrpt\"\n", - " val unit: String,\n", - " val runOld: RunData,\n", - " val runNew: RunData\n", - ")\n", - "val resultData = combinedData.map {\n", - " val paramInfo = it.params?.let { params -> \"data=${params.data},text=\\\"${params.text}\\\",value=${params.value}\"} ?: \"\"\n", - " BenchmarkData(\n", - " name = it.benchmark,\n", - " params = paramInfo,\n", - " mode = it.mode,\n", - " unit = it.primaryMetric.scoreUnit,\n", - " runOld = RunData(\n", - " score = it.primaryMetric.score,\n", - " range = it.primaryMetric.scoreConfidence[0]..it.primaryMetric.scoreConfidence[1]\n", - " ),\n", - " runNew = RunData(\n", - " score = it.primaryMetric1.score,\n", - " range = it.primaryMetric1.scoreConfidence[0]..it.primaryMetric.scoreConfidence[1]\n", - " )\n", - " )\n", - "}.toDataFrame()\n", - "resultData" - ], - "outputs": [ - { - "data": { - "text/html": [ - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
nameparamsmodeunitrunOldrunNew
test.InheritedBenchmark.baseBenchmarkthrptops/sRunData(score=1124169.302037032, rang...RunData(score=1104972.6706894366, ran...
test.InheritedBenchmark.inheritedBenc...thrptops/sRunData(score=1.4563056890183368E8, r...RunData(score=1.4634989745609665E8, r...
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/msRunData(score=215040.42648766268, ran...RunData(score=213019.57841385395, ran...
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/msRunData(score=216167.94947592515, ran...RunData(score=214917.7241256119, rang...
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/msRunData(score=102937.09492915806, ran...RunData(score=102424.75929129767, ran...
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/msRunData(score=103082.84485602807, ran...RunData(score=101173.75249296638, ran...
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/msRunData(score=2672623.9977166834, ran...RunData(score=2680506.786160648, rang...
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/msRunData(score=2654913.2949247262, ran...RunData(score=2585022.6644677366, ran...
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/msRunData(score=2676852.389264137, rang...RunData(score=2614856.4118722673, ran...
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/msRunData(score=2676496.83515426, range...RunData(score=2585237.244524414, rang...
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/msRunData(score=155929.81523562223, ran...RunData(score=150449.20912261767, ran...
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/msRunData(score=156259.91933032282, ran...RunData(score=147058.56562691744, ran...
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/msRunData(score=155811.88330649625, ran...RunData(score=146125.99724354869, ran...
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/msRunData(score=154835.23402865283, ran...RunData(score=150019.93211383233, ran...
test.nested.CommonBenchmark.mathBench...thrptops/msRunData(score=149758.67842734433, ran...RunData(score=145509.90114707965, ran...
test.CommonBenchmark.longBenchmarkavgtms/opRunData(score=8.442082734074419E-4, r...RunData(score=8.972137714852465E-4, r...
test.CommonBenchmark.longBlackholeBen...avgtms/opRunData(score=2.1647588413775662E-5, ...RunData(score=2.369188528309145E-5, r...
test.CommonBenchmark.mathBenchmarkavgtms/opRunData(score=6.6933720644037785E-6, ...RunData(score=6.7916806977233165E-6, ...
test.JvmTestBenchmark.cosBenchmarkavgtns/opRunData(score=3.472485344175375, rang...RunData(score=3.5445401759264423, ran...
test.JvmTestBenchmark.sqrtBenchmarkavgtns/opRunData(score=0.5348082435809666, ran...RunData(score=0.5428283650466172, ran...
\n", - " \n", - " \n", - " " - ], - "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"runOld\",\"runNew\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_31_jupyter.RunData\"},{\"kind\":\"ValueColumn\",\"type\":\"Line_31_jupyter.RunData\"}],\"nrow\":20,\"ncol\":6,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.InheritedBenchmark.baseBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"runOld\":\"RunData(score=1124169.302037032, range=1048963.3505892197..1199375.2534848445)\",\"runNew\":\"RunData(score=1104972.6706894366, range=1055663.3534587221..1199375.2534848445)\"},{\"name\":\"test.InheritedBenchmark.inheritedBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"runOld\":\"RunData(score=1.4563056890183368E8, range=1.4257469243792653E8..1.4868644536574084E8)\",\"runNew\":\"RunData(score=1.4634989745609665E8, range=1.437328117109918E8..1.4868644536574084E8)\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=215040.42648766268, range=209159.44934415395..220921.40363117142)\",\"runNew\":\"RunData(score=213019.57841385395, range=204650.0532153221..220921.40363117142)\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=216167.94947592515, range=209816.26197479176..222519.63697705854)\",\"runNew\":\"RunData(score=214917.7241256119, range=208616.32754332913..222519.63697705854)\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=102937.09492915806, range=102198.8667788953..103675.32307942082)\",\"runNew\":\"RunData(score=102424.75929129767, range=101113.46667154715..103675.32307942082)\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=103082.84485602807, range=102746.60675391225..103419.08295814389)\",\"runNew\":\"RunData(score=101173.75249296638, range=99908.94648785368..103419.08295814389)\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=2672623.9977166834, range=2581766.221460874..2763481.7739724927)\",\"runNew\":\"RunData(score=2680506.786160648, range=2646872.2297869264..2763481.7739724927)\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=2654913.2949247262, range=2530927.3446583785..2778899.245191074)\",\"runNew\":\"RunData(score=2585022.6644677366, range=2454777.568459309..2778899.245191074)\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=2676852.389264137, range=2585653.063020375..2768051.715507899)\",\"runNew\":\"RunData(score=2614856.4118722673, range=2580741.3402635106..2768051.715507899)\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=2676496.83515426, range=2585056.261771287..2767937.4085372332)\",\"runNew\":\"RunData(score=2585237.244524414, range=2552358.4905912033..2767937.4085372332)\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=155929.81523562223, range=155267.27942953032..156592.35104171414)\",\"runNew\":\"RunData(score=150449.20912261767, range=147414.465281937..156592.35104171414)\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=156259.91933032282, range=155967.2972273164..156552.54143332926)\",\"runNew\":\"RunData(score=147058.56562691744, range=140116.58313969668..156552.54143332926)\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=155811.88330649625, range=154012.99823010628..157610.76838288622)\",\"runNew\":\"RunData(score=146125.99724354869, range=143504.1570471993..157610.76838288622)\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=154835.23402865283, range=152299.566575624..157370.90148168168)\",\"runNew\":\"RunData(score=150019.93211383233, range=145881.2852993276..157370.90148168168)\"},{\"name\":\"test.nested.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"runOld\":\"RunData(score=149758.67842734433, range=149465.14095246932..150052.21590221935)\",\"runNew\":\"RunData(score=145509.90114707965, range=143242.89296995336..150052.21590221935)\"},{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"runOld\":\"RunData(score=8.442082734074419E-4, range=8.372522775198425E-4..8.511642692950413E-4)\",\"runNew\":\"RunData(score=8.972137714852465E-4, range=8.737790976669418E-4..8.511642692950413E-4)\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"runOld\":\"RunData(score=2.1647588413775662E-5, range=2.1394152325114E-5..2.1901024502437323E-5)\",\"runNew\":\"RunData(score=2.369188528309145E-5, range=2.3161777788037864E-5..2.1901024502437323E-5)\"},{\"name\":\"test.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"runOld\":\"RunData(score=6.6933720644037785E-6, range=6.650531071713415E-6..6.736213057094142E-6)\",\"runNew\":\"RunData(score=6.7916806977233165E-6, range=6.710269330854009E-6..6.736213057094142E-6)\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"runOld\":\"RunData(score=3.472485344175375, range=3.4596934638924464..3.485277224458304)\",\"runNew\":\"RunData(score=3.5445401759264423, range=3.5170213910539556..3.485277224458304)\"},{\"name\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"runOld\":\"RunData(score=0.5348082435809666, range=0.5300538318352048..0.5395626553267283)\",\"runNew\":\"RunData(score=0.5428283650466172, range=0.5388189143575554..0.5395626553267283)\"}]}" - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "execution_count": 6 - }, - { - "metadata": { - "ExecuteTime": { - "end_time": "2025-10-10T06:02:20.375377Z", - "start_time": "2025-10-10T06:02:19.928628Z" - }, - "executionRelatedData": { - "compiledClasses": [ - "Line_36_jupyter", - "Line_37_jupyter", - "Line_38_jupyter" - ] - } - }, - "cell_type": "code", - "source": [ - "// Flatten the data so it is easier to plot\n", - "val mergedData = resultData.unfold { runOld }.unfold { runNew }.flatten()\n", - "mergedData" - ], - "outputs": [ - { - "data": { - "text/html": [ - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
nameparamsmodeunitscorerangescore1range1
test.InheritedBenchmark.baseBenchmarkthrptops/s1124169.3020371048963.3505892197..1199375.25348484451104972.6706891055663.3534587221..1199375.2534848445
test.InheritedBenchmark.inheritedBenc...thrptops/s145630568.9018341.4257469243792653E8..1.4868644536574...146349897.4560971.437328117109918E8..1.48686445365740...
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms215040.426488209159.44934415395..220921.40363117142213019.578414204650.0532153221..220921.40363117142
test.ParamBenchmark.mathBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms216167.949476209816.26197479176..222519.63697705854214917.724126208616.32754332913..222519.63697705854
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms102937.094929102198.8667788953..103675.32307942082102424.759291101113.46667154715..103675.32307942082
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms103082.844856102746.60675391225..103419.08295814389101173.75249399908.94648785368..103419.08295814389
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms2672623.9977172581766.221460874..2763481.77397249272680506.7861612646872.2297869264..2763481.7739724927
test.ParamBenchmark.otherBenchmarkdata=1,text="a "string" with quotes",...thrptops/ms2654913.2949252530927.3446583785..2778899.2451910742585022.6644682454777.568459309..2778899.245191074
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms2676852.3892642585653.063020375..2768051.7155078992614856.4118722580741.3402635106..2768051.715507899
test.ParamBenchmark.otherBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms2676496.8351542585056.261771287..2767937.40853723322585237.2445242552358.4905912033..2767937.4085372332
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/ms155929.815236155267.27942953032..156592.35104171414150449.209123147414.465281937..156592.35104171414
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/ms156259.919330155967.2972273164..156552.54143332926147058.565627140116.58313969668..156552.54143332926
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/ms155811.883306154012.99823010628..157610.76838288622146125.997244143504.1570471993..157610.76838288622
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/ms154835.234029152299.566575624..157370.90148168168150019.932114145881.2852993276..157370.90148168168
test.nested.CommonBenchmark.mathBench...thrptops/ms149758.678427149465.14095246932..150052.21590221935145509.901147143242.89296995336..150052.21590221935
test.CommonBenchmark.longBenchmarkavgtms/op0.0008448.372522775198425E-4..8.5116426929504...0.0008978.737790976669418E-4..8.5116426929504...
test.CommonBenchmark.longBlackholeBen...avgtms/op0.0000222.1394152325114E-5..2.190102450243732...0.0000242.3161777788037864E-5..2.190102450243...
test.CommonBenchmark.mathBenchmarkavgtms/op0.0000076.650531071713415E-6..6.7362130570941...0.0000076.710269330854009E-6..6.7362130570941...
test.JvmTestBenchmark.cosBenchmarkavgtns/op3.4724853.4596934638924464..3.4852772244583043.5445403.5170213910539556..3.485277224458304
test.JvmTestBenchmark.sqrtBenchmarkavgtns/op0.5348080.5300538318352048..0.53956265532672830.5428280.5388189143575554..0.5395626553267283
\n", - " \n", - " \n", - " " - ], - "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"score\",\"range\",\"score1\",\"range1\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"}],\"nrow\":20,\"ncol\":8,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.InheritedBenchmark.baseBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1124169.302037032,\"range\":\"1048963.3505892197..1199375.2534848445\",\"score1\":1104972.6706894366,\"range1\":\"1055663.3534587221..1199375.2534848445\"},{\"name\":\"test.InheritedBenchmark.inheritedBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1.4563056890183368E8,\"range\":\"1.4257469243792653E8..1.4868644536574084E8\",\"score1\":1.4634989745609665E8,\"range1\":\"1.437328117109918E8..1.4868644536574084E8\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":215040.42648766268,\"range\":\"209159.44934415395..220921.40363117142\",\"score1\":213019.57841385395,\"range1\":\"204650.0532153221..220921.40363117142\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":216167.94947592515,\"range\":\"209816.26197479176..222519.63697705854\",\"score1\":214917.7241256119,\"range1\":\"208616.32754332913..222519.63697705854\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":102937.09492915806,\"range\":\"102198.8667788953..103675.32307942082\",\"score1\":102424.75929129767,\"range1\":\"101113.46667154715..103675.32307942082\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":103082.84485602807,\"range\":\"102746.60675391225..103419.08295814389\",\"score1\":101173.75249296638,\"range1\":\"99908.94648785368..103419.08295814389\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2672623.9977166834,\"range\":\"2581766.221460874..2763481.7739724927\",\"score1\":2680506.786160648,\"range1\":\"2646872.2297869264..2763481.7739724927\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2654913.2949247262,\"range\":\"2530927.3446583785..2778899.245191074\",\"score1\":2585022.6644677366,\"range1\":\"2454777.568459309..2778899.245191074\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676852.389264137,\"range\":\"2585653.063020375..2768051.715507899\",\"score1\":2614856.4118722673,\"range1\":\"2580741.3402635106..2768051.715507899\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676496.83515426,\"range\":\"2585056.261771287..2767937.4085372332\",\"score1\":2585237.244524414,\"range1\":\"2552358.4905912033..2767937.4085372332\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155929.81523562223,\"range\":\"155267.27942953032..156592.35104171414\",\"score1\":150449.20912261767,\"range1\":\"147414.465281937..156592.35104171414\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":156259.91933032282,\"range\":\"155967.2972273164..156552.54143332926\",\"score1\":147058.56562691744,\"range1\":\"140116.58313969668..156552.54143332926\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155811.88330649625,\"range\":\"154012.99823010628..157610.76838288622\",\"score1\":146125.99724354869,\"range1\":\"143504.1570471993..157610.76838288622\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":154835.23402865283,\"range\":\"152299.566575624..157370.90148168168\",\"score1\":150019.93211383233,\"range1\":\"145881.2852993276..157370.90148168168\"},{\"name\":\"test.nested.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":149758.67842734433,\"range\":\"149465.14095246932..150052.21590221935\",\"score1\":145509.90114707965,\"range1\":\"143242.89296995336..150052.21590221935\"},{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":8.442082734074419E-4,\"range\":\"8.372522775198425E-4..8.511642692950413E-4\",\"score1\":8.972137714852465E-4,\"range1\":\"8.737790976669418E-4..8.511642692950413E-4\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":2.1647588413775662E-5,\"range\":\"2.1394152325114E-5..2.1901024502437323E-5\",\"score1\":2.369188528309145E-5,\"range1\":\"2.3161777788037864E-5..2.1901024502437323E-5\"},{\"name\":\"test.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":6.6933720644037785E-6,\"range\":\"6.650531071713415E-6..6.736213057094142E-6\",\"score1\":6.7916806977233165E-6,\"range1\":\"6.710269330854009E-6..6.736213057094142E-6\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":3.472485344175375,\"range\":\"3.4596934638924464..3.485277224458304\",\"score1\":3.5445401759264423,\"range1\":\"3.5170213910539556..3.485277224458304\"},{\"name\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":0.5348082435809666,\"range\":\"0.5300538318352048..0.5395626553267283\",\"score1\":0.5428283650466172,\"range1\":\"0.5388189143575554..0.5395626553267283\"}]}" - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" + "outputs": [], + "execution_count": 5 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-15T06:52:39.257941Z", + "start_time": "2025-10-15T06:52:38.915574Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_30_jupyter", + "Line_31_jupyter", + "Line_32_jupyter" + ] + } + }, + "cell_type": "code", + "source": [ + "// Reduce the combined data into the exact format we need\n", + "val resultData = combinedData.mapToFrame {\n", + " \"name\" from { it.benchmark }\n", + " \"params\" from { it.params?.let { params -> \"data=${params.data},text=\\\"${params.text}\\\",value=${params.value}\"} ?: \"\" }\n", + " \"mode\" from { it.mode } // \"avgt\" or \"thrpt\"\n", + " \"unit\" from { it.primaryMetric.scoreUnit }\n", + " \"runOld\" {\n", + " \"score\" from { it.primaryMetric.score }\n", + " \"range\" from { it.primaryMetric.scoreConfidence[0]..it.primaryMetric.scoreConfidence[1] }\n", + " }\n", + " \"runNew\" {\n", + " \"score\" from { it.primaryMetric1.score }\n", + " \"range\" from { it.primaryMetric1.scoreConfidence[0]..it.primaryMetric1.scoreConfidence[1] }\n", + " }\n", + "}\n", + "// Un-commont this to see the intermediate dataframe:\n", + "// resultData" + ], + "outputs": [], + "execution_count": 6 + }, + { + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-15T06:52:39.400795Z", + "start_time": "2025-10-15T06:52:39.259607Z" + }, + "executionRelatedData": { + "compiledClasses": [ + "Line_33_jupyter", + "Line_34_jupyter", + "Line_35_jupyter" + ] } + }, + "cell_type": "code", + "source": [ + "// Flatten the data so it is easier to plot\n", + "val mergedData = resultData.unfold { runOld and runNew }.flatten()\n", + "// Un-commont this to see the intermediate dataframe:\n", + "// mergedData" ], + "outputs": [], "execution_count": 7 }, { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:20.919876Z", - "start_time": "2025-10-10T06:02:20.456365Z" + "end_time": "2025-10-15T06:52:39.899417Z", + "start_time": "2025-10-15T06:52:39.403744Z" }, "executionRelatedData": { "compiledClasses": [ - "Line_40_jupyter", - "Line_41_jupyter", - "Line_42_jupyter" + "Line_36_jupyter", + "Line_37_jupyter", + "Line_38_jupyter" ] } }, @@ -2297,7 +276,7 @@ { "data": { "text/html": [ - " \n", " \n", " " ], - "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"score\",\"range\",\"score1\",\"range1\",\"diffScore\",\"diffScorePercentage\",\"testLabel\",\"barColor\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":20,\"ncol\":12,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.InheritedBenchmark.baseBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1124169.302037032,\"range\":\"1048963.3505892197..1199375.2534848445\",\"score1\":1104972.6706894366,\"range1\":\"1055663.3534587221..1199375.2534848445\",\"diffScore\":-19196.63134759548,\"diffScorePercentage\":-1.7076281404242712,\"testLabel\":\"test.InheritedBenchmark.baseBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.InheritedBenchmark.inheritedBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1.4563056890183368E8,\"range\":\"1.4257469243792653E8..1.4868644536574084E8\",\"score1\":1.4634989745609665E8,\"range1\":\"1.437328117109918E8..1.4868644536574084E8\",\"diffScore\":719328.5542629659,\"diffScorePercentage\":0.4939406332662542,\"testLabel\":\"test.InheritedBenchmark.inheritedBenchmark\",\"barColor\":\"pos\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":215040.42648766268,\"range\":\"209159.44934415395..220921.40363117142\",\"score1\":213019.57841385395,\"range1\":\"204650.0532153221..220921.40363117142\",\"diffScore\":-2020.8480738087383,\"diffScorePercentage\":-0.9397526348026837,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":216167.94947592515,\"range\":\"209816.26197479176..222519.63697705854\",\"score1\":214917.7241256119,\"range1\":\"208616.32754332913..222519.63697705854\",\"diffScore\":-1250.225350313267,\"diffScorePercentage\":-0.5783583335754896,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":102937.09492915806,\"range\":\"102198.8667788953..103675.32307942082\",\"score1\":102424.75929129767,\"range1\":\"101113.46667154715..103675.32307942082\",\"diffScore\":-512.335637860393,\"diffScorePercentage\":-0.4977172108975735,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":103082.84485602807,\"range\":\"102746.60675391225..103419.08295814389\",\"score1\":101173.75249296638,\"range1\":\"99908.94648785368..103419.08295814389\",\"diffScore\":-1909.092363061689,\"diffScorePercentage\":-1.8519981338583025,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2672623.9977166834,\"range\":\"2581766.221460874..2763481.7739724927\",\"score1\":2680506.786160648,\"range1\":\"2646872.2297869264..2763481.7739724927\",\"diffScore\":7882.78844396444,\"diffScorePercentage\":0.2949456583005684,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"pos\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2654913.2949247262,\"range\":\"2530927.3446583785..2778899.245191074\",\"score1\":2585022.6644677366,\"range1\":\"2454777.568459309..2778899.245191074\",\"diffScore\":-69890.63045698963,\"diffScorePercentage\":-2.6325014301068244,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676852.389264137,\"range\":\"2585653.063020375..2768051.715507899\",\"score1\":2614856.4118722673,\"range1\":\"2580741.3402635106..2768051.715507899\",\"diffScore\":-61995.97739186976,\"diffScorePercentage\":-2.3160028412665805,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676496.83515426,\"range\":\"2585056.261771287..2767937.4085372332\",\"score1\":2585237.244524414,\"range1\":\"2552358.4905912033..2767937.4085372332\",\"diffScore\":-91259.59062984586,\"diffScorePercentage\":-3.409665553540104,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155929.81523562223,\"range\":\"155267.27942953032..156592.35104171414\",\"score1\":150449.20912261767,\"range1\":\"147414.465281937..156592.35104171414\",\"diffScore\":-5480.606113004556,\"diffScorePercentage\":-3.5147903591900813,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":156259.91933032282,\"range\":\"155967.2972273164..156552.54143332926\",\"score1\":147058.56562691744,\"range1\":\"140116.58313969668..156552.54143332926\",\"diffScore\":-9201.353703405388,\"diffScorePercentage\":-5.888492546802327,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155811.88330649625,\"range\":\"154012.99823010628..157610.76838288622\",\"score1\":146125.99724354869,\"range1\":\"143504.1570471993..157610.76838288622\",\"diffScore\":-9685.886062947568,\"diffScorePercentage\":-6.216397528482819,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":154835.23402865283,\"range\":\"152299.566575624..157370.90148168168\",\"score1\":150019.93211383233,\"range1\":\"145881.2852993276..157370.90148168168\",\"diffScore\":-4815.301914820506,\"diffScorePercentage\":-3.109952295437753,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.nested.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":149758.67842734433,\"range\":\"149465.14095246932..150052.21590221935\",\"score1\":145509.90114707965,\"range1\":\"143242.89296995336..150052.21590221935\",\"diffScore\":-4248.77728026468,\"diffScorePercentage\":-2.8370825149381784,\"testLabel\":\"test.nested.CommonBenchmark.mathBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":8.442082734074419E-4,\"range\":\"8.372522775198425E-4..8.511642692950413E-4\",\"score1\":8.972137714852465E-4,\"range1\":\"8.737790976669418E-4..8.511642692950413E-4\",\"diffScore\":-5.3005498077804544E-5,\"diffScorePercentage\":-6.278722887168673,\"testLabel\":\"test.CommonBenchmark.longBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":2.1647588413775662E-5,\"range\":\"2.1394152325114E-5..2.1901024502437323E-5\",\"score1\":2.369188528309145E-5,\"range1\":\"2.3161777788037864E-5..2.1901024502437323E-5\",\"diffScore\":-2.044296869315788E-6,\"diffScorePercentage\":-9.443531677712787,\"testLabel\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":6.6933720644037785E-6,\"range\":\"6.650531071713415E-6..6.736213057094142E-6\",\"score1\":6.7916806977233165E-6,\"range1\":\"6.710269330854009E-6..6.736213057094142E-6\",\"diffScore\":-9.830863331953794E-8,\"diffScorePercentage\":-1.4687459829456666,\"testLabel\":\"test.CommonBenchmark.mathBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":3.472485344175375,\"range\":\"3.4596934638924464..3.485277224458304\",\"score1\":3.5445401759264423,\"range1\":\"3.5170213910539556..3.485277224458304\",\"diffScore\":-0.0720548317510672,\"diffScorePercentage\":-2.075021911091128,\"testLabel\":\"test.JvmTestBenchmark.cosBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":0.5348082435809666,\"range\":\"0.5300538318352048..0.5395626553267283\",\"score1\":0.5428283650466172,\"range1\":\"0.5388189143575554..0.5395626553267283\",\"diffScore\":-0.008020121465650676,\"diffScorePercentage\":-1.4996256250557365,\"testLabel\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"barColor\":\"neg\"}]}" + "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"score\",\"range\",\"score1\",\"range1\",\"diffScore\",\"diffScorePercentage\",\"testLabel\",\"barColor\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":20,\"ncol\":12,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.InheritedBenchmark.baseBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1124169.302037032,\"range\":\"1048963.3505892197..1199375.2534848445\",\"score1\":1104972.6706894366,\"range1\":\"1055663.3534587221..1154281.987920151\",\"diffScore\":-19196.63134759548,\"diffScorePercentage\":-1.7076281404242712,\"testLabel\":\"test.InheritedBenchmark.baseBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.InheritedBenchmark.inheritedBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/s\",\"score\":1.4563056890183368E8,\"range\":\"1.4257469243792653E8..1.4868644536574084E8\",\"score1\":1.4634989745609665E8,\"range1\":\"1.437328117109918E8..1.489669832012015E8\",\"diffScore\":719328.5542629659,\"diffScorePercentage\":0.4939406332662542,\"testLabel\":\"test.InheritedBenchmark.inheritedBenchmark\",\"barColor\":\"pos\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":215040.42648766268,\"range\":\"209159.44934415395..220921.40363117142\",\"score1\":213019.57841385395,\"range1\":\"204650.0532153221..221389.10361238578\",\"diffScore\":-2020.8480738087383,\"diffScorePercentage\":-0.9397526348026837,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":216167.94947592515,\"range\":\"209816.26197479176..222519.63697705854\",\"score1\":214917.7241256119,\"range1\":\"208616.32754332913..221219.12070789465\",\"diffScore\":-1250.225350313267,\"diffScorePercentage\":-0.5783583335754896,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":102937.09492915806,\"range\":\"102198.8667788953..103675.32307942082\",\"score1\":102424.75929129767,\"range1\":\"101113.46667154715..103736.05191104818\",\"diffScore\":-512.335637860393,\"diffScorePercentage\":-0.4977172108975735,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":103082.84485602807,\"range\":\"102746.60675391225..103419.08295814389\",\"score1\":101173.75249296638,\"range1\":\"99908.94648785368..102438.55849807907\",\"diffScore\":-1909.092363061689,\"diffScorePercentage\":-1.8519981338583025,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2672623.9977166834,\"range\":\"2581766.221460874..2763481.7739724927\",\"score1\":2680506.786160648,\"range1\":\"2646872.2297869264..2714141.3425343693\",\"diffScore\":7882.78844396444,\"diffScorePercentage\":0.2949456583005684,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"pos\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2654913.2949247262,\"range\":\"2530927.3446583785..2778899.245191074\",\"score1\":2585022.6644677366,\"range1\":\"2454777.568459309..2715267.760476164\",\"diffScore\":-69890.63045698963,\"diffScorePercentage\":-2.6325014301068244,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676852.389264137,\"range\":\"2585653.063020375..2768051.715507899\",\"score1\":2614856.4118722673,\"range1\":\"2580741.3402635106..2648971.483481024\",\"diffScore\":-61995.97739186976,\"diffScorePercentage\":-2.3160028412665805,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.otherBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":2676496.83515426,\"range\":\"2585056.261771287..2767937.4085372332\",\"score1\":2585237.244524414,\"range1\":\"2552358.4905912033..2618115.998457625\",\"diffScore\":-91259.59062984586,\"diffScorePercentage\":-3.409665553540104,\"testLabel\":\"test.ParamBenchmark.otherBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155929.81523562223,\"range\":\"155267.27942953032..156592.35104171414\",\"score1\":150449.20912261767,\"range1\":\"147414.465281937..153483.95296329833\",\"diffScore\":-5480.606113004556,\"diffScorePercentage\":-3.5147903591900813,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":156259.91933032282,\"range\":\"155967.2972273164..156552.54143332926\",\"score1\":147058.56562691744,\"range1\":\"140116.58313969668..154000.5481141382\",\"diffScore\":-9201.353703405388,\"diffScorePercentage\":-5.888492546802327,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155811.88330649625,\"range\":\"154012.99823010628..157610.76838288622\",\"score1\":146125.99724354869,\"range1\":\"143504.1570471993..148747.83743989808\",\"diffScore\":-9685.886062947568,\"diffScorePercentage\":-6.216397528482819,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":154835.23402865283,\"range\":\"152299.566575624..157370.90148168168\",\"score1\":150019.93211383233,\"range1\":\"145881.2852993276..154158.57892833705\",\"diffScore\":-4815.301914820506,\"diffScorePercentage\":-3.109952295437753,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.nested.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":149758.67842734433,\"range\":\"149465.14095246932..150052.21590221935\",\"score1\":145509.90114707965,\"range1\":\"143242.89296995336..147776.90932420595\",\"diffScore\":-4248.77728026468,\"diffScorePercentage\":-2.8370825149381784,\"testLabel\":\"test.nested.CommonBenchmark.mathBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":8.442082734074419E-4,\"range\":\"8.372522775198425E-4..8.511642692950413E-4\",\"score1\":8.972137714852465E-4,\"range1\":\"8.737790976669418E-4..9.206484453035511E-4\",\"diffScore\":-5.3005498077804544E-5,\"diffScorePercentage\":-6.278722887168673,\"testLabel\":\"test.CommonBenchmark.longBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":2.1647588413775662E-5,\"range\":\"2.1394152325114E-5..2.1901024502437323E-5\",\"score1\":2.369188528309145E-5,\"range1\":\"2.3161777788037864E-5..2.4221992778145036E-5\",\"diffScore\":-2.044296869315788E-6,\"diffScorePercentage\":-9.443531677712787,\"testLabel\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":6.6933720644037785E-6,\"range\":\"6.650531071713415E-6..6.736213057094142E-6\",\"score1\":6.7916806977233165E-6,\"range1\":\"6.710269330854009E-6..6.8730920645926235E-6\",\"diffScore\":-9.830863331953794E-8,\"diffScorePercentage\":-1.4687459829456666,\"testLabel\":\"test.CommonBenchmark.mathBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":3.472485344175375,\"range\":\"3.4596934638924464..3.485277224458304\",\"score1\":3.5445401759264423,\"range1\":\"3.5170213910539556..3.572058960798929\",\"diffScore\":-0.0720548317510672,\"diffScorePercentage\":-2.075021911091128,\"testLabel\":\"test.JvmTestBenchmark.cosBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":0.5348082435809666,\"range\":\"0.5300538318352048..0.5395626553267283\",\"score1\":0.5428283650466172,\"range1\":\"0.5388189143575554..0.5468378157356791\",\"diffScore\":-0.008020121465650676,\"diffScorePercentage\":-1.4996256250557365,\"testLabel\":\"test.JvmTestBenchmark.sqrtBenchmark\",\"barColor\":\"neg\"}]}" }, "execution_count": 8, "metadata": {}, @@ -2976,12 +955,12 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:21.825263Z", - "start_time": "2025-10-10T06:02:21.127659Z" + "end_time": "2025-10-15T06:52:40.654419Z", + "start_time": "2025-10-15T06:52:39.985683Z" }, "executionRelatedData": { "compiledClasses": [ - "Line_44_jupyter" + "Line_40_jupyter" ] } }, @@ -3035,7 +1014,7 @@ " <script type="text/javascript" data-lets-plot-script="library" src="https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.5.1/js-package/distr/lets-plot.min.js"></script>\n", " </head>\n", " <body>\n", - " <div id="cYO1Gc"></div>\n", + " <div id="R4po3u"></div>\n", " <script type="text/javascript" data-lets-plot-script="plot">\n", " \n", " (function() {\n", @@ -3060,7 +1039,7 @@ " };\n", " }\n", " \n", - " const containerDiv = document.getElementById("cYO1Gc");\n", + " const containerDiv = document.getElementById("R4po3u");\n", " let fig = null;\n", " \n", " function renderPlot() {\n", @@ -3180,7 +1159,7 @@ " \n", " </script>\n", " </body>\n", - "</html>\"> \n", + "</html>\"> \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3602,7 +1581,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3650,7 +1629,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3669,10 +1648,10 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec", @@ -3850,12 +1829,12 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:21.995070Z", - "start_time": "2025-10-10T06:02:21.827868Z" + "end_time": "2025-10-15T06:52:40.787999Z", + "start_time": "2025-10-15T06:52:40.667895Z" }, "executionRelatedData": { "compiledClasses": [ - "Line_45_jupyter" + "Line_41_jupyter" ] } }, @@ -3879,7 +1858,7 @@ { "data": { "text/html": [ - " \n", " \n", - "
nameparamsmodeunitscorerangescore1range1diffScorediffScorePercentagetestLabelbarColor
test.CommonBenchmark.longBenchmarkavgtms/op0.0008448.372522775198425E-4..8.5116426929504...0.0008978.737790976669418E-4..8.5116426929504...-0.000053-6.278723test.CommonBenchmark.longBenchmarkneg
test.CommonBenchmark.longBlackholeBen...avgtms/op0.0000222.1394152325114E-5..2.190102450243732...0.0000242.3161777788037864E-5..2.190102450243...-0.000002-9.443532test.CommonBenchmark.longBlackholeBen...neg
test.JvmTestBenchmark.cosBenchmarkavgtns/op3.4724853.4596934638924464..3.4852772244583043.5445403.5170213910539556..3.485277224458304-0.072055-2.075022test.JvmTestBenchmark.cosBenchmarkneg
\n", + "
nameparamsmodeunitscorerangescore1range1diffScorediffScorePercentagetestLabelbarColor
test.ParamBenchmark.mathBenchmarkdata=2,text="a "string" with quotes",...thrptops/ms103082.844856102746.60675391225..103419.08295814389101173.75249399908.94648785368..102438.55849807907-1909.092363-1.851998test.ParamBenchmark.mathBenchmark\n", + "[da...neg
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/ms155929.815236155267.27942953032..156592.35104171414150449.209123147414.465281937..153483.95296329833-5480.606113-3.514790test.ParamBenchmark.textContentCheck\n", + "...neg
test.ParamBenchmark.textContentCheckdata=1,text="a "string" with quotes",...thrptops/ms156259.919330155967.2972273164..156552.54143332926147058.565627140116.58313969668..154000.5481141382-9201.353703-5.888493test.ParamBenchmark.textContentCheck\n", + "...neg
test.ParamBenchmark.textContentCheckdata=2,text="a "string" with quotes",...thrptops/ms155811.883306154012.99823010628..157610.76838288622146125.997244143504.1570471993..148747.83743989808-9685.886063-6.216398test.ParamBenchmark.textContentCheck\n", + "...neg
test.nested.CommonBenchmark.mathBench...thrptops/ms149758.678427149465.14095246932..150052.21590221935145509.901147143242.89296995336..147776.90932420595-4248.777280-2.837083test.nested.CommonBenchmark.mathBench...neg
test.CommonBenchmark.longBenchmarkavgtms/op0.0008448.372522775198425E-4..8.5116426929504...0.0008978.737790976669418E-4..9.2064844530355...-0.000053-6.278723test.CommonBenchmark.longBenchmarkneg
test.CommonBenchmark.longBlackholeBen...avgtms/op0.0000222.1394152325114E-5..2.190102450243732...0.0000242.3161777788037864E-5..2.422199277814...-0.000002-9.443532test.CommonBenchmark.longBlackholeBen...neg
test.JvmTestBenchmark.cosBenchmarkavgtns/op3.4724853.4596934638924464..3.4852772244583043.5445403.5170213910539556..3.572058960798929-0.072055-2.075022test.JvmTestBenchmark.cosBenchmarkneg
\n", " \n", " \n", " " ], - "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"score\",\"range\",\"score1\",\"range1\",\"diffScore\",\"diffScorePercentage\",\"testLabel\",\"barColor\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":3,\"ncol\":12,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":8.442082734074419E-4,\"range\":\"8.372522775198425E-4..8.511642692950413E-4\",\"score1\":8.972137714852465E-4,\"range1\":\"8.737790976669418E-4..8.511642692950413E-4\",\"diffScore\":-5.3005498077804544E-5,\"diffScorePercentage\":-6.278722887168673,\"testLabel\":\"test.CommonBenchmark.longBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":2.1647588413775662E-5,\"range\":\"2.1394152325114E-5..2.1901024502437323E-5\",\"score1\":2.369188528309145E-5,\"range1\":\"2.3161777788037864E-5..2.1901024502437323E-5\",\"diffScore\":-2.044296869315788E-6,\"diffScorePercentage\":-9.443531677712787,\"testLabel\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":3.472485344175375,\"range\":\"3.4596934638924464..3.485277224458304\",\"score1\":3.5445401759264423,\"range1\":\"3.5170213910539556..3.485277224458304\",\"diffScore\":-0.0720548317510672,\"diffScorePercentage\":-2.075021911091128,\"testLabel\":\"test.JvmTestBenchmark.cosBenchmark\",\"barColor\":\"neg\"}]}" + "application/kotlindataframe+json": "{\"$version\":\"2.2.0\",\"metadata\":{\"columns\":[\"name\",\"params\",\"mode\",\"unit\",\"score\",\"range\",\"score1\",\"range1\",\"diffScore\",\"diffScorePercentage\",\"testLabel\",\"barColor\"],\"types\":[{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.ranges.ClosedFloatingPointRange\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.Double\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"},{\"kind\":\"ValueColumn\",\"type\":\"kotlin.String\"}],\"nrow\":8,\"ncol\":12,\"is_formatted\":false},\"kotlin_dataframe\":[{\"name\":\"test.ParamBenchmark.mathBenchmark\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":103082.84485602807,\"range\":\"102746.60675391225..103419.08295814389\",\"score1\":101173.75249296638,\"range1\":\"99908.94648785368..102438.55849807907\",\"diffScore\":-1909.092363061689,\"diffScorePercentage\":-1.8519981338583025,\"testLabel\":\"test.ParamBenchmark.mathBenchmark\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155929.81523562223,\"range\":\"155267.27942953032..156592.35104171414\",\"score1\":150449.20912261767,\"range1\":\"147414.465281937..153483.95296329833\",\"diffScore\":-5480.606113004556,\"diffScorePercentage\":-3.5147903591900813,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":156259.91933032282,\"range\":\"155967.2972273164..156552.54143332926\",\"score1\":147058.56562691744,\"range1\":\"140116.58313969668..154000.5481141382\",\"diffScore\":-9201.353703405388,\"diffScorePercentage\":-5.888492546802327,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=1,text=\\\"a \\\"string\\\" with quotes\\\",value=2]\",\"barColor\":\"neg\"},{\"name\":\"test.ParamBenchmark.textContentCheck\",\"params\":\"data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":155811.88330649625,\"range\":\"154012.99823010628..157610.76838288622\",\"score1\":146125.99724354869,\"range1\":\"143504.1570471993..148747.83743989808\",\"diffScore\":-9685.886062947568,\"diffScorePercentage\":-6.216397528482819,\"testLabel\":\"test.ParamBenchmark.textContentCheck\\n[data=2,text=\\\"a \\\"string\\\" with quotes\\\",value=1]\",\"barColor\":\"neg\"},{\"name\":\"test.nested.CommonBenchmark.mathBenchmark\",\"params\":\"\",\"mode\":\"thrpt\",\"unit\":\"ops/ms\",\"score\":149758.67842734433,\"range\":\"149465.14095246932..150052.21590221935\",\"score1\":145509.90114707965,\"range1\":\"143242.89296995336..147776.90932420595\",\"diffScore\":-4248.77728026468,\"diffScorePercentage\":-2.8370825149381784,\"testLabel\":\"test.nested.CommonBenchmark.mathBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":8.442082734074419E-4,\"range\":\"8.372522775198425E-4..8.511642692950413E-4\",\"score1\":8.972137714852465E-4,\"range1\":\"8.737790976669418E-4..9.206484453035511E-4\",\"diffScore\":-5.3005498077804544E-5,\"diffScorePercentage\":-6.278722887168673,\"testLabel\":\"test.CommonBenchmark.longBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ms/op\",\"score\":2.1647588413775662E-5,\"range\":\"2.1394152325114E-5..2.1901024502437323E-5\",\"score1\":2.369188528309145E-5,\"range1\":\"2.3161777788037864E-5..2.4221992778145036E-5\",\"diffScore\":-2.044296869315788E-6,\"diffScorePercentage\":-9.443531677712787,\"testLabel\":\"test.CommonBenchmark.longBlackholeBenchmark\",\"barColor\":\"neg\"},{\"name\":\"test.JvmTestBenchmark.cosBenchmark\",\"params\":\"\",\"mode\":\"avgt\",\"unit\":\"ns/op\",\"score\":3.472485344175375,\"range\":\"3.4596934638924464..3.485277224458304\",\"score1\":3.5445401759264423,\"range1\":\"3.5170213910539556..3.572058960798929\",\"diffScore\":-0.0720548317510672,\"diffScorePercentage\":-2.075021911091128,\"testLabel\":\"test.JvmTestBenchmark.cosBenchmark\",\"barColor\":\"neg\"}]}" }, "execution_count": 10, "metadata": {}, @@ -4546,12 +2529,12 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:02:22.601739Z", - "start_time": "2025-10-10T06:02:22.151072Z" + "end_time": "2025-10-15T06:52:41.006960Z", + "start_time": "2025-10-15T06:52:40.830521Z" }, "executionRelatedData": { "compiledClasses": [ - "Line_47_jupyter" + "Line_43_jupyter" ] } }, @@ -4590,14 +2573,14 @@ { "data": { "text/html": [ - " \n", + "</html>\"> \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4952,45 +2945,102 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " test.CommonBenchmark.longBlackholeBenchmark\n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " test.CommonBenchmark.longBenchmark\n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.textContentCheck\n", + " \n", + " \n", + " [data=2,text="a "string" with quotes",value=1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.textContentCheck\n", + " \n", + " \n", + " [data=1,text="a "string" with quotes",value=2]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.textContentCheck\n", + " \n", + " \n", + " [data=1,text="a "string" with quotes",value=1]\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " test.nested.CommonBenchmark.mathBenchmark\n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", " test.JvmTestBenchmark.cosBenchmark\n", " \n", " \n", " \n", + " \n", + " \n", + " \n", + " test.ParamBenchmark.mathBenchmark\n", + " \n", + " \n", + " [data=2,text="a "string" with quotes",value=2]\n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", " \n", @@ -4998,20 +3048,20 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", + " \n", " \n", " Diff %\n", " \n", " \n", - " \n", + " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec", @@ -5021,14 +3071,29 @@ "testLabel": [ "test.CommonBenchmark.longBlackholeBenchmark", "test.CommonBenchmark.longBenchmark", - "test.JvmTestBenchmark.cosBenchmark" + "test.ParamBenchmark.textContentCheck\n[data=2,text=\"a \"string\" with quotes\",value=1]", + "test.ParamBenchmark.textContentCheck\n[data=1,text=\"a \"string\" with quotes\",value=2]", + "test.ParamBenchmark.textContentCheck\n[data=1,text=\"a \"string\" with quotes\",value=1]", + "test.nested.CommonBenchmark.mathBenchmark", + "test.JvmTestBenchmark.cosBenchmark", + "test.ParamBenchmark.mathBenchmark\n[data=2,text=\"a \"string\" with quotes\",value=2]" ], "diffScorePercentage": [ -9.443531677712787, -6.278722887168673, - -2.075021911091128 + -6.216397528482819, + -5.888492546802327, + -3.5147903591900813, + -2.8370825149381784, + -2.075021911091128, + -1.8519981338583025 ], "barColor": [ + "neg", + "neg", + "neg", + "neg", + "neg", "neg", "neg", "neg" @@ -5036,7 +3101,7 @@ }, "ggsize": { "width": 800.0, - "height": 220.0 + "height": 420.0 }, "kind": "plot", "scales": [ diff --git a/examples/simple-benchmark-analysis.ipynb b/examples/simple-benchmark-analysis.ipynb index 6f5d9325..b67bf5b4 100644 --- a/examples/simple-benchmark-analysis.ipynb +++ b/examples/simple-benchmark-analysis.ipynb @@ -23,8 +23,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:00:18.556112Z", - "start_time": "2025-10-10T06:00:15.403964Z" + "end_time": "2025-10-15T07:10:42.159154Z", + "start_time": "2025-10-15T07:10:38.291838Z" }, "executionRelatedData": { "compiledClasses": [ @@ -53,8 +53,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:00:19.583091Z", - "start_time": "2025-10-10T06:00:18.558267Z" + "end_time": "2025-10-15T07:10:43.097995Z", + "start_time": "2025-10-15T07:10:42.160589Z" }, "executionRelatedData": { "compiledClasses": [ @@ -89,8 +89,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:00:19.784955Z", - "start_time": "2025-10-10T06:00:19.585368Z" + "end_time": "2025-10-15T07:10:43.289848Z", + "start_time": "2025-10-15T07:10:43.099489Z" }, "executionRelatedData": { "compiledClasses": [ @@ -143,8 +143,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:00:20.061700Z", - "start_time": "2025-10-10T06:00:19.785542Z" + "end_time": "2025-10-15T07:10:43.474182Z", + "start_time": "2025-10-15T07:10:43.290338Z" }, "executionRelatedData": { "compiledClasses": [ @@ -179,8 +179,8 @@ { "metadata": { "ExecuteTime": { - "end_time": "2025-10-10T06:00:21.073306Z", - "start_time": "2025-10-10T06:00:20.062989Z" + "end_time": "2025-10-15T07:10:44.614236Z", + "start_time": "2025-10-15T07:10:43.477739Z" }, "executionRelatedData": { "compiledClasses": [ @@ -258,7 +258,7 @@ " <script type="text/javascript" data-lets-plot-script="library" src="https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.5.1/js-package/distr/lets-plot.min.js"></script>\n", " </head>\n", " <body>\n", - " <div id="uxz1MH"></div>\n", + " <div id="rAGohr"></div>\n", " <script type="text/javascript" data-lets-plot-script="plot">\n", " \n", " (function() {\n", @@ -283,7 +283,7 @@ " };\n", " }\n", " \n", - " const containerDiv = document.getElementById("uxz1MH");\n", + " const containerDiv = document.getElementById("rAGohr");\n", " let fig = null;\n", " \n", " function renderPlot() {\n", @@ -424,7 +424,7 @@ " \n", " </script>\n", " </body>\n", - "</html>\"> \n", + "</html>\"> \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -669,7 +669,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -699,13 +699,13 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -724,10 +724,10 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec", @@ -887,7 +887,7 @@ " <script type="text/javascript" data-lets-plot-script="library" src="https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.5.1/js-package/distr/lets-plot.min.js"></script>\n", " </head>\n", " <body>\n", - " <div id="hsgStz"></div>\n", + " <div id="MVK16M"></div>\n", " <script type="text/javascript" data-lets-plot-script="plot">\n", " \n", " (function() {\n", @@ -912,7 +912,7 @@ " };\n", " }\n", " \n", - " const containerDiv = document.getElementById("hsgStz");\n", + " const containerDiv = document.getElementById("MVK16M");\n", " let fig = null;\n", " \n", " function renderPlot() {\n", @@ -1053,7 +1053,7 @@ " \n", " </script>\n", " </body>\n", - "</html>\"> \n", + "</html>\"> \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1317,7 +1317,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1367,13 +1367,13 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -1392,10 +1392,10 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec", @@ -1563,7 +1563,7 @@ " <script type="text/javascript" data-lets-plot-script="library" src="https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.5.1/js-package/distr/lets-plot.min.js"></script>\n", " </head>\n", " <body>\n", - " <div id="LRE229"></div>\n", + " <div id="UwTGZ7"></div>\n", " <script type="text/javascript" data-lets-plot-script="plot">\n", " \n", " (function() {\n", @@ -1588,7 +1588,7 @@ " };\n", " }\n", " \n", - " const containerDiv = document.getElementById("LRE229");\n", + " const containerDiv = document.getElementById("UwTGZ7");\n", " let fig = null;\n", " \n", " function renderPlot() {\n", @@ -1729,7 +1729,7 @@ " \n", " </script>\n", " </body>\n", - "</html>\"> \n", + "</html>\"> \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2002,7 +2002,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2052,13 +2052,13 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2077,10 +2077,10 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec", @@ -2248,7 +2248,7 @@ " <script type="text/javascript" data-lets-plot-script="library" src="https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.5.1/js-package/distr/lets-plot.min.js"></script>\n", " </head>\n", " <body>\n", - " <div id="0mznnX"></div>\n", + " <div id="2maHL1"></div>\n", " <script type="text/javascript" data-lets-plot-script="plot">\n", " \n", " (function() {\n", @@ -2273,7 +2273,7 @@ " };\n", " }\n", " \n", - " const containerDiv = document.getElementById("0mznnX");\n", + " const containerDiv = document.getElementById("2maHL1");\n", " let fig = null;\n", " \n", " function renderPlot() {\n", @@ -2414,7 +2414,7 @@ " \n", " </script>\n", " </body>\n", - "</html>\"> \n", + "</html>\"> \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2714,7 +2714,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2764,13 +2764,13 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -2789,10 +2789,10 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec", @@ -2960,7 +2960,7 @@ " <script type="text/javascript" data-lets-plot-script="library" src="https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.5.1/js-package/distr/lets-plot.min.js"></script>\n", " </head>\n", " <body>\n", - " <div id="Z7V1TM"></div>\n", + " <div id="WtEaw4"></div>\n", " <script type="text/javascript" data-lets-plot-script="plot">\n", " \n", " (function() {\n", @@ -2985,7 +2985,7 @@ " };\n", " }\n", " \n", - " const containerDiv = document.getElementById("Z7V1TM");\n", + " const containerDiv = document.getElementById("WtEaw4");\n", " let fig = null;\n", " \n", " function renderPlot() {\n", @@ -3126,7 +3126,7 @@ " \n", " </script>\n", " </body>\n", - "</html>\"> \n", + "</html>\"> \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3360,7 +3360,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3380,13 +3380,13 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -3405,10 +3405,10 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec", @@ -3564,7 +3564,7 @@ " <script type="text/javascript" data-lets-plot-script="library" src="https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.5.1/js-package/distr/lets-plot.min.js"></script>\n", " </head>\n", " <body>\n", - " <div id="H3uDBw"></div>\n", + " <div id="qRq1Tt"></div>\n", " <script type="text/javascript" data-lets-plot-script="plot">\n", " \n", " (function() {\n", @@ -3589,7 +3589,7 @@ " };\n", " }\n", " \n", - " const containerDiv = document.getElementById("H3uDBw");\n", + " const containerDiv = document.getElementById("qRq1Tt");\n", " let fig = null;\n", " \n", " function renderPlot() {\n", @@ -3730,7 +3730,7 @@ " \n", " </script>\n", " </body>\n", - "</html>\"> \n", + "</html>\"> \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4004,7 +4004,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4044,13 +4044,13 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4069,10 +4069,10 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec", @@ -4236,7 +4236,7 @@ " <script type="text/javascript" data-lets-plot-script="library" src="https://cdn.jsdelivr.net/gh/JetBrains/lets-plot@v4.5.1/js-package/distr/lets-plot.min.js"></script>\n", " </head>\n", " <body>\n", - " <div id="KErhGY"></div>\n", + " <div id="ytnzee"></div>\n", " <script type="text/javascript" data-lets-plot-script="plot">\n", " \n", " (function() {\n", @@ -4261,7 +4261,7 @@ " };\n", " }\n", " \n", - " const containerDiv = document.getElementById("KErhGY");\n", + " const containerDiv = document.getElementById("ytnzee");\n", " let fig = null;\n", " \n", " function renderPlot() {\n", @@ -4402,7 +4402,7 @@ " \n", " </script>\n", " </body>\n", - "</html>\"> \n", + "</html>\"> \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4647,7 +4647,7 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4677,13 +4677,13 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", " \n", " \n", @@ -4702,10 +4702,10 @@ " \n", " \n", " \n", - " \n", + " \n", " \n", "\n", - " " + " " ], "application/plot+json": { "output_type": "lets_plot_spec",