Skip to content

Instantly share code, notes, and snippets.

@fwbrasil
Created June 11, 2023 07:34
Show Gist options
  • Save fwbrasil/93372315f57a503b3e97c4062aa7abce to your computer and use it in GitHub Desktop.
Save fwbrasil/93372315f57a503b3e97c4062aa7abce to your computer and use it in GitHub Desktop.
[
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.BroadFlatMapBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 15657.31317562347,
"scoreError" : 863.901628164529,
"scoreConfidence" : [
14793.411547458942,
16521.214803788
],
"scorePercentiles" : {
"0.0" : 15450.253485689116,
"50.0" : 15605.65189558753,
"90.0" : 16028.10562216841,
"95.0" : 16028.10562216841,
"99.0" : 16028.10562216841,
"99.9" : 16028.10562216841,
"99.99" : 16028.10562216841,
"99.999" : 16028.10562216841,
"99.9999" : 16028.10562216841,
"100.0" : 16028.10562216841
},
"scoreUnit" : "ops/s",
"rawData" : [
[
15678.822728924102,
16028.10562216841,
15450.253485689116,
15523.732145748192,
15605.65189558753
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.BroadFlatMapBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 20870.49492343908,
"scoreError" : 1669.8112991648964,
"scoreConfidence" : [
19200.683624274185,
22540.306222603976
],
"scorePercentiles" : {
"0.0" : 20102.109155408623,
"50.0" : 21031.721234036013,
"90.0" : 21159.229220092857,
"95.0" : 21159.229220092857,
"99.0" : 21159.229220092857,
"99.9" : 21159.229220092857,
"99.99" : 21159.229220092857,
"99.999" : 21159.229220092857,
"99.9999" : 21159.229220092857,
"100.0" : 21159.229220092857
},
"scoreUnit" : "ops/s",
"rawData" : [
[
20102.109155408623,
21058.994678290754,
21031.721234036013,
21159.229220092857,
21000.42032936716
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.ChainedForkBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 648.521845901106,
"scoreError" : 8.994990444986952,
"scoreConfidence" : [
639.526855456119,
657.5168363460929
],
"scorePercentiles" : {
"0.0" : 644.5800606025779,
"50.0" : 649.0085395085855,
"90.0" : 650.3066846324726,
"95.0" : 650.3066846324726,
"99.0" : 650.3066846324726,
"99.9" : 650.3066846324726,
"99.99" : 650.3066846324726,
"99.999" : 650.3066846324726,
"99.9999" : 650.3066846324726,
"100.0" : 650.3066846324726
},
"scoreUnit" : "ops/s",
"rawData" : [
[
648.4990772637528,
650.3066846324726,
649.0085395085855,
650.2148674981406,
644.5800606025779
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.ChainedForkBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 654.8193818394562,
"scoreError" : 14.273592406498905,
"scoreConfidence" : [
640.5457894329573,
669.0929742459551
],
"scorePercentiles" : {
"0.0" : 649.7945934310706,
"50.0" : 654.6054699378739,
"90.0" : 658.557286839594,
"95.0" : 658.557286839594,
"99.0" : 658.557286839594,
"99.9" : 658.557286839594,
"99.99" : 658.557286839594,
"99.999" : 658.557286839594,
"99.9999" : 658.557286839594,
"100.0" : 658.557286839594
},
"scoreUnit" : "ops/s",
"rawData" : [
[
658.557286839594,
652.8707725142531,
658.26878647449,
654.6054699378739,
649.7945934310706
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.CollectAllBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 8295.644755373805,
"scoreError" : 226.59630445533196,
"scoreConfidence" : [
8069.0484509184735,
8522.241059829137
],
"scorePercentiles" : {
"0.0" : 8222.245159104674,
"50.0" : 8297.812342417243,
"90.0" : 8361.240285008376,
"95.0" : 8361.240285008376,
"99.0" : 8361.240285008376,
"99.9" : 8361.240285008376,
"99.99" : 8361.240285008376,
"99.999" : 8361.240285008376,
"99.9999" : 8361.240285008376,
"100.0" : 8361.240285008376
},
"scoreUnit" : "ops/s",
"rawData" : [
[
8297.812342417243,
8222.245159104674,
8252.961843423793,
8343.964146914945,
8361.240285008376
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.CollectAllBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 8607.141203193201,
"scoreError" : 245.97985267149866,
"scoreConfidence" : [
8361.161350521703,
8853.1210558647
],
"scorePercentiles" : {
"0.0" : 8528.125390117371,
"50.0" : 8602.153650944669,
"90.0" : 8676.028875647684,
"95.0" : 8676.028875647684,
"99.0" : 8676.028875647684,
"99.9" : 8676.028875647684,
"99.99" : 8676.028875647684,
"99.999" : 8676.028875647684,
"99.9999" : 8676.028875647684,
"100.0" : 8676.028875647684
},
"scoreUnit" : "ops/s",
"rawData" : [
[
8602.153650944669,
8676.028875647684,
8665.662688936854,
8563.735410319428,
8528.125390117371
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.CountdownLatchBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1462.2633956460586,
"scoreError" : 19.284338658118163,
"scoreConfidence" : [
1442.9790569879403,
1481.5477343041769
],
"scorePercentiles" : {
"0.0" : 1456.7511781582634,
"50.0" : 1464.200553818618,
"90.0" : 1467.9870404984838,
"95.0" : 1467.9870404984838,
"99.0" : 1467.9870404984838,
"99.9" : 1467.9870404984838,
"99.99" : 1467.9870404984838,
"99.999" : 1467.9870404984838,
"99.9999" : 1467.9870404984838,
"100.0" : 1467.9870404984838
},
"scoreUnit" : "ops/s",
"rawData" : [
[
1467.9870404984838,
1464.200553818618,
1465.133597642435,
1457.2446081124926,
1456.7511781582634
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.CountdownLatchBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1457.6136433047648,
"scoreError" : 14.420829438517849,
"scoreConfidence" : [
1443.192813866247,
1472.0344727432825
],
"scorePercentiles" : {
"0.0" : 1452.7322745163972,
"50.0" : 1457.0038828703787,
"90.0" : 1462.3673097081894,
"95.0" : 1462.3673097081894,
"99.0" : 1462.3673097081894,
"99.9" : 1462.3673097081894,
"99.99" : 1462.3673097081894,
"99.999" : 1462.3673097081894,
"99.9999" : 1462.3673097081894,
"100.0" : 1462.3673097081894
},
"scoreUnit" : "ops/s",
"rawData" : [
[
1455.8572197148908,
1452.7322745163972,
1460.1075297139678,
1457.0038828703787,
1462.3673097081894
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.DeepBindBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 14542.565667951265,
"scoreError" : 538.173673354258,
"scoreConfidence" : [
14004.391994597006,
15080.739341305523
],
"scorePercentiles" : {
"0.0" : 14402.907545591777,
"50.0" : 14493.127951648741,
"90.0" : 14721.009748923965,
"95.0" : 14721.009748923965,
"99.0" : 14721.009748923965,
"99.9" : 14721.009748923965,
"99.99" : 14721.009748923965,
"99.999" : 14721.009748923965,
"99.9999" : 14721.009748923965,
"100.0" : 14721.009748923965
},
"scoreUnit" : "ops/s",
"rawData" : [
[
14493.127951648741,
14658.08719291176,
14402.907545591777,
14721.009748923965,
14437.695900680075
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.DeepBindBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 14158.44837254025,
"scoreError" : 852.7294953531094,
"scoreConfidence" : [
13305.71887718714,
15011.177867893359
],
"scorePercentiles" : {
"0.0" : 13844.561148604387,
"50.0" : 14289.905842878537,
"90.0" : 14338.11559881931,
"95.0" : 14338.11559881931,
"99.0" : 14338.11559881931,
"99.9" : 14338.11559881931,
"99.99" : 14338.11559881931,
"99.999" : 14338.11559881931,
"99.9999" : 14338.11559881931,
"100.0" : 14338.11559881931
},
"scoreUnit" : "ops/s",
"rawData" : [
[
14314.865195523662,
13844.561148604387,
14338.11559881931,
14004.794076875363,
14289.905842878537
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.DeepBindMapBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 383.9932487745486,
"scoreError" : 12.278867468187283,
"scoreConfidence" : [
371.7143813063613,
396.2721162427359
],
"scorePercentiles" : {
"0.0" : 380.27919561559924,
"50.0" : 384.07352171981955,
"90.0" : 387.7763678175741,
"95.0" : 387.7763678175741,
"99.0" : 387.7763678175741,
"99.9" : 387.7763678175741,
"99.99" : 387.7763678175741,
"99.999" : 387.7763678175741,
"99.9999" : 387.7763678175741,
"100.0" : 387.7763678175741
},
"scoreUnit" : "ops/s",
"rawData" : [
[
384.07352171981955,
381.4136272760755,
380.27919561559924,
386.4235314436747,
387.7763678175741
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.DeepBindMapBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 391.88070041595654,
"scoreError" : 8.944340446420467,
"scoreConfidence" : [
382.93635996953606,
400.825040862377
],
"scorePercentiles" : {
"0.0" : 388.0504537334297,
"50.0" : 392.5132784320716,
"90.0" : 393.70968949883485,
"95.0" : 393.70968949883485,
"99.0" : 393.70968949883485,
"99.9" : 393.70968949883485,
"99.99" : 393.70968949883485,
"99.999" : 393.70968949883485,
"99.9999" : 393.70968949883485,
"100.0" : 393.70968949883485
},
"scoreUnit" : "ops/s",
"rawData" : [
[
388.0504537334297,
393.62076843237844,
393.70968949883485,
391.50931198306813,
392.5132784320716
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.EnqueueDequeueBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 402.40357077539636,
"scoreError" : 5.182487881620427,
"scoreConfidence" : [
397.22108289377593,
407.5860586570168
],
"scorePercentiles" : {
"0.0" : 400.54689894463246,
"50.0" : 403.0229824164973,
"90.0" : 403.6403245832107,
"95.0" : 403.6403245832107,
"99.0" : 403.6403245832107,
"99.9" : 403.6403245832107,
"99.99" : 403.6403245832107,
"99.999" : 403.6403245832107,
"99.9999" : 403.6403245832107,
"100.0" : 403.6403245832107
},
"scoreUnit" : "ops/s",
"rawData" : [
[
400.54689894463246,
401.4329831371125,
403.37466479552876,
403.0229824164973,
403.6403245832107
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.EnqueueDequeueBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 393.6686539651015,
"scoreError" : 2.578498619594041,
"scoreConfidence" : [
391.09015534550747,
396.2471525846955
],
"scorePercentiles" : {
"0.0" : 393.01132655850165,
"50.0" : 393.71446567063276,
"90.0" : 394.72146677058066,
"95.0" : 394.72146677058066,
"99.0" : 394.72146677058066,
"99.9" : 394.72146677058066,
"99.99" : 394.72146677058066,
"99.999" : 394.72146677058066,
"99.9999" : 394.72146677058066,
"100.0" : 394.72146677058066
},
"scoreUnit" : "ops/s",
"rawData" : [
[
393.01132655850165,
394.72146677058066,
393.71446567063276,
393.72517116857057,
393.17083965722185
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.ForkManyBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 665.6172865480337,
"scoreError" : 9.33360276190688,
"scoreConfidence" : [
656.2836837861269,
674.9508893099405
],
"scorePercentiles" : {
"0.0" : 662.3670334520617,
"50.0" : 665.204863995944,
"90.0" : 668.5037001789723,
"95.0" : 668.5037001789723,
"99.0" : 668.5037001789723,
"99.9" : 668.5037001789723,
"99.99" : 668.5037001789723,
"99.999" : 668.5037001789723,
"99.9999" : 668.5037001789723,
"100.0" : 668.5037001789723
},
"scoreUnit" : "ops/s",
"rawData" : [
[
667.4431915244594,
664.5676435887311,
665.204863995944,
668.5037001789723,
662.3670334520617
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.ForkManyBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 670.3791639588363,
"scoreError" : 5.442103257680973,
"scoreConfidence" : [
664.9370607011554,
675.8212672165173
],
"scorePercentiles" : {
"0.0" : 668.4359677145188,
"50.0" : 670.4281154315432,
"90.0" : 671.9058256794727,
"95.0" : 671.9058256794727,
"99.0" : 671.9058256794727,
"99.9" : 671.9058256794727,
"99.99" : 671.9058256794727,
"99.999" : 671.9058256794727,
"99.9999" : 671.9058256794727,
"100.0" : 671.9058256794727
},
"scoreUnit" : "ops/s",
"rawData" : [
[
670.4281154315432,
668.4359677145188,
671.9058256794727,
671.5150506328544,
669.6108603357919
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.InterruptBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 2001.2174090711414,
"scoreError" : 36.82570799901062,
"scoreConfidence" : [
1964.391701072131,
2038.043117070152
],
"scorePercentiles" : {
"0.0" : 1992.9522930218448,
"50.0" : 1998.1893585555063,
"90.0" : 2017.1105934089376,
"95.0" : 2017.1105934089376,
"99.0" : 2017.1105934089376,
"99.9" : 2017.1105934089376,
"99.99" : 2017.1105934089376,
"99.999" : 2017.1105934089376,
"99.9999" : 2017.1105934089376,
"100.0" : 2017.1105934089376
},
"scoreUnit" : "ops/s",
"rawData" : [
[
1998.1893585555063,
2017.1105934089376,
2002.4662726520187,
1992.9522930218448,
1995.3685277174018
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.InterruptBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 2108.405346120368,
"scoreError" : 46.871981672644694,
"scoreConfidence" : [
2061.533364447723,
2155.277327793013
],
"scorePercentiles" : {
"0.0" : 2090.4886455724063,
"50.0" : 2109.2426026200383,
"90.0" : 2123.9855229186737,
"95.0" : 2123.9855229186737,
"99.0" : 2123.9855229186737,
"99.9" : 2123.9855229186737,
"99.99" : 2123.9855229186737,
"99.999" : 2123.9855229186737,
"99.9999" : 2123.9855229186737,
"100.0" : 2123.9855229186737
},
"scoreUnit" : "ops/s",
"rawData" : [
[
2105.473640011892,
2123.9855229186737,
2090.4886455724063,
2112.8363194788294,
2109.2426026200383
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.NarrowBindBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 8420.25476463313,
"scoreError" : 90.6543528628213,
"scoreConfidence" : [
8329.600411770309,
8510.90911749595
],
"scorePercentiles" : {
"0.0" : 8386.360835456546,
"50.0" : 8427.59474914115,
"90.0" : 8448.238010135892,
"95.0" : 8448.238010135892,
"99.0" : 8448.238010135892,
"99.9" : 8448.238010135892,
"99.99" : 8448.238010135892,
"99.999" : 8448.238010135892,
"99.9999" : 8448.238010135892,
"100.0" : 8448.238010135892
},
"scoreUnit" : "ops/s",
"rawData" : [
[
8430.270159144964,
8427.59474914115,
8408.810069287096,
8386.360835456546,
8448.238010135892
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.NarrowBindBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 8704.802963954844,
"scoreError" : 176.99608951971376,
"scoreConfidence" : [
8527.80687443513,
8881.799053474559
],
"scorePercentiles" : {
"0.0" : 8642.517687221394,
"50.0" : 8705.372069306923,
"90.0" : 8756.614624756832,
"95.0" : 8756.614624756832,
"99.0" : 8756.614624756832,
"99.9" : 8756.614624756832,
"99.99" : 8756.614624756832,
"99.999" : 8756.614624756832,
"99.9999" : 8756.614624756832,
"100.0" : 8756.614624756832
},
"scoreUnit" : "ops/s",
"rawData" : [
[
8642.517687221394,
8679.44048681277,
8756.614624756832,
8705.372069306923,
8740.069951676302
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.NarrowBindMapBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 435.3257593207588,
"scoreError" : 38.94178752313744,
"scoreConfidence" : [
396.3839717976213,
474.26754684389624
],
"scorePercentiles" : {
"0.0" : 419.9747337414306,
"50.0" : 437.9454994982157,
"90.0" : 445.84697506367775,
"95.0" : 445.84697506367775,
"99.0" : 445.84697506367775,
"99.9" : 445.84697506367775,
"99.99" : 445.84697506367775,
"99.999" : 445.84697506367775,
"99.9999" : 445.84697506367775,
"100.0" : 445.84697506367775
},
"scoreUnit" : "ops/s",
"rawData" : [
[
431.26162575773793,
441.5999625427319,
445.84697506367775,
437.9454994982157,
419.9747337414306
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.NarrowBindMapBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 447.81079268603173,
"scoreError" : 36.12775481819244,
"scoreConfidence" : [
411.6830378678393,
483.9385475042242
],
"scorePercentiles" : {
"0.0" : 433.5362584034011,
"50.0" : 453.7742200990475,
"90.0" : 454.4690456318645,
"95.0" : 454.4690456318645,
"99.0" : 454.4690456318645,
"99.9" : 454.4690456318645,
"99.99" : 454.4690456318645,
"99.999" : 454.4690456318645,
"99.9999" : 454.4690456318645,
"100.0" : 454.4690456318645
},
"scoreUnit" : "ops/s",
"rawData" : [
[
433.5362584034011,
454.4690456318645,
442.84565854539244,
453.7742200990475,
454.4287807504528
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.PingPongBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1097.6215044118696,
"scoreError" : 23.127929412067363,
"scoreConfidence" : [
1074.4935749998024,
1120.749433823937
],
"scorePercentiles" : {
"0.0" : 1087.2106687463302,
"50.0" : 1099.3574519539118,
"90.0" : 1102.3803663270323,
"95.0" : 1102.3803663270323,
"99.0" : 1102.3803663270323,
"99.9" : 1102.3803663270323,
"99.99" : 1102.3803663270323,
"99.999" : 1102.3803663270323,
"99.9999" : 1102.3803663270323,
"100.0" : 1102.3803663270323
},
"scoreUnit" : "ops/s",
"rawData" : [
[
1098.4422538627364,
1099.3574519539118,
1102.3803663270323,
1087.2106687463302,
1100.716781169338
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.PingPongBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 1094.0949198070903,
"scoreError" : 30.48132299693849,
"scoreConfidence" : [
1063.6135968101519,
1124.5762428040287
],
"scorePercentiles" : {
"0.0" : 1086.1410774636595,
"50.0" : 1092.236861750353,
"90.0" : 1106.8538067492045,
"95.0" : 1106.8538067492045,
"99.0" : 1106.8538067492045,
"99.9" : 1106.8538067492045,
"99.99" : 1106.8538067492045,
"99.999" : 1106.8538067492045,
"99.9999" : 1106.8538067492045,
"100.0" : 1106.8538067492045
},
"scoreUnit" : "ops/s",
"rawData" : [
[
1092.236861750353,
1089.7232789397158,
1086.1410774636595,
1095.5195741325188,
1106.8538067492045
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.ProducerConsumerBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 853.0325078304501,
"scoreError" : 68.83953137243138,
"scoreConfidence" : [
784.1929764580187,
921.8720392028814
],
"scorePercentiles" : {
"0.0" : 836.9406758172114,
"50.0" : 843.9813322555755,
"90.0" : 879.7943225630655,
"95.0" : 879.7943225630655,
"99.0" : 879.7943225630655,
"99.9" : 879.7943225630655,
"99.99" : 879.7943225630655,
"99.999" : 879.7943225630655,
"99.9999" : 879.7943225630655,
"100.0" : 879.7943225630655
},
"scoreUnit" : "ops/s",
"rawData" : [
[
841.734277114729,
836.9406758172114,
879.7943225630655,
843.9813322555755,
862.7119314016685
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.ProducerConsumerBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 906.3551493847659,
"scoreError" : 24.529577171730775,
"scoreConfidence" : [
881.8255722130351,
930.8847265564967
],
"scorePercentiles" : {
"0.0" : 899.182485763506,
"50.0" : 910.6101723382728,
"90.0" : 911.6401610421941,
"95.0" : 911.6401610421941,
"99.0" : 911.6401610421941,
"99.9" : 911.6401610421941,
"99.99" : 911.6401610421941,
"99.999" : 911.6401610421941,
"99.9999" : 911.6401610421941,
"100.0" : 911.6401610421941
},
"scoreUnit" : "ops/s",
"rawData" : [
[
899.602145553516,
899.182485763506,
910.7407822263403,
911.6401610421941,
910.6101723382728
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.SemaphoreBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 429.62466943312086,
"scoreError" : 2.1479556342714083,
"scoreConfidence" : [
427.47671379884946,
431.77262506739226
],
"scorePercentiles" : {
"0.0" : 428.8472857661495,
"50.0" : 429.6240450203077,
"90.0" : 430.1797573287919,
"95.0" : 430.1797573287919,
"99.0" : 430.1797573287919,
"99.9" : 430.1797573287919,
"99.99" : 430.1797573287919,
"99.999" : 430.1797573287919,
"99.9999" : 430.1797573287919,
"100.0" : 430.1797573287919
},
"scoreUnit" : "ops/s",
"rawData" : [
[
429.6240450203077,
429.3441184682396,
430.1797573287919,
428.8472857661495,
430.1281405821154
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.SemaphoreBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 442.289336806926,
"scoreError" : 8.90822151661317,
"scoreConfidence" : [
433.3811152903128,
451.19755832353917
],
"scorePercentiles" : {
"0.0" : 440.16152750302894,
"50.0" : 442.2410029941293,
"90.0" : 445.99384413155303,
"95.0" : 445.99384413155303,
"99.0" : 445.99384413155303,
"99.9" : 445.99384413155303,
"99.99" : 445.99384413155303,
"99.999" : 445.99384413155303,
"99.9999" : 445.99384413155303,
"100.0" : 445.99384413155303
},
"scoreUnit" : "ops/s",
"rawData" : [
[
442.2410029941293,
440.16152750302894,
440.5284781407796,
442.52183126513916,
445.99384413155303
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.SuspensionBench.forkCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 56548.8679474973,
"scoreError" : 7010.158687694043,
"scoreConfidence" : [
49538.70925980326,
63559.026635191345
],
"scorePercentiles" : {
"0.0" : 53823.2517127339,
"50.0" : 57358.020004629136,
"90.0" : 58306.59422073001,
"95.0" : 58306.59422073001,
"99.0" : 58306.59422073001,
"99.9" : 58306.59422073001,
"99.99" : 58306.59422073001,
"99.999" : 58306.59422073001,
"99.9999" : 58306.59422073001,
"100.0" : 58306.59422073001
},
"scoreUnit" : "ops/s",
"rawData" : [
[
53823.2517127339,
57358.020004629136,
55610.59210269319,
58306.59422073001,
57645.88169670024
]
]
},
"secondaryMetrics" : {
}
},
{
"jmhVersion" : "1.36",
"benchmark" : "kyo.bench.SuspensionBench.syncCats",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/home/runner/.jabba/jdk/openjdk@1.17.0/bin/java",
"jvmArgs" : [
"-Dcats.effect.tracing.mode=DISABLED"
],
"jdkVersion" : "17",
"vmName" : "OpenJDK 64-Bit Server VM",
"vmVersion" : "17+35-2724",
"warmupIterations" : 20,
"warmupTime" : "1 s",
"warmupBatchSize" : 1,
"measurementIterations" : 5,
"measurementTime" : "1 s",
"measurementBatchSize" : 1,
"primaryMetric" : {
"score" : 56706.992048301596,
"scoreError" : 5628.695030584778,
"scoreConfidence" : [
51078.29701771682,
62335.687078886374
],
"scorePercentiles" : {
"0.0" : 55129.956927482686,
"50.0" : 56913.64320136356,
"90.0" : 58270.10437411847,
"95.0" : 58270.10437411847,
"99.0" : 58270.10437411847,
"99.9" : 58270.10437411847,
"99.99" : 58270.10437411847,
"99.999" : 58270.10437411847,
"99.9999" : 58270.10437411847,
"100.0" : 58270.10437411847
},
"scoreUnit" : "ops/s",
"rawData" : [
[
55129.956927482686,
58270.10437411847,
56913.64320136356,
55277.349029364785,
57943.906709178475
]
]
},
"secondaryMetrics" : {
}
}
]
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,15390,3,'all')
f(1,0,13777,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,13777,1,'cats/effect/IOFiber.run')
f(3,0,9907,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,9907,1,'cats/effect/IOFiber.runLoop')
f(5,0,2708,1,'cats/effect/IOFiber.next$2')
f(6,0,1898,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.apply')
f(7,0,1898,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1')
f(8,0,891,1,'cats/effect/IO.flatMap')
f(9,0,891,1,'cats/effect/IO$FlatMap$.apply')
f(10,0,891,2,'cats.effect.IO$FlatMap')
f(8,891,516,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,891,516,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,891,516,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,891,516,2,'kyo.bench.BroadFlatMapBench$$Lambda$93+0x0000000800d5f018')
f(8,1407,491,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,1407,491,1,'cats/effect/IO$.pure')
f(10,1407,491,1,'cats/effect/IO$Pure$.apply')
f(11,1407,491,2,'cats.effect.IO$Pure')
f(6,1898,810,1,'kyo/bench/BroadFlatMapBench$$Lambda$93.0x0000000800d5f018.apply')
f(7,1898,810,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1')
f(8,1898,810,1,'cats/effect/IO$.pure')
f(9,1898,810,1,'cats/effect/IO$Pure$.apply')
f(10,1898,810,2,'cats.effect.IO$Pure')
f(5,2708,7199,1,'cats/effect/IOFiber.succeeded')
f(6,2708,20,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,2708,5,1,'cats/effect/IO$.pure')
f(8,2708,5,1,'cats/effect/IO$Pure$.apply')
f(9,2708,5,2,'cats.effect.IO$Pure')
f(7,2713,13,1,'cats/effect/IOFiber.done')
f(8,2713,12,1,'cats/effect/CallbackStack.apply')
f(9,2713,12,1,'scala/runtime/function/JProcedure1.apply')
f(10,2713,12,1,'scala/runtime/function/JProcedure1.apply')
f(11,2713,12,1,'cats/effect/IO$$Lambda$88.0x0000000800d5c558.applyVoid')
f(12,2713,12,1,'cats/effect/IO.$anonfun$6')
f(13,2713,2,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,2713,2,1,'cats/effect/kernel/Outcome.fold$')
f(15,2713,2,1,'cats/effect/kernel/Outcome.fold')
f(16,2713,2,1,'scala/runtime/function/JProcedure1.apply')
f(17,2713,2,1,'scala/runtime/function/JProcedure1.apply')
f(18,2713,2,1,'cats/effect/IO$$Lambda$96.0x0000000800d5a000.applyVoid')
f(19,2713,2,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(20,2713,2,1,'scala/runtime/function/JProcedure1.apply')
f(21,2713,2,1,'scala/runtime/function/JProcedure1.apply')
f(22,2713,2,1,'cats/effect/IO$$Lambda$87.0x0000000800d57410.applyVoid')
f(23,2713,2,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,2713,2,1,'scala/runtime/function/JProcedure1.apply')
f(25,2713,2,1,'scala/runtime/function/JProcedure1.apply')
f(26,2713,2,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d56940.applyVoid')
f(27,2713,2,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,2713,2,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,2713,2,1,'java/util/concurrent/ArrayBlockingQueue.enqueue')
f(30,2713,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal')
f(31,2713,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal')
f(32,2713,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.enqueue')
f(33,2713,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.tryInitializeHead')
f(34,2713,2,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ExclusiveNode')
f(13,2715,10,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,2715,10,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,2715,10,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,2715,3,2,'cats.effect.IO$$Lambda$94+0x0000000800d5f8e8')
f(16,2718,4,2,'cats.effect.IO$$Lambda$95+0x0000000800d5fba8')
f(16,2722,3,2,'cats.effect.IO$$Lambda$96+0x0000000800d5a000')
f(8,2725,1,1,'cats/effect/IO$.pure')
f(9,2725,1,1,'cats/effect/IO$Pure$.apply')
f(10,2725,1,2,'cats.effect.IO$Pure')
f(7,2726,2,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,2726,2,2,'cats.effect.kernel.Outcome$Succeeded')
f(6,2728,6598,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.apply')
f(7,2728,6598,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1')
f(8,2728,1345,1,'cats/effect/IO.flatMap')
f(9,2728,1345,1,'cats/effect/IO$FlatMap$.apply')
f(10,2728,1345,2,'cats.effect.IO$FlatMap')
f(8,4073,848,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,4073,848,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,4073,848,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,4073,848,2,'kyo.bench.BroadFlatMapBench$$Lambda$93+0x0000000800d5f018')
f(8,4921,4405,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,4921,342,1,'cats/effect/IO$.pure')
f(10,4921,342,1,'cats/effect/IO$Pure$.apply')
f(11,4921,342,2,'cats.effect.IO$Pure')
f(9,5263,856,1,'cats/effect/IO.flatMap')
f(10,5263,856,1,'cats/effect/IO$FlatMap$.apply')
f(11,5263,856,2,'cats.effect.IO$FlatMap')
f(9,6119,552,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,6119,552,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(11,6119,552,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,6119,552,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(9,6671,2655,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(10,6671,199,1,'cats/effect/IO$.pure')
f(11,6671,199,1,'cats/effect/IO$Pure$.apply')
f(12,6671,199,2,'cats.effect.IO$Pure')
f(10,6870,511,1,'cats/effect/IO.flatMap')
f(11,6870,511,1,'cats/effect/IO$FlatMap$.apply')
f(12,6870,511,2,'cats.effect.IO$FlatMap')
f(10,7381,337,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,7381,337,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,7381,337,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,7381,337,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(10,7718,1608,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,7718,149,1,'cats/effect/IO$.pure')
f(12,7718,149,1,'cats/effect/IO$Pure$.apply')
f(13,7718,149,2,'cats.effect.IO$Pure')
f(11,7867,274,1,'cats/effect/IO.flatMap')
f(12,7867,274,1,'cats/effect/IO$FlatMap$.apply')
f(13,7867,274,2,'cats.effect.IO$FlatMap')
f(11,8141,195,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,8141,195,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,8141,195,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,8141,195,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(11,8336,990,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,8336,75,1,'cats/effect/IO$.pure')
f(13,8336,75,1,'cats/effect/IO$Pure$.apply')
f(14,8336,75,2,'cats.effect.IO$Pure')
f(12,8411,196,1,'cats/effect/IO.flatMap')
f(13,8411,196,1,'cats/effect/IO$FlatMap$.apply')
f(14,8411,196,2,'cats.effect.IO$FlatMap')
f(12,8607,125,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,8607,125,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,8607,125,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,8607,125,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(12,8732,594,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(13,8732,53,1,'cats/effect/IO$.pure')
f(14,8732,53,1,'cats/effect/IO$Pure$.apply')
f(15,8732,53,2,'cats.effect.IO$Pure')
f(13,8785,103,1,'cats/effect/IO.flatMap')
f(14,8785,103,1,'cats/effect/IO$FlatMap$.apply')
f(15,8785,103,2,'cats.effect.IO$FlatMap')
f(13,8888,69,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,8888,69,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,8888,69,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,8888,69,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(13,8957,369,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(14,8957,29,1,'cats/effect/IO$.pure')
f(15,8957,29,1,'cats/effect/IO$Pure$.apply')
f(16,8957,29,2,'cats.effect.IO$Pure')
f(14,8986,77,1,'cats/effect/IO.flatMap')
f(15,8986,77,1,'cats/effect/IO$FlatMap$.apply')
f(16,8986,77,2,'cats.effect.IO$FlatMap')
f(14,9063,55,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,9063,55,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,9063,55,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,9063,55,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(14,9118,208,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(15,9118,18,1,'cats/effect/IO$.pure')
f(16,9118,18,1,'cats/effect/IO$Pure$.apply')
f(17,9118,18,2,'cats.effect.IO$Pure')
f(15,9136,38,1,'cats/effect/IO.flatMap')
f(16,9136,38,1,'cats/effect/IO$FlatMap$.apply')
f(17,9136,38,2,'cats.effect.IO$FlatMap')
f(15,9174,23,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,9174,23,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,9174,23,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,9174,23,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(15,9197,129,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(16,9197,13,1,'cats/effect/IO$.pure')
f(17,9197,13,1,'cats/effect/IO$Pure$.apply')
f(18,9197,13,2,'cats.effect.IO$Pure')
f(16,9210,35,1,'cats/effect/IO.flatMap')
f(17,9210,35,1,'cats/effect/IO$FlatMap$.apply')
f(18,9210,35,2,'cats.effect.IO$FlatMap')
f(16,9245,21,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(17,9245,21,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(18,9245,21,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(19,9245,21,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(16,9266,60,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(17,9266,2,1,'cats/effect/IO$.pure')
f(18,9266,2,1,'cats/effect/IO$Pure$.apply')
f(19,9266,2,2,'cats.effect.IO$Pure')
f(17,9268,16,1,'cats/effect/IO.flatMap')
f(18,9268,16,1,'cats/effect/IO$FlatMap$.apply')
f(19,9268,16,2,'cats.effect.IO$FlatMap')
f(17,9284,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,9284,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,9284,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,9284,2,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(17,9286,40,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(18,9286,3,1,'cats/effect/IO$.pure')
f(19,9286,3,1,'cats/effect/IO$Pure$.apply')
f(20,9286,3,2,'cats.effect.IO$Pure')
f(18,9289,15,1,'cats/effect/IO.flatMap')
f(19,9289,15,1,'cats/effect/IO$FlatMap$.apply')
f(20,9289,15,2,'cats.effect.IO$FlatMap')
f(18,9304,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,9304,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,9304,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,9304,3,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(18,9307,19,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(19,9307,3,1,'cats/effect/IO$.pure')
f(20,9307,3,1,'cats/effect/IO$Pure$.apply')
f(21,9307,3,2,'cats.effect.IO$Pure')
f(19,9310,5,1,'cats/effect/IO.flatMap')
f(20,9310,5,1,'cats/effect/IO$FlatMap$.apply')
f(21,9310,5,2,'cats.effect.IO$FlatMap')
f(19,9315,5,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,9315,5,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(21,9315,5,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,9315,5,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(19,9320,6,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(20,9320,3,1,'cats/effect/IO$.pure')
f(21,9320,3,1,'cats/effect/IO$Pure$.apply')
f(22,9320,3,2,'cats.effect.IO$Pure')
f(20,9323,2,1,'cats/effect/IO.flatMap')
f(21,9323,2,1,'cats/effect/IO$FlatMap$.apply')
f(22,9323,2,2,'cats.effect.IO$FlatMap')
f(20,9325,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(21,9325,1,1,'cats/effect/IO$.pure')
f(22,9325,1,1,'cats/effect/IO$Pure$.apply')
f(23,9325,1,2,'cats.effect.IO$Pure')
f(6,9326,581,1,'kyo/bench/BroadFlatMapBench$$Lambda$93.0x0000000800d5f018.apply')
f(7,9326,581,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1')
f(8,9326,581,1,'cats/effect/IO$.pure')
f(9,9326,581,1,'cats/effect/IO$Pure$.apply')
f(10,9326,581,2,'cats.effect.IO$Pure')
f(3,9907,3661,1,'cats/effect/IOFiber.cedeR')
f(4,9907,3592,1,'cats/effect/IOFiber.runLoop')
f(5,9907,1044,1,'cats/effect/IOFiber.next$2')
f(6,9907,732,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.apply')
f(7,9907,732,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1')
f(8,9907,318,1,'cats/effect/IO.flatMap')
f(9,9907,318,1,'cats/effect/IO$FlatMap$.apply')
f(10,9907,318,2,'cats.effect.IO$FlatMap')
f(8,10225,191,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,10225,191,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,10225,191,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,10225,191,2,'kyo.bench.BroadFlatMapBench$$Lambda$93+0x0000000800d5f018')
f(8,10416,223,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,10416,223,1,'cats/effect/IO$.pure')
f(10,10416,223,1,'cats/effect/IO$Pure$.apply')
f(11,10416,223,2,'cats.effect.IO$Pure')
f(6,10639,312,1,'kyo/bench/BroadFlatMapBench$$Lambda$93.0x0000000800d5f018.apply')
f(7,10639,312,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1')
f(8,10639,312,1,'cats/effect/IO$.pure')
f(9,10639,312,1,'cats/effect/IO$Pure$.apply')
f(10,10639,312,2,'cats.effect.IO$Pure')
f(5,10951,2548,1,'cats/effect/IOFiber.succeeded')
f(6,10951,2358,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.apply')
f(7,10951,2358,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1')
f(8,10951,488,1,'cats/effect/IO.flatMap')
f(9,10951,488,1,'cats/effect/IO$FlatMap$.apply')
f(10,10951,488,2,'cats.effect.IO$FlatMap')
f(8,11439,296,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,11439,296,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,11439,296,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,11439,296,2,'kyo.bench.BroadFlatMapBench$$Lambda$93+0x0000000800d5f018')
f(8,11735,1574,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,11735,122,1,'cats/effect/IO$.pure')
f(10,11735,122,1,'cats/effect/IO$Pure$.apply')
f(11,11735,122,2,'cats.effect.IO$Pure')
f(9,11857,303,1,'cats/effect/IO.flatMap')
f(10,11857,303,1,'cats/effect/IO$FlatMap$.apply')
f(11,11857,303,2,'cats.effect.IO$FlatMap')
f(9,12160,180,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,12160,180,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(11,12160,180,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,12160,180,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(9,12340,969,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(10,12340,93,1,'cats/effect/IO$.pure')
f(11,12340,93,1,'cats/effect/IO$Pure$.apply')
f(12,12340,93,2,'cats.effect.IO$Pure')
f(10,12433,212,1,'cats/effect/IO.flatMap')
f(11,12433,212,1,'cats/effect/IO$FlatMap$.apply')
f(12,12433,212,2,'cats.effect.IO$FlatMap')
f(10,12645,131,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,12645,131,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,12645,131,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,12645,131,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(10,12776,533,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,12776,35,1,'cats/effect/IO$.pure')
f(12,12776,35,1,'cats/effect/IO$Pure$.apply')
f(13,12776,35,2,'cats.effect.IO$Pure')
f(11,12811,110,1,'cats/effect/IO.flatMap')
f(12,12811,110,1,'cats/effect/IO$FlatMap$.apply')
f(13,12811,110,2,'cats.effect.IO$FlatMap')
f(11,12921,73,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,12921,73,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,12921,73,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,12921,73,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(11,12994,315,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,12994,20,1,'cats/effect/IO$.pure')
f(13,12994,20,1,'cats/effect/IO$Pure$.apply')
f(14,12994,20,2,'cats.effect.IO$Pure')
f(12,13014,58,1,'cats/effect/IO.flatMap')
f(13,13014,58,1,'cats/effect/IO$FlatMap$.apply')
f(14,13014,58,2,'cats.effect.IO$FlatMap')
f(12,13072,36,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,13072,36,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,13072,36,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,13072,36,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(12,13108,201,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(13,13108,15,1,'cats/effect/IO$.pure')
f(14,13108,15,1,'cats/effect/IO$Pure$.apply')
f(15,13108,15,2,'cats.effect.IO$Pure')
f(13,13123,45,1,'cats/effect/IO.flatMap')
f(14,13123,45,1,'cats/effect/IO$FlatMap$.apply')
f(15,13123,45,2,'cats.effect.IO$FlatMap')
f(13,13168,24,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,13168,24,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,13168,24,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,13168,24,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(13,13192,117,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(14,13192,16,1,'cats/effect/IO$.pure')
f(15,13192,16,1,'cats/effect/IO$Pure$.apply')
f(16,13192,16,2,'cats.effect.IO$Pure')
f(14,13208,22,1,'cats/effect/IO.flatMap')
f(15,13208,22,1,'cats/effect/IO$FlatMap$.apply')
f(16,13208,22,2,'cats.effect.IO$FlatMap')
f(14,13230,13,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,13230,13,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,13230,13,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,13230,13,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(14,13243,66,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(15,13243,3,1,'cats/effect/IO$.pure')
f(16,13243,3,1,'cats/effect/IO$Pure$.apply')
f(17,13243,3,2,'cats.effect.IO$Pure')
f(15,13246,16,1,'cats/effect/IO.flatMap')
f(16,13246,16,1,'cats/effect/IO$FlatMap$.apply')
f(17,13246,16,2,'cats.effect.IO$FlatMap')
f(15,13262,9,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,13262,9,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,13262,9,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,13262,9,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(15,13271,38,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(16,13271,3,1,'cats/effect/IO$.pure')
f(17,13271,3,1,'cats/effect/IO$Pure$.apply')
f(18,13271,3,2,'cats.effect.IO$Pure')
f(16,13274,6,1,'cats/effect/IO.flatMap')
f(17,13274,6,1,'cats/effect/IO$FlatMap$.apply')
f(18,13274,6,2,'cats.effect.IO$FlatMap')
f(16,13280,7,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(17,13280,7,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(18,13280,7,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(19,13280,7,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(16,13287,22,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(17,13287,6,1,'cats/effect/IO.flatMap')
f(18,13287,6,1,'cats/effect/IO$FlatMap$.apply')
f(19,13287,6,2,'cats.effect.IO$FlatMap')
f(17,13293,6,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,13293,6,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,13293,6,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,13293,6,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(17,13299,10,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(18,13299,5,1,'cats/effect/IO$.pure')
f(19,13299,5,1,'cats/effect/IO$Pure$.apply')
f(20,13299,5,2,'cats.effect.IO$Pure')
f(18,13304,1,1,'cats/effect/IO.flatMap')
f(19,13304,1,1,'cats/effect/IO$FlatMap$.apply')
f(20,13304,1,2,'cats.effect.IO$FlatMap')
f(18,13305,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,13305,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,13305,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,13305,2,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(18,13307,2,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(19,13307,2,1,'cats/effect/IO$.pure')
f(20,13307,2,1,'cats/effect/IO$Pure$.apply')
f(21,13307,2,2,'cats.effect.IO$Pure')
f(6,13309,190,1,'kyo/bench/BroadFlatMapBench$$Lambda$93.0x0000000800d5f018.apply')
f(7,13309,190,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1')
f(8,13309,190,1,'cats/effect/IO$.pure')
f(9,13309,190,1,'cats/effect/IO$Pure$.apply')
f(10,13309,190,2,'cats.effect.IO$Pure')
f(4,13499,69,1,'cats/effect/IOFiber.succeeded')
f(5,13499,69,1,'kyo/bench/Bench$$Lambda$40.0x0000000800d12648.apply')
f(6,13499,69,1,'kyo/bench/Bench.forkCats$$anonfun$1')
f(7,13499,69,1,'kyo/bench/BroadFlatMapBench.catsBench')
f(8,13499,69,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,13499,1,1,'cats/effect/IO.flatMap')
f(10,13499,1,1,'cats/effect/IO$FlatMap$.apply')
f(11,13499,1,2,'cats.effect.IO$FlatMap')
f(9,13500,68,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(10,13500,2,1,'cats/effect/IO.flatMap')
f(11,13500,2,1,'cats/effect/IO$FlatMap$.apply')
f(12,13500,2,2,'cats.effect.IO$FlatMap')
f(10,13502,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,13502,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,13502,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,13502,3,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(10,13505,63,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,13505,3,1,'cats/effect/IO.flatMap')
f(12,13505,3,1,'cats/effect/IO$FlatMap$.apply')
f(13,13505,3,2,'cats.effect.IO$FlatMap')
f(11,13508,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,13508,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,13508,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,13508,1,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(11,13509,59,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,13509,6,1,'cats/effect/IO.flatMap')
f(13,13509,6,1,'cats/effect/IO$FlatMap$.apply')
f(14,13509,6,2,'cats.effect.IO$FlatMap')
f(12,13515,5,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,13515,5,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,13515,5,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,13515,5,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(12,13520,48,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(13,13520,2,1,'cats/effect/IO.flatMap')
f(14,13520,2,1,'cats/effect/IO$FlatMap$.apply')
f(15,13520,2,2,'cats.effect.IO$FlatMap')
f(13,13522,46,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(14,13522,3,1,'cats/effect/IO.flatMap')
f(15,13522,3,1,'cats/effect/IO$FlatMap$.apply')
f(16,13522,3,2,'cats.effect.IO$FlatMap')
f(14,13525,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,13525,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,13525,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,13525,3,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(14,13528,40,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(15,13528,3,1,'cats/effect/IO.flatMap')
f(16,13528,3,1,'cats/effect/IO$FlatMap$.apply')
f(17,13528,3,2,'cats.effect.IO$FlatMap')
f(15,13531,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,13531,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,13531,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,13531,1,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(15,13532,36,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(16,13532,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(17,13532,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(18,13532,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(19,13532,2,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(16,13534,34,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(17,13534,6,1,'cats/effect/IO.flatMap')
f(18,13534,6,1,'cats/effect/IO$FlatMap$.apply')
f(19,13534,6,2,'cats.effect.IO$FlatMap')
f(17,13540,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,13540,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,13540,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,13540,1,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(17,13541,27,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(18,13541,6,1,'cats/effect/IO.flatMap')
f(19,13541,6,1,'cats/effect/IO$FlatMap$.apply')
f(20,13541,6,2,'cats.effect.IO$FlatMap')
f(18,13547,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,13547,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,13547,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,13547,2,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(18,13549,19,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(19,13549,19,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(20,13549,2,1,'cats/effect/IO.flatMap')
f(21,13549,2,1,'cats/effect/IO$FlatMap$.apply')
f(22,13549,2,2,'cats.effect.IO$FlatMap')
f(20,13551,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,13551,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,13551,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,13551,2,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(20,13553,15,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(21,13553,6,1,'cats/effect/IO.flatMap')
f(22,13553,6,1,'cats/effect/IO$FlatMap$.apply')
f(23,13553,6,2,'cats.effect.IO$FlatMap')
f(21,13559,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(22,13559,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(23,13559,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(24,13559,3,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(21,13562,6,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(22,13562,4,1,'cats/effect/IO.flatMap')
f(23,13562,4,1,'cats/effect/IO$FlatMap$.apply')
f(24,13562,4,2,'cats.effect.IO$FlatMap')
f(22,13566,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(23,13566,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(24,13566,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(25,13566,2,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5ec50')
f(3,13568,209,1,'cats/effect/IOFiber.execR')
f(4,13568,18,1,'cats/effect/ArrayStack.init')
f(5,13568,18,2,'java.lang.Object[]')
f(4,13586,191,1,'cats/effect/ByteStack$.create')
f(5,13586,191,2,'int[]')
f(1,13777,1,2,'java.lang.String')
f(1,13778,1589,1,'java/lang/Thread.run')
f(2,13778,1589,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,13778,1589,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,13778,1589,1,'java/util/concurrent/FutureTask.run')
f(5,13778,1589,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,13778,1589,1,'java/util/concurrent/FutureTask.run')
f(7,13778,1589,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,13778,1589,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,13778,1589,1,'java/lang/reflect/Method.invoke')
f(10,13778,1589,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,13778,1589,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,13778,1589,1,'kyo/bench/jmh_generated/BroadFlatMapBench_forkCats_jmhTest.forkCats_Throughput')
f(13,13778,1589,1,'kyo/bench/jmh_generated/BroadFlatMapBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,13778,1589,1,'kyo/bench/Bench.forkCats')
f(15,13778,51,1,'cats/effect/IO.flatMap')
f(16,13778,51,1,'cats/effect/IO$FlatMap$.apply')
f(17,13778,51,2,'cats.effect.IO$FlatMap')
f(15,13829,1515,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,13829,1467,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,13829,831,1,'cats/effect/IO.unsafeRunAsync')
f(18,13829,679,1,'cats/effect/IO.unsafeRunFiber')
f(19,13829,171,2,'cats.effect.IOFiber')
f(19,14000,347,1,'cats/effect/IOFiber.<init>')
f(20,14000,111,1,'cats/effect/ArrayStack$.apply')
f(21,14000,111,2,'cats.effect.ArrayStack')
f(20,14111,40,1,'cats/effect/CallbackStack$.apply')
f(21,14111,40,2,'cats.effect.CallbackStack')
f(20,14151,54,1,'cats/effect/IO$.async')
f(21,14151,13,2,'cats.effect.IO$$anon$4')
f(21,14164,41,1,'cats/effect/IO$IOCont$.apply')
f(22,14164,41,2,'cats.effect.IO$IOCont')
f(20,14205,35,1,'cats/effect/IO$.uncancelable')
f(21,14205,35,1,'cats/effect/IO$Uncancelable$.apply')
f(22,14205,35,2,'cats.effect.IO$Uncancelable')
f(20,14240,107,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,14240,107,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,14240,107,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,14240,18,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5d390')
f(23,14258,89,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5d980')
f(19,14347,74,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,14347,74,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,14347,74,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,14347,74,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,14347,74,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,14421,87,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,14421,87,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,14421,87,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,14421,87,2,'cats.effect.IO$$Lambda$88+0x0000000800d5c558')
f(18,14508,152,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,14508,152,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,14508,152,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,14508,74,2,'cats.effect.IO$$Lambda$85+0x0000000800d56d48')
f(21,14582,36,2,'cats.effect.IO$$Lambda$86+0x0000000800d57008')
f(21,14618,42,2,'cats.effect.IO$$Lambda$87+0x0000000800d57410')
f(17,14660,79,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,14739,70,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,14739,70,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,14739,70,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,14739,14,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d56940')
f(20,14753,56,2,'cats.effect.IOPlatform$$Lambda$91+0x0000000800d5e158')
f(17,14809,315,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,14809,315,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,14809,104,2,'java.lang.Object[]')
f(19,14913,43,2,'java.util.concurrent.locks.ReentrantLock')
f(19,14956,41,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,14956,41,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,14997,127,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,14997,127,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,14997,127,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,15124,55,1,'scala/concurrent/package$.blocking')
f(18,15124,55,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,15124,55,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5e158.apply')
f(20,15124,55,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,15124,55,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,15124,55,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,15124,55,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,15179,117,1,'scala/util/Either.fold')
f(18,15179,117,1,'cats/effect/IOPlatform$$Lambda$98.0x0000000800d5aab0.apply')
f(19,15179,117,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,15179,117,1,'scala/Some$.apply')
f(21,15179,117,2,'scala.Some')
f(16,15296,48,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,15296,48,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,15296,48,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,15296,48,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,15296,48,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,15296,48,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,15296,48,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,15296,48,2,'scala.concurrent.duration.FiniteDuration')
f(15,15344,23,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,15344,23,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,15344,23,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,15344,23,2,'kyo.bench.Bench$$Lambda$40+0x0000000800d12648')
f(1,15367,23,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,15367,23,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,15367,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,15367,23,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,15367,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,15367,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,15367,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,15367,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,15367,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,15367,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,15367,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,15367,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,15367,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,15367,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,15367,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,15367,1,2,'java.lang.Object[]')
f(7,15368,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,15368,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,15368,1,2,'java.util.concurrent.LinkedBlockingQueue')
f(9,15369,2,1,'java/util/concurrent/LinkedBlockingQueue.<init>')
f(10,15369,2,1,'java/util/concurrent/LinkedBlockingQueue.<init>')
f(11,15369,2,2,'java.util.concurrent.locks.ReentrantLock')
f(8,15371,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,15371,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,15371,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,15371,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,15371,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,15371,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,15376,14,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,15376,14,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,15376,3,1,'java/lang/ClassLoader.loadClass')
f(10,15376,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,15376,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,15376,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,15376,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,15376,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,15376,1,1,'java/security/CodeSource.<init>')
f(16,15376,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,15376,1,1,'java/lang/StringBuilder.append')
f(18,15376,1,1,'java/lang/AbstractStringBuilder.append')
f(19,15376,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,15376,1,1,'java/util/Arrays.copyOf')
f(21,15376,1,2,'byte[]')
f(15,15377,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,15377,1,1,'java/util/Arrays.copyOf')
f(17,15377,1,5,'byte[]')
f(14,15378,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,15378,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,15378,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,15378,1,1,'java/net/URL.<init>')
f(18,15378,1,1,'java/net/URL.<init>')
f(19,15378,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,15378,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,15378,1,1,'java/lang/StringBuilder.toString')
f(22,15378,1,1,'java/lang/StringLatin1.newString')
f(23,15378,1,2,'java.lang.String')
f(9,15379,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,15379,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,15379,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,15379,11,1,'java/io/ObjectStreamClass.lookup')
f(13,15379,11,1,'java/io/ObjectStreamClass.<init>')
f(14,15379,11,1,'java/security/AccessController.doPrivileged')
f(15,15379,11,1,'java/security/AccessController.executePrivileged')
f(16,15379,11,1,'java/io/ObjectStreamClass$2.run')
f(17,15379,11,1,'java/io/ObjectStreamClass$2.run')
f(18,15379,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,15379,2,1,'java/lang/Class.getDeclaredMethod')
f(20,15379,1,1,'java/lang/Class.methodToString')
f(21,15379,1,1,'java/lang/StringBuilder.append')
f(22,15379,1,1,'java/lang/AbstractStringBuilder.append')
f(23,15379,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,15379,1,1,'java/util/Arrays.copyOf')
f(25,15379,1,2,'byte[]')
f(20,15380,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,15380,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,15380,1,1,'java/lang/Exception.<init>')
f(23,15380,1,1,'java/lang/Throwable.<init>')
f(24,15380,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,15380,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,15380,1,2,'short[]')
f(18,15381,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,15381,3,1,'java/lang/Class.getDeclaredMethod')
f(20,15381,2,1,'java/lang/Class.methodToString')
f(21,15381,1,1,'java/lang/StringBuilder.append')
f(22,15381,1,1,'java/lang/AbstractStringBuilder.append')
f(23,15381,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,15381,1,1,'java/util/Arrays.copyOf')
f(25,15381,1,2,'byte[]')
f(21,15382,1,1,'java/lang/StringBuilder.toString')
f(22,15382,1,1,'java/lang/StringLatin1.newString')
f(23,15382,1,1,'java/util/Arrays.copyOfRange')
f(24,15382,1,2,'byte[]')
f(20,15383,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,15383,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,15383,1,1,'java/lang/Exception.<init>')
f(23,15383,1,1,'java/lang/Throwable.<init>')
f(24,15383,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,15383,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,15383,1,5,'long[]')
f(18,15384,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,15384,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,15384,1,1,'java/lang/Class.getDeclaredField')
f(21,15384,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,15384,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,15384,1,1,'java/lang/Exception.<init>')
f(24,15384,1,1,'java/lang/Throwable.<init>')
f(25,15384,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,15384,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,15384,1,2,'long[]')
f(18,15385,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,15385,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,15385,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,15385,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,15385,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,15385,1,1,'java/security/AccessController.doPrivileged')
f(24,15385,1,1,'java/security/AccessController.executePrivileged')
f(25,15385,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,15385,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,15385,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,15385,1,1,'java/security/AccessController.doPrivileged')
f(29,15385,1,1,'java/security/AccessController.executePrivileged')
f(30,15385,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,15385,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,15385,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,15385,1,1,'java/lang/ClassLoader.<init>')
f(34,15385,1,1,'java/lang/ClassLoader.<init>')
f(35,15385,1,1,'java/lang/ClassLoader.nameAndId')
f(36,15385,1,1,'java/lang/StringBuilder.<init>')
f(37,15385,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,15385,1,2,'byte[]')
f(23,15386,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,15386,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,15386,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,15386,1,2,'byte[]')
f(23,15387,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,15387,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,15387,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,15387,1,2,'byte[]')
f(23,15388,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,15388,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,15388,1,1,'java/lang/String.replace')
f(26,15388,1,1,'java/lang/StringLatin1.replace')
f(27,15388,1,2,'java.lang.String')
f(23,15389,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,15389,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 672px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(42);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,443,3,'all')
f(1,0,17,3,'[unknown_Java]')
f(2,0,7,6,'cats/effect/IO$FlatMap.tag',0,7,0)
f(2,7,5,6,'cats/effect/IO$Pure.tag',0,5,0)
f(2,12,1,1,'cats/effect/IOFiber.next$2')
f(2,13,1,1,'cats/effect/IOPlatform.unsafeRunSync')
f(2,14,3,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(1,17,388,1,'cats/effect/unsafe/WorkerThread.run')
f(2,18,370,1,'cats/effect/IOFiber.run',2,0,0)
f(3,18,275,1,'cats/effect/IOFiber.autoCedeR')
f(4,18,275,1,'cats/effect/IOFiber.runLoop')
f(5,42,1,2,'cats/effect/ArrayStack.push',1,0,0)
f(5,43,6,2,'cats/effect/ByteStack$.push',6,0,0)
f(6,47,2,2,'cats/effect/ByteStack$.growIfNeeded',2,0,0)
f(5,49,2,2,'cats/effect/IO$FlatMap.f',2,0,0)
f(5,51,5,2,'cats/effect/IO$FlatMap.ioe',5,0,0)
f(5,56,12,6,'cats/effect/IO$FlatMap.tag',0,12,0)
f(5,68,13,6,'cats/effect/IO$Pure.tag',0,13,0)
f(5,81,4,2,'cats/effect/IO$Pure.value',4,0,0)
f(5,85,25,1,'cats/effect/IOFiber.next$2')
f(6,86,24,2,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.apply',24,0,0)
f(7,86,24,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1',24,0,0)
f(8,88,22,2,'kyo/bench/BroadFlatMapBench.catsFib$1',22,0,0)
f(9,88,4,2,'cats/effect/IO$.pure',4,0,0)
f(10,88,4,2,'cats/effect/IO$Pure$.apply',4,0,0)
f(9,92,10,2,'kyo/bench/BroadFlatMapBench.catsFib$1',10,0,0)
f(10,92,1,2,'cats/effect/IO$.pure',1,0,0)
f(10,93,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(11,93,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(12,93,1,2,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.<init>',1,0,0)
f(10,94,8,2,'scala/math/BigInt$.apply',8,0,0)
f(9,102,8,2,'scala/math/BigInt$.apply',8,0,0)
f(10,108,2,2,'scala/math/BigInt$.getCached',2,0,0)
f(5,110,1,2,'cats/effect/IOFiber.shouldFinalize',1,0,0)
f(5,111,156,1,'cats/effect/IOFiber.succeeded')
f(6,143,1,2,'cats/effect/ArrayStack.pop',1,0,0)
f(6,144,9,2,'cats/effect/ByteStack$.pop',9,0,0)
f(7,150,3,2,'cats/effect/ByteStack$.peek',3,0,0)
f(6,153,29,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,153,29,1,'cats/effect/IOFiber.done')
f(8,155,27,1,'cats/effect/CallbackStack.apply',1,0,0)
f(9,155,1,2,'java/util/concurrent/atomic/AtomicReference.get',1,0,0)
f(9,156,26,1,'scala/runtime/function/JProcedure1.apply')
f(10,156,26,1,'scala/runtime/function/JProcedure1.apply')
f(11,156,26,1,'cats/effect/IO$$Lambda$88.0x0000000800d5c558.applyVoid')
f(12,156,26,1,'cats/effect/IO.$anonfun$6')
f(13,156,26,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,156,26,1,'cats/effect/kernel/Outcome.fold$',1,0,0)
f(15,156,26,1,'cats/effect/kernel/Outcome.fold',1,0,0)
f(16,156,26,1,'scala/runtime/function/JProcedure1.apply',1,0,0)
f(17,156,26,1,'scala/runtime/function/JProcedure1.apply',1,0,0)
f(18,156,26,1,'cats/effect/IO$$Lambda$96.0x0000000800d5a000.applyVoid',1,0,0)
f(19,156,26,1,'cats/effect/IO.$anonfun$6$$anonfun$3',1,0,0)
f(20,156,1,2,'cats/effect/unsafe/StripedHashtable.remove',1,0,0)
f(21,156,1,2,'cats/effect/unsafe/ThreadSafeHashtable.remove',1,0,0)
f(20,157,25,1,'scala/runtime/function/JProcedure1.apply')
f(21,157,25,1,'scala/runtime/function/JProcedure1.apply')
f(22,157,25,1,'cats/effect/IO$$Lambda$87.0x0000000800d57410.applyVoid')
f(23,157,25,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,157,25,1,'scala/runtime/function/JProcedure1.apply')
f(25,158,24,1,'scala/runtime/function/JProcedure1.apply')
f(26,158,24,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d56940.applyVoid')
f(27,158,24,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,158,24,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,158,24,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(30,158,24,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(31,158,24,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(32,158,24,1,'java/util/concurrent/locks/LockSupport.unpark')
f(33,158,24,1,'jdk/internal/misc/Unsafe.unpark')
f(34,158,24,3,'pthread_cond_signal')
f(35,159,23,5,'entry_SYSCALL_64_after_hwframe')
f(36,159,23,5,'do_syscall_64')
f(37,159,22,5,'__x64_sys_futex')
f(38,159,22,5,'do_futex')
f(39,159,22,5,'futex_wake')
f(40,161,20,5,'wake_up_q')
f(41,161,20,5,'_raw_spin_unlock_irqrestore')
f(37,181,1,5,'syscall_enter_from_user_mode')
f(6,182,16,3,'itable stub')
f(6,198,53,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.apply')
f(7,212,39,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1',33,0,0)
f(8,213,6,2,'cats/effect/IO.flatMap',6,0,0)
f(9,213,6,2,'cats/effect/IO$FlatMap$.apply',6,0,0)
f(8,219,4,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',4,0,0)
f(9,219,4,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',4,0,0)
f(10,219,4,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',4,0,0)
f(8,223,28,2,'kyo/bench/BroadFlatMapBench.catsFib$1',22,0,0)
f(9,223,3,2,'cats/effect/IO.flatMap',3,0,0)
f(10,223,3,2,'cats/effect/IO$FlatMap$.apply',3,0,0)
f(9,226,14,2,'kyo/bench/BroadFlatMapBench.catsFib$1',8,0,0)
f(10,228,5,2,'cats/effect/IO.flatMap',5,0,0)
f(11,228,5,2,'cats/effect/IO$FlatMap$.apply',5,0,0)
f(12,232,1,2,'cats/effect/IO$FlatMap.<init>',1,0,0)
f(10,233,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(11,233,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(12,233,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(10,234,6,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,236,1,2,'cats/effect/IO.flatMap',1,0,0)
f(12,236,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(11,237,2,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,237,2,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(13,237,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(14,237,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(15,237,1,2,'cats/effect/IO.flatMap',1,0,0)
f(16,237,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(13,238,1,2,'scala/math/BigInt$.apply',1,0,0)
f(14,238,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(11,239,1,2,'scala/math/BigInt$.apply',1,0,0)
f(12,239,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(9,240,11,2,'scala/math/BigInt$.apply',11,0,0)
f(10,240,11,2,'scala/math/BigInt$.getCached',11,0,0)
f(6,251,16,1,'kyo/bench/BroadFlatMapBench$$Lambda$93.0x0000000800d5f018.apply')
f(7,262,5,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1',5,0,0)
f(8,262,5,2,'scala/math/BigInt.$plus',5,0,0)
f(9,262,4,2,'scala/math/BigInt$.apply',4,0,0)
f(10,262,4,2,'scala/math/BigInt$.getCached',4,0,0)
f(9,266,1,2,'scala/math/BigInt.longEncoding',1,0,0)
f(5,267,26,3,'vtable stub')
f(3,293,93,1,'cats/effect/IOFiber.cedeR')
f(4,293,92,1,'cats/effect/IOFiber.runLoop')
f(5,304,4,2,'cats/effect/ArrayStack.push',4,0,0)
f(6,307,1,2,'cats/effect/ArrayStack.checkAndGrow',1,0,0)
f(5,308,1,2,'cats/effect/ByteStack$.push',1,0,0)
f(5,309,11,6,'cats/effect/IO$FlatMap.tag',0,11,0)
f(5,320,4,6,'cats/effect/IO$Pure.tag',0,4,0)
f(5,324,1,2,'cats/effect/IO$Pure.value',1,0,0)
f(5,325,6,1,'cats/effect/IOFiber.next$2')
f(6,326,5,2,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.apply',5,0,0)
f(7,326,5,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1',5,0,0)
f(8,326,5,2,'kyo/bench/BroadFlatMapBench.catsFib$1',5,0,0)
f(9,326,2,2,'cats/effect/IO$.pure',2,0,0)
f(10,327,1,2,'cats/effect/IO$Pure$.apply',1,0,0)
f(9,328,1,2,'kyo/bench/BroadFlatMapBench.catsFib$1',1,0,0)
f(10,328,1,2,'scala/math/BigInt$.apply',1,0,0)
f(9,329,2,2,'scala/math/BigInt$.apply',2,0,0)
f(10,330,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(5,331,1,2,'cats/effect/IOFiber.shouldFinalize',1,0,0)
f(5,332,44,1,'cats/effect/IOFiber.succeeded')
f(6,341,3,2,'cats/effect/ByteStack$.pop',3,0,0)
f(7,342,2,2,'cats/effect/ByteStack$.peek',2,0,0)
f(6,344,8,3,'itable stub')
f(6,352,16,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5ec50.apply')
f(7,356,12,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1',7,0,0)
f(8,356,2,2,'cats/effect/IO.flatMap',1,0,0)
f(9,356,2,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(10,357,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(11,357,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(12,357,1,4,'MemAllocator::allocate() const')
f(13,357,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(14,357,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(15,357,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(8,358,10,2,'kyo/bench/BroadFlatMapBench.catsFib$1',6,0,0)
f(9,358,6,2,'kyo/bench/BroadFlatMapBench.catsFib$1',2,0,0)
f(10,358,1,2,'cats/effect/IO.flatMap',1,0,0)
f(11,358,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(10,359,4,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,359,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(12,359,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(13,359,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(11,360,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,360,1,2,'scala/math/BigInt$.apply',1,0,0)
f(13,360,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(11,361,2,2,'scala/math/BigInt$.apply',2,0,0)
f(12,361,2,2,'scala/math/BigInt$.getCached',2,0,0)
f(10,363,1,2,'scala/math/BigInt$.apply',1,0,0)
f(11,363,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(9,364,4,2,'scala/math/BigInt$.apply',4,0,0)
f(10,364,4,2,'scala/math/BigInt$.getCached',4,0,0)
f(6,368,8,1,'kyo/bench/BroadFlatMapBench$$Lambda$93.0x0000000800d5f018.apply')
f(7,375,1,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1',1,0,0)
f(8,375,1,2,'scala/math/BigInt.$plus',1,0,0)
f(9,375,1,2,'scala/math/BigInt$.apply',1,0,0)
f(10,375,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(5,376,9,3,'vtable stub')
f(4,385,1,1,'cats/effect/IOFiber.succeeded')
f(3,386,2,2,'cats/effect/IOFiber.execR',2,0,0)
f(4,386,2,2,'cats/effect/ArrayStack.init',2,0,0)
f(5,387,1,3,'clock_gettime')
f(6,387,1,3,'[vdso]')
f(2,388,1,2,'cats/effect/unsafe/ScalQueue.poll',1,0,0)
f(3,388,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(4,388,1,2,'java/util/Random.nextInt',1,0,0)
f(5,388,1,2,'java/util/concurrent/ThreadLocalRandom.next',1,0,0)
f(6,388,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(7,388,1,2,'java/util/concurrent/ThreadLocalRandom.mix32',1,0,0)
f(8,388,1,3,'clock_gettime')
f(9,388,1,3,'[vdso]')
f(2,389,2,1,'cats/effect/unsafe/WorkStealingThreadPool.stealFromOtherWorkerThread')
f(3,390,1,1,'cats/effect/unsafe/LocalQueue.stealInto')
f(4,390,1,2,'cats/effect/unsafe/LocalQueue.unsignedShortSubtraction',1,0,0)
f(2,391,1,2,'cats/effect/unsafe/WorkStealingThreadPool.stealTimers',1,0,0)
f(3,391,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(4,391,1,2,'java/util/Random.nextInt',1,0,0)
f(5,391,1,2,'java/util/concurrent/ThreadLocalRandom.next',1,0,0)
f(6,391,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(7,391,1,2,'java/util/concurrent/ThreadLocalRandom.nextSeed',1,0,0)
f(8,391,1,2,'java/lang/Thread.getId',1,0,0)
f(2,392,13,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,392,13,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,392,13,1,'java/util/concurrent/locks/LockSupport.park')
f(5,392,13,1,'jdk/internal/misc/Unsafe.park')
f(6,393,1,3,'Unsafe_Park')
f(7,393,1,3,'pthread_mutex_unlock')
f(6,394,11,3,'[unknown]')
f(7,394,11,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,395,10,5,'entry_SYSCALL_64_after_hwframe')
f(9,395,10,5,'do_syscall_64')
f(10,395,9,5,'__x64_sys_futex')
f(11,395,9,5,'do_futex')
f(12,395,9,5,'futex_wait')
f(13,395,9,5,'futex_wait_queue_me')
f(14,395,9,5,'schedule')
f(15,395,9,5,'__schedule')
f(16,395,9,5,'finish_task_switch.isra.0')
f(10,404,1,5,'syscall_exit_to_user_mode')
f(11,404,1,5,'exit_to_user_mode_prepare')
f(12,404,1,5,'exit_to_user_mode_loop')
f(13,404,1,5,'__rseq_handle_notify_resume')
f(14,404,1,5,'rseq_ip_fixup')
f(1,405,38,1,'java/lang/Thread.run')
f(2,405,38,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,405,38,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,405,38,1,'java/util/concurrent/FutureTask.run')
f(5,405,38,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,405,38,1,'java/util/concurrent/FutureTask.run')
f(7,405,38,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,405,38,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,405,38,1,'java/lang/reflect/Method.invoke')
f(10,405,38,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,405,38,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,405,38,1,'kyo/bench/jmh_generated/BroadFlatMapBench_forkCats_jmhTest.forkCats_Throughput')
f(13,405,38,1,'kyo/bench/jmh_generated/BroadFlatMapBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,405,38,1,'kyo/bench/Bench.forkCats')
f(15,405,38,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,405,37,1,'cats/effect/IOPlatform.unsafeRunTimed',4,0,0)
f(17,405,16,1,'cats/effect/IO.unsafeRunAsync',2,0,0)
f(18,405,16,1,'cats/effect/IO.unsafeRunFiber',2,0,0)
f(19,405,2,2,'cats/effect/IOFiber.<init>',2,0,0)
f(20,406,1,2,'cats/effect/ArrayStack$.apply',1,0,0)
f(19,407,14,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,407,14,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,407,14,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,407,14,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,407,14,1,'jdk/internal/misc/Unsafe.unpark')
f(24,407,14,3,'pthread_cond_signal')
f(25,407,14,5,'entry_SYSCALL_64_after_hwframe')
f(26,407,1,5,'__x64_sys_futex')
f(26,408,13,5,'do_syscall_64')
f(27,408,13,5,'__x64_sys_futex')
f(28,409,12,5,'do_futex')
f(29,410,11,5,'futex_wake')
f(30,410,11,5,'wake_up_q')
f(31,410,11,5,'_raw_spin_unlock_irqrestore')
f(17,421,3,2,'java/util/concurrent/ArrayBlockingQueue.<init>',2,0,0)
f(18,421,3,2,'java/util/concurrent/ArrayBlockingQueue.<init>',2,0,0)
f(19,422,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(20,422,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(21,422,1,4,'MemAllocator::allocate() const')
f(22,422,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(23,422,1,4,'ThreadLocalAllocBuffer::fill(HeapWordImpl**, HeapWordImpl**, unsigned long)')
f(19,423,1,2,'java/util/concurrent/locks/ReentrantLock.newCondition',1,0,0)
f(17,424,18,1,'scala/concurrent/package$.blocking')
f(18,424,18,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,424,18,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5e360.apply')
f(20,424,18,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,424,18,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,424,16,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,424,16,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,424,16,1,'jdk/internal/misc/Unsafe.park')
f(25,424,2,3,'Unsafe_Park')
f(26,424,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,424,1,5,'entry_SYSCALL_64_after_hwframe')
f(28,424,1,5,'do_syscall_64')
f(29,424,1,5,'syscall_enter_from_user_mode')
f(26,425,1,3,'pthread_mutex_unlock')
f(25,426,14,3,'[unknown]')
f(26,426,13,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,426,13,5,'entry_SYSCALL_64_after_hwframe')
f(28,426,13,5,'do_syscall_64')
f(29,426,12,5,'__x64_sys_futex')
f(30,426,12,5,'do_futex')
f(31,426,12,5,'futex_wait')
f(32,427,1,5,'_raw_spin_lock')
f(32,428,9,5,'futex_wait_queue_me')
f(33,428,9,5,'schedule')
f(34,428,9,5,'__schedule')
f(35,428,9,5,'finish_task_switch.isra.0')
f(32,437,1,5,'futex_wait_setup')
f(29,438,1,5,'syscall_exit_to_user_mode')
f(30,438,1,5,'exit_to_user_mode_prepare')
f(31,438,1,5,'exit_to_user_mode_loop')
f(32,438,1,5,'__rseq_handle_notify_resume')
f(33,438,1,5,'__put_user_nocheck_8')
f(26,439,1,3,'pthread_cond_timedwait')
f(22,440,2,2,'java/util/concurrent/locks/ReentrantLock.lockInterruptibly',2,0,0)
f(23,440,2,2,'java/util/concurrent/locks/ReentrantLock$Sync.lockInterruptibly',2,0,0)
f(24,441,1,2,'java/util/concurrent/locks/ReentrantLock$NonfairSync.initialTryLock',1,0,0)
f(25,441,1,2,'java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread',1,0,0)
f(26,441,1,3,'clock_gettime')
f(27,441,1,3,'[vdso]')
f(16,442,1,2,'scala/concurrent/duration/package$DurationLong.nanos',1,0,0)
f(17,442,1,2,'scala/concurrent/duration/DurationConversions.nanos$',1,0,0)
f(18,442,1,2,'scala/concurrent/duration/DurationConversions.nanos',1,0,0)
f(19,442,1,2,'scala/concurrent/duration/package$DurationLong.nanoseconds',1,0,0)
f(20,442,1,2,'scala/concurrent/duration/DurationConversions.nanoseconds$',1,0,0)
f(21,442,1,2,'scala/concurrent/duration/DurationConversions.nanoseconds',1,0,0)
f(22,442,1,2,'scala/concurrent/duration/package$DurationLong.durationIn',1,0,0)
f(23,442,1,2,'scala/concurrent/duration/FiniteDuration.<init>',1,0,0)
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 656px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(41);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,21055,3,'all')
f(1,0,18816,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,18816,1,'cats/effect/IOFiber.run')
f(3,0,13895,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,13895,1,'cats/effect/IOFiber.runLoop')
f(5,0,3878,1,'cats/effect/IOFiber.next$2')
f(6,0,2650,1,'kyo/bench/BroadFlatMapBench$$Lambda$42.0x0000000800d2a258.apply')
f(7,0,2650,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1')
f(8,0,1132,1,'cats/effect/IO.flatMap')
f(9,0,1132,1,'cats/effect/IO$FlatMap$.apply')
f(10,0,1132,2,'cats.effect.IO$FlatMap')
f(8,1132,742,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,1132,742,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,1132,742,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,1132,742,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5f6e0')
f(8,1874,776,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,1874,776,1,'cats/effect/IO$.pure')
f(10,1874,776,1,'cats/effect/IO$Pure$.apply')
f(11,1874,776,2,'cats.effect.IO$Pure')
f(6,2650,1228,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5f6e0.apply')
f(7,2650,1228,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1')
f(8,2650,1228,1,'cats/effect/IO$.pure')
f(9,2650,1228,1,'cats/effect/IO$Pure$.apply')
f(10,2650,1228,2,'cats.effect.IO$Pure')
f(5,3878,10017,1,'cats/effect/IOFiber.succeeded')
f(6,3878,31,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,3878,3,1,'cats/effect/IO$.pure')
f(8,3878,3,1,'cats/effect/IO$Pure$.apply')
f(9,3878,3,2,'cats.effect.IO$Pure')
f(7,3881,24,1,'cats/effect/IOFiber.done')
f(8,3881,21,1,'cats/effect/CallbackStack.apply')
f(9,3881,21,1,'scala/runtime/function/JProcedure1.apply')
f(10,3881,21,1,'scala/runtime/function/JProcedure1.apply')
f(11,3881,21,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cfe8.applyVoid')
f(12,3881,21,1,'cats/effect/IO.$anonfun$6')
f(13,3881,11,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,3881,11,1,'cats/effect/kernel/Outcome.fold$')
f(15,3881,11,1,'cats/effect/kernel/Outcome.fold')
f(16,3881,11,1,'scala/runtime/function/JProcedure1.apply')
f(17,3881,11,1,'scala/runtime/function/JProcedure1.apply')
f(18,3881,11,1,'cats/effect/IO$$Lambda$95.0x0000000800d5a6c8.applyVoid')
f(19,3881,11,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(20,3881,11,1,'scala/runtime/function/JProcedure1.apply')
f(21,3881,11,1,'scala/runtime/function/JProcedure1.apply')
f(22,3881,11,1,'cats/effect/IO$$Lambda$87.0x0000000800d5c000.applyVoid')
f(23,3881,11,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,3881,9,1,'scala/runtime/function/JProcedure1.apply')
f(25,3881,9,1,'scala/runtime/function/JProcedure1.apply')
f(26,3881,9,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d57348.applyVoid')
f(27,3881,9,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,3881,9,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,3881,9,1,'java/util/concurrent/ArrayBlockingQueue.enqueue')
f(30,3881,9,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal')
f(31,3881,9,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal')
f(32,3881,9,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.enqueue')
f(33,3881,9,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.tryInitializeHead')
f(34,3881,9,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ExclusiveNode')
f(24,3890,2,1,'scala/util/Right$.apply')
f(25,3890,2,2,'scala.util.Right')
f(13,3892,10,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,3892,10,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,3892,10,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,3892,5,2,'cats.effect.IO$$Lambda$93+0x0000000800d5a000')
f(16,3897,4,2,'cats.effect.IO$$Lambda$94+0x0000000800d5a2c0')
f(16,3901,1,2,'cats.effect.IO$$Lambda$95+0x0000000800d5a6c8')
f(8,3902,3,1,'cats/effect/IO$.pure')
f(9,3902,3,1,'cats/effect/IO$Pure$.apply')
f(10,3902,3,2,'cats.effect.IO$Pure')
f(7,3905,4,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,3905,4,2,'cats.effect.kernel.Outcome$Succeeded')
f(6,3909,9205,1,'kyo/bench/BroadFlatMapBench$$Lambda$42.0x0000000800d2a258.apply')
f(7,3909,9205,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1')
f(8,3909,1801,1,'cats/effect/IO.flatMap')
f(9,3909,1801,1,'cats/effect/IO$FlatMap$.apply')
f(10,3909,1801,2,'cats.effect.IO$FlatMap')
f(8,5710,1162,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,5710,1162,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,5710,1162,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,5710,1162,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5f6e0')
f(8,6872,6242,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,6872,471,1,'cats/effect/IO$.pure')
f(10,6872,471,1,'cats/effect/IO$Pure$.apply')
f(11,6872,471,2,'cats.effect.IO$Pure')
f(9,7343,1198,1,'cats/effect/IO.flatMap')
f(10,7343,1198,1,'cats/effect/IO$FlatMap$.apply')
f(11,7343,1198,2,'cats.effect.IO$FlatMap')
f(9,8541,803,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,8541,803,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(11,8541,803,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,8541,803,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(9,9344,3770,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(10,9344,292,1,'cats/effect/IO$.pure')
f(11,9344,292,1,'cats/effect/IO$Pure$.apply')
f(12,9344,292,2,'cats.effect.IO$Pure')
f(10,9636,678,1,'cats/effect/IO.flatMap')
f(11,9636,678,1,'cats/effect/IO$FlatMap$.apply')
f(12,9636,678,2,'cats.effect.IO$FlatMap')
f(10,10314,463,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,10314,463,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,10314,463,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,10314,463,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(10,10777,2337,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,10777,188,1,'cats/effect/IO$.pure')
f(12,10777,188,1,'cats/effect/IO$Pure$.apply')
f(13,10777,188,2,'cats.effect.IO$Pure')
f(11,10965,466,1,'cats/effect/IO.flatMap')
f(12,10965,466,1,'cats/effect/IO$FlatMap$.apply')
f(13,10965,466,2,'cats.effect.IO$FlatMap')
f(11,11431,298,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,11431,298,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,11431,298,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,11431,298,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(11,11729,1385,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,11729,119,1,'cats/effect/IO$.pure')
f(13,11729,119,1,'cats/effect/IO$Pure$.apply')
f(14,11729,119,2,'cats.effect.IO$Pure')
f(12,11848,264,1,'cats/effect/IO.flatMap')
f(13,11848,264,1,'cats/effect/IO$FlatMap$.apply')
f(14,11848,264,2,'cats.effect.IO$FlatMap')
f(12,12112,159,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,12112,159,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,12112,159,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,12112,159,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(12,12271,843,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(13,12271,76,1,'cats/effect/IO$.pure')
f(14,12271,76,1,'cats/effect/IO$Pure$.apply')
f(15,12271,76,2,'cats.effect.IO$Pure')
f(13,12347,178,1,'cats/effect/IO.flatMap')
f(14,12347,178,1,'cats/effect/IO$FlatMap$.apply')
f(15,12347,178,2,'cats.effect.IO$FlatMap')
f(13,12525,107,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,12525,107,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,12525,107,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,12525,107,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(13,12632,482,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(14,12632,48,1,'cats/effect/IO$.pure')
f(15,12632,48,1,'cats/effect/IO$Pure$.apply')
f(16,12632,48,2,'cats.effect.IO$Pure')
f(14,12680,87,1,'cats/effect/IO.flatMap')
f(15,12680,87,1,'cats/effect/IO$FlatMap$.apply')
f(16,12680,87,2,'cats.effect.IO$FlatMap')
f(14,12767,70,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,12767,70,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,12767,70,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,12767,70,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(14,12837,277,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(15,12837,29,1,'cats/effect/IO$.pure')
f(16,12837,29,1,'cats/effect/IO$Pure$.apply')
f(17,12837,29,2,'cats.effect.IO$Pure')
f(15,12866,50,1,'cats/effect/IO.flatMap')
f(16,12866,50,1,'cats/effect/IO$FlatMap$.apply')
f(17,12866,50,2,'cats.effect.IO$FlatMap')
f(15,12916,33,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,12916,33,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,12916,33,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,12916,33,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(15,12949,165,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(16,12949,17,1,'cats/effect/IO$.pure')
f(17,12949,17,1,'cats/effect/IO$Pure$.apply')
f(18,12949,17,2,'cats.effect.IO$Pure')
f(16,12966,35,1,'cats/effect/IO.flatMap')
f(17,12966,35,1,'cats/effect/IO$FlatMap$.apply')
f(18,12966,35,2,'cats.effect.IO$FlatMap')
f(16,13001,24,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(17,13001,24,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(18,13001,24,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(19,13001,24,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(16,13025,89,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(17,13025,8,1,'cats/effect/IO$.pure')
f(18,13025,8,1,'cats/effect/IO$Pure$.apply')
f(19,13025,8,2,'cats.effect.IO$Pure')
f(17,13033,19,1,'cats/effect/IO.flatMap')
f(18,13033,19,1,'cats/effect/IO$FlatMap$.apply')
f(19,13033,19,2,'cats.effect.IO$FlatMap')
f(17,13052,14,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,13052,14,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,13052,14,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,13052,14,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(17,13066,48,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(18,13066,6,1,'cats/effect/IO$.pure')
f(19,13066,6,1,'cats/effect/IO$Pure$.apply')
f(20,13066,6,2,'cats.effect.IO$Pure')
f(18,13072,9,1,'cats/effect/IO.flatMap')
f(19,13072,9,1,'cats/effect/IO$FlatMap$.apply')
f(20,13072,9,2,'cats.effect.IO$FlatMap')
f(18,13081,8,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,13081,8,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,13081,8,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,13081,8,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(18,13089,25,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(19,13089,3,1,'cats/effect/IO$.pure')
f(20,13089,3,1,'cats/effect/IO$Pure$.apply')
f(21,13089,3,2,'cats.effect.IO$Pure')
f(19,13092,8,1,'cats/effect/IO.flatMap')
f(20,13092,8,1,'cats/effect/IO$FlatMap$.apply')
f(21,13092,8,2,'cats.effect.IO$FlatMap')
f(19,13100,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,13100,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(21,13100,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,13100,2,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(19,13102,12,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(20,13102,1,1,'cats/effect/IO$.pure')
f(21,13102,1,1,'cats/effect/IO$Pure$.apply')
f(22,13102,1,2,'cats.effect.IO$Pure')
f(20,13103,4,1,'cats/effect/IO.flatMap')
f(21,13103,4,1,'cats/effect/IO$FlatMap$.apply')
f(22,13103,4,2,'cats.effect.IO$FlatMap')
f(20,13107,4,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,13107,4,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,13107,4,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,13107,4,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(20,13111,3,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(21,13111,3,1,'cats/effect/IO$.pure')
f(22,13111,3,1,'cats/effect/IO$Pure$.apply')
f(23,13111,3,2,'cats.effect.IO$Pure')
f(6,13114,781,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5f6e0.apply')
f(7,13114,781,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1')
f(8,13114,781,1,'cats/effect/IO$.pure')
f(9,13114,781,1,'cats/effect/IO$Pure$.apply')
f(10,13114,781,2,'cats.effect.IO$Pure')
f(3,13895,4921,1,'cats/effect/IOFiber.execR')
f(4,13895,25,1,'cats/effect/ArrayStack.init')
f(5,13895,25,2,'java.lang.Object[]')
f(4,13920,278,1,'cats/effect/ByteStack$.create')
f(5,13920,278,2,'int[]')
f(4,14198,4618,1,'cats/effect/IOFiber.runLoop')
f(5,14198,1298,1,'cats/effect/IOFiber.next$2')
f(6,14198,890,1,'kyo/bench/BroadFlatMapBench$$Lambda$42.0x0000000800d2a258.apply')
f(7,14198,890,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1')
f(8,14198,389,1,'cats/effect/IO.flatMap')
f(9,14198,389,1,'cats/effect/IO$FlatMap$.apply')
f(10,14198,389,2,'cats.effect.IO$FlatMap')
f(8,14587,234,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,14587,234,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,14587,234,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,14587,234,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5f6e0')
f(8,14821,267,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,14821,267,1,'cats/effect/IO$.pure')
f(10,14821,267,1,'cats/effect/IO$Pure$.apply')
f(11,14821,267,2,'cats.effect.IO$Pure')
f(6,15088,408,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5f6e0.apply')
f(7,15088,408,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1')
f(8,15088,408,1,'cats/effect/IO$.pure')
f(9,15088,408,1,'cats/effect/IO$Pure$.apply')
f(10,15088,408,2,'cats.effect.IO$Pure')
f(5,15496,3320,1,'cats/effect/IOFiber.succeeded')
f(6,15496,3092,1,'kyo/bench/BroadFlatMapBench$$Lambda$42.0x0000000800d2a258.apply')
f(7,15496,3092,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1')
f(8,15496,650,1,'cats/effect/IO.flatMap')
f(9,15496,650,1,'cats/effect/IO$FlatMap$.apply')
f(10,15496,650,2,'cats.effect.IO$FlatMap')
f(8,16146,394,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,16146,394,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,16146,394,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,16146,394,2,'kyo.bench.BroadFlatMapBench$$Lambda$92+0x0000000800d5f6e0')
f(8,16540,2048,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(9,16540,157,1,'cats/effect/IO$.pure')
f(10,16540,157,1,'cats/effect/IO$Pure$.apply')
f(11,16540,157,2,'cats.effect.IO$Pure')
f(9,16697,377,1,'cats/effect/IO.flatMap')
f(10,16697,377,1,'cats/effect/IO$FlatMap$.apply')
f(11,16697,377,2,'cats.effect.IO$FlatMap')
f(9,17074,294,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,17074,294,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(11,17074,294,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,17074,294,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(9,17368,1220,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(10,17368,83,1,'cats/effect/IO$.pure')
f(11,17368,83,1,'cats/effect/IO$Pure$.apply')
f(12,17368,83,2,'cats.effect.IO$Pure')
f(10,17451,227,1,'cats/effect/IO.flatMap')
f(11,17451,227,1,'cats/effect/IO$FlatMap$.apply')
f(12,17451,227,2,'cats.effect.IO$FlatMap')
f(10,17678,159,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,17678,159,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,17678,159,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,17678,159,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(10,17837,751,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,17837,64,1,'cats/effect/IO$.pure')
f(12,17837,64,1,'cats/effect/IO$Pure$.apply')
f(13,17837,64,2,'cats.effect.IO$Pure')
f(11,17901,120,1,'cats/effect/IO.flatMap')
f(12,17901,120,1,'cats/effect/IO$FlatMap$.apply')
f(13,17901,120,2,'cats.effect.IO$FlatMap')
f(11,18021,99,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,18021,99,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,18021,99,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,18021,99,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(11,18120,468,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,18120,45,1,'cats/effect/IO$.pure')
f(13,18120,45,1,'cats/effect/IO$Pure$.apply')
f(14,18120,45,2,'cats.effect.IO$Pure')
f(12,18165,90,1,'cats/effect/IO.flatMap')
f(13,18165,90,1,'cats/effect/IO$FlatMap$.apply')
f(14,18165,90,2,'cats.effect.IO$FlatMap')
f(12,18255,55,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,18255,55,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,18255,55,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,18255,55,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(12,18310,278,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(13,18310,26,1,'cats/effect/IO$.pure')
f(14,18310,26,1,'cats/effect/IO$Pure$.apply')
f(15,18310,26,2,'cats.effect.IO$Pure')
f(13,18336,64,1,'cats/effect/IO.flatMap')
f(14,18336,64,1,'cats/effect/IO$FlatMap$.apply')
f(15,18336,64,2,'cats.effect.IO$FlatMap')
f(13,18400,42,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,18400,42,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,18400,42,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,18400,42,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(13,18442,146,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(14,18442,14,1,'cats/effect/IO$.pure')
f(15,18442,14,1,'cats/effect/IO$Pure$.apply')
f(16,18442,14,2,'cats.effect.IO$Pure')
f(14,18456,31,1,'cats/effect/IO.flatMap')
f(15,18456,31,1,'cats/effect/IO$FlatMap$.apply')
f(16,18456,31,2,'cats.effect.IO$FlatMap')
f(14,18487,19,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,18487,19,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,18487,19,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,18487,19,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(14,18506,82,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(15,18506,7,1,'cats/effect/IO$.pure')
f(16,18506,7,1,'cats/effect/IO$Pure$.apply')
f(17,18506,7,2,'cats.effect.IO$Pure')
f(15,18513,19,1,'cats/effect/IO.flatMap')
f(16,18513,19,1,'cats/effect/IO$FlatMap$.apply')
f(17,18513,19,2,'cats.effect.IO$FlatMap')
f(15,18532,10,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,18532,10,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,18532,10,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,18532,10,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(15,18542,46,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(16,18542,1,1,'cats/effect/IO$.pure')
f(17,18542,1,1,'cats/effect/IO$Pure$.apply')
f(18,18542,1,2,'cats.effect.IO$Pure')
f(16,18543,14,1,'cats/effect/IO.flatMap')
f(17,18543,14,1,'cats/effect/IO$FlatMap$.apply')
f(18,18543,14,2,'cats.effect.IO$FlatMap')
f(16,18557,12,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(17,18557,12,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(18,18557,12,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(19,18557,12,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(16,18569,19,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(17,18569,4,1,'cats/effect/IO$.pure')
f(18,18569,4,1,'cats/effect/IO$Pure$.apply')
f(19,18569,4,2,'cats.effect.IO$Pure')
f(17,18573,5,1,'cats/effect/IO.flatMap')
f(18,18573,5,1,'cats/effect/IO$FlatMap$.apply')
f(19,18573,5,2,'cats.effect.IO$FlatMap')
f(17,18578,4,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,18578,4,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,18578,4,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,18578,4,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(17,18582,6,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(18,18582,1,1,'cats/effect/IO$.pure')
f(19,18582,1,1,'cats/effect/IO$Pure$.apply')
f(20,18582,1,2,'cats.effect.IO$Pure')
f(18,18583,3,1,'cats/effect/IO.flatMap')
f(19,18583,3,1,'cats/effect/IO$FlatMap$.apply')
f(20,18583,3,2,'cats.effect.IO$FlatMap')
f(18,18586,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,18586,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,18586,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,18586,1,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(18,18587,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(19,18587,1,1,'cats/effect/IO$.pure')
f(20,18587,1,1,'cats/effect/IO$Pure$.apply')
f(21,18587,1,2,'cats.effect.IO$Pure')
f(6,18588,228,1,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5f6e0.apply')
f(7,18588,228,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1')
f(8,18588,228,1,'cats/effect/IO$.pure')
f(9,18588,228,1,'cats/effect/IO$Pure$.apply')
f(10,18588,228,2,'cats.effect.IO$Pure')
f(1,18816,1,2,'java.lang.String')
f(1,18817,2214,1,'java/lang/Thread.run')
f(2,18817,2214,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,18817,2214,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,18817,2214,1,'java/util/concurrent/FutureTask.run')
f(5,18817,2214,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,18817,2214,1,'java/util/concurrent/FutureTask.run')
f(7,18817,2214,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,18817,2214,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,18817,2214,1,'java/lang/reflect/Method.invoke')
f(10,18817,2214,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,18817,2214,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,18817,2214,1,'kyo/bench/jmh_generated/BroadFlatMapBench_syncCats_jmhTest.syncCats_Throughput')
f(13,18817,2214,1,'kyo/bench/jmh_generated/BroadFlatMapBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,18817,2214,1,'kyo/bench/Bench.syncCats')
f(15,18817,1166,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,18817,1104,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,18817,655,1,'cats/effect/IO.unsafeRunAsync')
f(18,18817,554,1,'cats/effect/IO.unsafeRunFiber')
f(19,18817,153,2,'cats.effect.IOFiber')
f(19,18970,302,1,'cats/effect/IOFiber.<init>')
f(20,18970,87,1,'cats/effect/ArrayStack$.apply')
f(21,18970,87,2,'cats.effect.ArrayStack')
f(20,19057,50,1,'cats/effect/CallbackStack$.apply')
f(21,19057,50,2,'cats.effect.CallbackStack')
f(20,19107,76,1,'cats/effect/IO$.async')
f(21,19107,32,2,'cats.effect.IO$$anon$4')
f(21,19139,44,1,'cats/effect/IO$IOCont$.apply')
f(22,19139,44,2,'cats.effect.IO$IOCont')
f(20,19183,46,1,'cats/effect/IO$.uncancelable')
f(21,19183,46,1,'cats/effect/IO$Uncancelable$.apply')
f(22,19183,46,2,'cats.effect.IO$Uncancelable')
f(20,19229,43,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,19229,43,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,19229,43,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,19229,27,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5de20')
f(23,19256,16,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5e410')
f(19,19272,60,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,19272,60,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,19272,60,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,19272,60,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,19272,60,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,19332,39,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,19332,39,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,19332,39,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,19332,39,2,'cats.effect.IO$$Lambda$88+0x0000000800d5cfe8')
f(18,19371,101,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,19371,101,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,19371,101,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,19371,16,2,'cats.effect.IO$$Lambda$85+0x0000000800d57750')
f(21,19387,43,2,'cats.effect.IO$$Lambda$86+0x0000000800d57a10')
f(21,19430,42,2,'cats.effect.IO$$Lambda$87+0x0000000800d5c000')
f(17,19472,77,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,19549,48,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,19549,48,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,19549,48,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,19549,29,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d57348')
f(20,19578,19,2,'cats.effect.IOPlatform$$Lambda$91+0x0000000800d5ebe8')
f(17,19597,223,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,19597,223,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,19597,42,2,'java.lang.Object[]')
f(19,19639,26,2,'java.util.concurrent.locks.ReentrantLock')
f(19,19665,64,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,19665,64,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,19729,91,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,19729,91,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,19729,91,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,19820,59,1,'scala/concurrent/package$.blocking')
f(18,19820,59,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,19820,59,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5ebe8.apply')
f(20,19820,59,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,19820,59,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,19820,59,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,19820,59,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,19879,42,1,'scala/util/Either.fold')
f(18,19879,42,1,'cats/effect/IOPlatform$$Lambda$97.0x0000000800d5b178.apply')
f(19,19879,42,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,19879,42,1,'scala/Some$.apply')
f(21,19879,42,2,'scala.Some')
f(16,19921,62,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,19921,62,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,19921,62,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,19921,62,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,19921,62,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,19921,62,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,19921,62,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,19921,62,2,'scala.concurrent.duration.FiniteDuration')
f(15,19983,1048,1,'kyo/bench/BroadFlatMapBench.catsBench')
f(16,19983,1048,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(17,19983,45,1,'cats/effect/IO.flatMap')
f(18,19983,45,1,'cats/effect/IO$FlatMap$.apply')
f(19,19983,45,2,'cats.effect.IO$FlatMap')
f(17,20028,38,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,20028,38,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,20028,38,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,20028,38,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(17,20066,965,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(18,20066,31,1,'cats/effect/IO.flatMap')
f(19,20066,31,1,'cats/effect/IO$FlatMap$.apply')
f(20,20066,31,2,'cats.effect.IO$FlatMap')
f(18,20097,32,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,20097,32,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,20097,32,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,20097,32,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(18,20129,902,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(19,20129,67,1,'cats/effect/IO.flatMap')
f(20,20129,67,1,'cats/effect/IO$FlatMap$.apply')
f(21,20129,67,2,'cats.effect.IO$FlatMap')
f(19,20196,17,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,20196,17,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(21,20196,17,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,20196,17,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(19,20213,818,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(20,20213,48,1,'cats/effect/IO.flatMap')
f(21,20213,48,1,'cats/effect/IO$FlatMap$.apply')
f(22,20213,48,2,'cats.effect.IO$FlatMap')
f(20,20261,28,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,20261,28,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,20261,28,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,20261,28,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(20,20289,742,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(21,20289,51,1,'cats/effect/IO.flatMap')
f(22,20289,51,1,'cats/effect/IO$FlatMap$.apply')
f(23,20289,51,2,'cats.effect.IO$FlatMap')
f(21,20340,19,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(22,20340,19,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(23,20340,19,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(24,20340,19,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(21,20359,672,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(22,20359,57,1,'cats/effect/IO.flatMap')
f(23,20359,57,1,'cats/effect/IO$FlatMap$.apply')
f(24,20359,57,2,'cats.effect.IO$FlatMap')
f(22,20416,33,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(23,20416,33,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(24,20416,33,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(25,20416,33,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(22,20449,582,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(23,20449,30,1,'cats/effect/IO.flatMap')
f(24,20449,30,1,'cats/effect/IO$FlatMap$.apply')
f(25,20449,30,2,'cats.effect.IO$FlatMap')
f(23,20479,31,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(24,20479,31,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(25,20479,31,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(26,20479,31,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(23,20510,521,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(24,20510,61,1,'cats/effect/IO.flatMap')
f(25,20510,61,1,'cats/effect/IO$FlatMap$.apply')
f(26,20510,61,2,'cats.effect.IO$FlatMap')
f(24,20571,12,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(25,20571,12,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(26,20571,12,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(27,20571,12,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(24,20583,448,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(25,20583,31,1,'cats/effect/IO.flatMap')
f(26,20583,31,1,'cats/effect/IO$FlatMap$.apply')
f(27,20583,31,2,'cats.effect.IO$FlatMap')
f(25,20614,40,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(26,20614,40,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(27,20614,40,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(28,20614,40,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(25,20654,377,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(26,20654,27,1,'cats/effect/IO.flatMap')
f(27,20654,27,1,'cats/effect/IO$FlatMap$.apply')
f(28,20654,27,2,'cats.effect.IO$FlatMap')
f(26,20681,29,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(27,20681,29,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(28,20681,29,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(29,20681,29,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(26,20710,321,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(27,20710,41,1,'cats/effect/IO.flatMap')
f(28,20710,41,1,'cats/effect/IO$FlatMap$.apply')
f(29,20710,41,2,'cats.effect.IO$FlatMap')
f(27,20751,40,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(28,20751,40,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(29,20751,40,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(30,20751,40,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(27,20791,240,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(28,20791,25,1,'cats/effect/IO.flatMap')
f(29,20791,25,1,'cats/effect/IO$FlatMap$.apply')
f(30,20791,25,2,'cats.effect.IO$FlatMap')
f(28,20816,33,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(29,20816,33,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(30,20816,33,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(31,20816,33,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(28,20849,182,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(29,20849,53,1,'cats/effect/IO.flatMap')
f(30,20849,53,1,'cats/effect/IO$FlatMap$.apply')
f(31,20849,53,2,'cats.effect.IO$FlatMap')
f(29,20902,43,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(30,20902,43,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(31,20902,43,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(32,20902,43,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(29,20945,86,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(30,20945,27,1,'cats/effect/IO.flatMap')
f(31,20945,27,1,'cats/effect/IO$FlatMap$.apply')
f(32,20945,27,2,'cats.effect.IO$FlatMap')
f(30,20972,30,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(31,20972,30,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(32,20972,30,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(33,20972,30,2,'kyo.bench.BroadFlatMapBench$$Lambda$42+0x0000000800d2a258')
f(30,21002,29,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(31,21002,29,1,'cats/effect/IO$.pure')
f(32,21002,29,1,'cats/effect/IO$Pure$.apply')
f(33,21002,29,2,'cats.effect.IO$Pure')
f(1,21031,24,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,21031,24,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,21031,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,21031,24,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,21031,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,21031,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,21031,9,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,21031,1,2,'java.util.ArrayList')
f(8,21032,2,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,21032,2,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,21034,1,2,'org.openjdk.jmh.infra.Control')
f(8,21035,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,21035,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,21035,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,21035,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,21035,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,21035,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,21040,15,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,21040,15,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,21040,3,1,'java/lang/ClassLoader.loadClass')
f(10,21040,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,21040,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,21040,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,21040,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,21040,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,21040,1,1,'java/security/CodeSource.<init>')
f(16,21040,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,21040,1,1,'java/lang/StringBuilder.toString')
f(18,21040,1,1,'java/lang/StringLatin1.newString')
f(19,21040,1,1,'java/util/Arrays.copyOfRange')
f(20,21040,1,2,'byte[]')
f(15,21041,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,21041,1,1,'java/util/Arrays.copyOf')
f(17,21041,1,5,'byte[]')
f(14,21042,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,21042,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,21042,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,21042,1,1,'java/net/URL.<init>')
f(18,21042,1,1,'java/net/URL.<init>')
f(19,21042,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,21042,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,21042,1,1,'java/lang/StringBuilder.toString')
f(22,21042,1,1,'java/lang/StringLatin1.newString')
f(23,21042,1,1,'java/util/Arrays.copyOfRange')
f(24,21042,1,2,'byte[]')
f(9,21043,12,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,21043,12,1,'java/io/ObjectOutputStream.writeObject')
f(11,21043,12,1,'java/io/ObjectOutputStream.writeObject0')
f(12,21043,12,1,'java/io/ObjectStreamClass.lookup')
f(13,21043,12,1,'java/io/ObjectStreamClass.<init>')
f(14,21043,12,1,'java/security/AccessController.doPrivileged')
f(15,21043,12,1,'java/security/AccessController.executePrivileged')
f(16,21043,12,1,'java/io/ObjectStreamClass$2.run')
f(17,21043,12,1,'java/io/ObjectStreamClass$2.run')
f(18,21043,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,21043,2,1,'java/lang/Class.getDeclaredMethod')
f(20,21043,2,1,'java/lang/NoSuchMethodException.<init>')
f(21,21043,2,1,'java/lang/ReflectiveOperationException.<init>')
f(22,21043,2,1,'java/lang/Exception.<init>')
f(23,21043,2,1,'java/lang/Throwable.<init>')
f(24,21043,2,1,'java/lang/Throwable.fillInStackTrace')
f(25,21043,2,1,'java/lang/Throwable.fillInStackTrace')
f(26,21043,1,2,'int[]')
f(26,21044,1,2,'java.lang.Object[]')
f(18,21045,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,21045,3,1,'java/lang/Class.getDeclaredMethod')
f(20,21045,1,1,'java/lang/Class.methodToString')
f(21,21045,1,1,'java/lang/StringBuilder.append')
f(22,21045,1,1,'java/lang/AbstractStringBuilder.append')
f(23,21045,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,21045,1,1,'java/util/Arrays.copyOf')
f(25,21045,1,2,'byte[]')
f(20,21046,2,1,'java/lang/NoSuchMethodException.<init>')
f(21,21046,2,1,'java/lang/ReflectiveOperationException.<init>')
f(22,21046,2,1,'java/lang/Exception.<init>')
f(23,21046,2,1,'java/lang/Throwable.<init>')
f(24,21046,2,1,'java/lang/Throwable.fillInStackTrace')
f(25,21046,2,1,'java/lang/Throwable.fillInStackTrace')
f(26,21046,1,5,'long[]')
f(26,21047,1,2,'short[]')
f(18,21048,2,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,21048,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,21048,1,1,'java/lang/Class.getDeclaredField')
f(21,21048,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,21048,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,21048,1,1,'java/lang/Exception.<init>')
f(24,21048,1,1,'java/lang/Throwable.<init>')
f(25,21048,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,21048,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,21048,1,5,'long[]')
f(19,21049,1,1,'java/io/ObjectStreamClass.getDefaultSerialFields')
f(20,21049,1,1,'java/lang/Class.getDeclaredFields')
f(21,21049,1,1,'java/lang/Class.copyFields')
f(22,21049,1,1,'jdk/internal/reflect/ReflectionFactory.copyField')
f(23,21049,1,1,'java/lang/reflect/ReflectAccess.copyField')
f(24,21049,1,1,'java/lang/reflect/Field.copy')
f(25,21049,1,2,'java.lang.reflect.Field')
f(18,21050,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,21050,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,21050,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,21050,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,21050,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,21050,1,1,'java/security/AccessController.doPrivileged')
f(24,21050,1,1,'java/security/AccessController.executePrivileged')
f(25,21050,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,21050,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,21050,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,21050,1,1,'java/security/AccessController.doPrivileged')
f(29,21050,1,1,'java/security/AccessController.executePrivileged')
f(30,21050,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,21050,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,21050,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,21050,1,1,'java/lang/ClassLoader.<init>')
f(34,21050,1,1,'java/lang/ClassLoader.<init>')
f(35,21050,1,1,'java/lang/ClassLoader.nameAndId')
f(36,21050,1,1,'java/lang/StringBuilder.append')
f(37,21050,1,1,'java/lang/AbstractStringBuilder.append')
f(38,21050,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(39,21050,1,1,'java/util/Arrays.copyOf')
f(40,21050,1,2,'byte[]')
f(23,21051,2,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,21051,2,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,21051,1,1,'jdk/internal/reflect/ClassFileAssembler.emitByte')
f(26,21051,1,1,'jdk/internal/reflect/ByteVectorImpl.add')
f(27,21051,1,1,'jdk/internal/reflect/ByteVectorImpl.resize')
f(28,21051,1,5,'byte[]')
f(25,21052,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,21052,1,2,'byte[]')
f(23,21053,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,21053,1,5,'byte[]')
f(23,21054,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(24,21054,1,1,'jdk/internal/reflect/ClassFileAssembler.emitByte')
f(25,21054,1,1,'jdk/internal/reflect/ByteVectorImpl.add')
f(26,21054,1,1,'jdk/internal/reflect/ByteVectorImpl.resize')
f(27,21054,1,2,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 672px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(42);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,425,3,'all')
f(1,0,3,3,'[unknown_Java]')
f(2,0,3,1,'cats/effect/unsafe/WorkerThread.run')
f(1,3,368,1,'cats/effect/unsafe/WorkerThread.run')
f(2,5,343,1,'cats/effect/IOFiber.run',6,0,0)
f(3,5,258,1,'cats/effect/IOFiber.autoCedeR')
f(4,5,257,1,'cats/effect/IOFiber.runLoop')
f(5,39,13,2,'cats/effect/ArrayStack.push',13,0,0)
f(6,48,4,2,'cats/effect/ArrayStack.checkAndGrow',4,0,0)
f(5,52,8,2,'cats/effect/ByteStack$.push',8,0,0)
f(6,58,2,2,'cats/effect/ByteStack$.growIfNeeded',2,0,0)
f(5,60,5,2,'cats/effect/IO$FlatMap.f',5,0,0)
f(5,65,11,2,'cats/effect/IO$FlatMap.ioe',11,0,0)
f(5,76,2,2,'cats/effect/IO$Pure.value',2,0,0)
f(5,78,48,1,'cats/effect/IOFiber.next$2')
f(6,80,46,2,'kyo/bench/BroadFlatMapBench$$Lambda$42.0x0000000800d2a258.apply',46,0,0)
f(7,83,43,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1',43,0,0)
f(8,85,41,2,'kyo/bench/BroadFlatMapBench.catsFib$1',41,0,0)
f(9,93,4,2,'cats/effect/IO$.pure',4,0,0)
f(10,93,4,2,'cats/effect/IO$Pure$.apply',4,0,0)
f(9,97,13,2,'kyo/bench/BroadFlatMapBench.catsFib$1',13,0,0)
f(10,97,13,2,'scala/math/BigInt$.apply',13,0,0)
f(9,110,16,2,'scala/math/BigInt$.apply',16,0,0)
f(10,120,6,2,'scala/math/BigInt$.getCached',6,0,0)
f(11,122,4,2,'scala/math/BigInt.<init>',4,0,0)
f(5,126,1,2,'cats/effect/IOFiber.readBarrier',1,0,0)
f(6,126,1,2,'java/util/concurrent/atomic/AtomicBoolean.get',1,0,0)
f(5,127,4,2,'cats/effect/IOFiber.shouldFinalize',4,0,0)
f(5,131,131,1,'cats/effect/IOFiber.succeeded')
f(6,143,11,2,'cats/effect/ByteStack$.pop',11,0,0)
f(7,149,5,2,'cats/effect/ByteStack$.peek',5,0,0)
f(6,154,36,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,154,36,1,'cats/effect/IOFiber.done')
f(8,154,36,1,'cats/effect/CallbackStack.apply')
f(9,154,36,1,'scala/runtime/function/JProcedure1.apply')
f(10,154,36,1,'scala/runtime/function/JProcedure1.apply')
f(11,154,36,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cfe8.applyVoid')
f(12,154,36,1,'cats/effect/IO.$anonfun$6')
f(13,154,36,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,154,36,1,'cats/effect/kernel/Outcome.fold$',2,0,0)
f(15,154,36,1,'cats/effect/kernel/Outcome.fold',2,0,0)
f(16,154,36,1,'scala/runtime/function/JProcedure1.apply',2,0,0)
f(17,154,36,1,'scala/runtime/function/JProcedure1.apply',2,0,0)
f(18,154,36,1,'cats/effect/IO$$Lambda$95.0x0000000800d5a6c8.applyVoid',2,0,0)
f(19,154,36,1,'cats/effect/IO.$anonfun$6$$anonfun$3',2,0,0)
f(20,154,2,2,'cats/effect/unsafe/StripedHashtable.remove',2,0,0)
f(21,154,2,2,'cats/effect/unsafe/ThreadSafeHashtable.remove',2,0,0)
f(20,156,34,1,'scala/runtime/function/JProcedure1.apply')
f(21,156,34,1,'scala/runtime/function/JProcedure1.apply')
f(22,156,34,1,'cats/effect/IO$$Lambda$87.0x0000000800d5c000.applyVoid')
f(23,156,34,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3',1,0,0)
f(24,156,34,1,'scala/runtime/function/JProcedure1.apply',1,0,0)
f(25,156,34,1,'scala/runtime/function/JProcedure1.apply',1,0,0)
f(26,156,34,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d57348.applyVoid',1,0,0)
f(27,156,34,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1',1,0,0)
f(28,156,34,1,'java/util/concurrent/ArrayBlockingQueue.offer',1,0,0)
f(29,156,1,2,'java/util/concurrent/ArrayBlockingQueue.enqueue',1,0,0)
f(30,156,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal',1,0,0)
f(31,156,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal',1,0,0)
f(32,156,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer.enqueue',1,0,0)
f(33,156,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer.tryInitializeHead',1,0,0)
f(29,157,33,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(30,157,33,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(31,157,33,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(32,157,33,1,'java/util/concurrent/locks/LockSupport.unpark')
f(33,157,33,1,'jdk/internal/misc/Unsafe.unpark')
f(34,157,1,3,'Unsafe_Unpark')
f(35,157,1,4,'ThreadsListHandle::ThreadsListHandle(Thread*)')
f(34,158,32,3,'pthread_cond_signal')
f(35,159,31,5,'entry_SYSCALL_64_after_hwframe')
f(36,159,31,5,'do_syscall_64')
f(37,159,29,5,'__x64_sys_futex')
f(38,159,29,5,'do_futex')
f(39,159,29,5,'futex_wake')
f(40,161,27,5,'wake_up_q')
f(41,162,26,5,'_raw_spin_unlock_irqrestore')
f(37,188,2,5,'syscall_enter_from_user_mode')
f(6,190,29,2,'kyo/bench/BroadFlatMapBench$$Lambda$42.0x0000000800d2a258.apply',11,0,0)
f(7,190,29,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1',11,0,0)
f(8,190,29,2,'kyo/bench/BroadFlatMapBench.catsFib$1',11,0,0)
f(9,190,18,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(10,190,18,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,192,5,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',5,0,0)
f(12,192,5,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',5,0,0)
f(13,192,5,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',5,0,0)
f(11,197,9,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,197,2,2,'cats/effect/IO.flatMap',2,0,0)
f(13,197,2,2,'cats/effect/IO$FlatMap$.apply',2,0,0)
f(12,199,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(13,199,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(14,199,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(12,200,6,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(13,200,1,1,'cats/effect/IO.flatMap')
f(14,200,1,1,'cats/effect/IO$FlatMap$.apply')
f(15,200,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(16,200,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(17,200,1,4,'MemAllocator::Allocation::notify_allocation_jfr_sampler()')
f(13,201,4,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(14,201,1,2,'cats/effect/IO.flatMap',1,0,0)
f(15,201,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(16,201,1,2,'cats/effect/IO$FlatMap.<init>',1,0,0)
f(14,202,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(15,202,1,2,'scala/math/BigInt$.apply',1,0,0)
f(16,202,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(14,203,2,2,'scala/math/BigInt$.apply',2,0,0)
f(15,203,2,2,'scala/math/BigInt$.getCached',2,0,0)
f(13,205,1,2,'scala/math/BigInt$.apply',1,0,0)
f(14,205,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(11,206,2,2,'scala/math/BigInt$.apply',2,0,0)
f(12,206,2,2,'scala/math/BigInt$.getCached',2,0,0)
f(9,208,11,2,'scala/math/BigInt$.apply',11,0,0)
f(10,208,11,2,'scala/math/BigInt$.getCached',11,0,0)
f(11,213,6,2,'scala/math/BigInt.<init>',6,0,0)
f(12,218,1,2,'scala/math/ScalaNumber.<init>',1,0,0)
f(6,219,43,2,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5f4d8.apply',43,0,0)
f(7,221,41,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1',41,0,0)
f(8,233,4,2,'cats/effect/IO$.pure',4,0,0)
f(9,233,4,2,'cats/effect/IO$Pure$.apply',4,0,0)
f(10,236,1,2,'cats/effect/IO$Pure.<init>',1,0,0)
f(11,236,1,2,'cats/effect/IO.<init>',1,0,0)
f(8,237,25,2,'scala/math/BigInt.$plus',25,0,0)
f(9,246,13,2,'scala/math/BigInt$.apply',13,0,0)
f(10,253,6,2,'scala/math/BigInt$.getCached',6,0,0)
f(9,259,3,2,'scala/math/BigInt.longEncoding',3,0,0)
f(10,259,3,2,'scala/math/BigInt._long',3,0,0)
f(4,262,1,1,'cats/effect/IOFiber.succeeded')
f(5,262,1,2,'cats/effect/ByteStack$.pop',1,0,0)
f(6,262,1,2,'cats/effect/ByteStack$.peek',1,0,0)
f(3,263,83,1,'cats/effect/IOFiber.execR',4,0,0)
f(4,265,1,2,'cats/effect/ByteStack$.create',1,0,0)
f(4,266,1,2,'cats/effect/ByteStack$.push',1,0,0)
f(4,267,79,1,'cats/effect/IOFiber.runLoop')
f(5,273,6,2,'cats/effect/ArrayStack.push',6,0,0)
f(5,279,2,2,'cats/effect/ByteStack$.push',2,0,0)
f(5,281,1,2,'cats/effect/IO$FlatMap.f',1,0,0)
f(5,282,6,2,'cats/effect/IO$FlatMap.ioe',6,0,0)
f(5,288,2,2,'cats/effect/IO$Pure.value',2,0,0)
f(5,290,18,1,'cats/effect/IOFiber.next$2')
f(6,290,18,2,'kyo/bench/BroadFlatMapBench$$Lambda$42.0x0000000800d2a258.apply',18,0,0)
f(7,294,14,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1',14,0,0)
f(8,294,14,2,'kyo/bench/BroadFlatMapBench.catsFib$1',14,0,0)
f(9,297,3,2,'cats/effect/IO$.pure',3,0,0)
f(10,299,1,2,'cats/effect/IO$Pure$.apply',1,0,0)
f(9,300,1,2,'kyo/bench/BroadFlatMapBench.catsFib$1',1,0,0)
f(10,300,1,2,'scala/math/BigInt$.apply',1,0,0)
f(9,301,7,2,'scala/math/BigInt$.apply',7,0,0)
f(5,308,1,1,'cats/effect/IOFiber.rescheduleFiber')
f(6,308,1,1,'cats/effect/unsafe/WorkStealingThreadPool.reschedule')
f(5,309,2,2,'cats/effect/IOFiber.shouldFinalize',2,0,0)
f(5,311,35,1,'cats/effect/IOFiber.succeeded')
f(6,317,5,2,'cats/effect/ByteStack$.pop',5,0,0)
f(7,320,2,2,'cats/effect/ByteStack$.peek',2,0,0)
f(6,322,7,1,'kyo/bench/BroadFlatMapBench$$Lambda$42.0x0000000800d2a258.apply',1,0,0)
f(7,322,7,1,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1',1,0,0)
f(8,322,7,1,'kyo/bench/BroadFlatMapBench.catsFib$1',1,0,0)
f(9,322,6,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(10,322,6,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(11,322,2,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(12,322,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(13,322,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(14,322,1,2,'scala/math/BigInt$.apply',1,0,0)
f(15,322,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(12,323,1,2,'scala/math/BigInt$.apply',1,0,0)
f(13,323,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(11,324,4,2,'scala/math/BigInt$.apply',4,0,0)
f(12,324,4,2,'scala/math/BigInt$.getCached',4,0,0)
f(9,328,1,2,'scala/math/BigInt$.apply',1,0,0)
f(10,328,1,2,'scala/math/BigInt$.getCached',1,0,0)
f(11,328,1,2,'scala/math/BigInt.<init>',1,0,0)
f(6,329,17,2,'kyo/bench/BroadFlatMapBench$$Lambda$92.0x0000000800d5f4d8.apply',17,0,0)
f(7,330,16,2,'kyo/bench/BroadFlatMapBench.catsFib$1$$anonfun$1$$anonfun$1',16,0,0)
f(8,334,12,2,'scala/math/BigInt.$plus',12,0,0)
f(9,336,7,2,'scala/math/BigInt$.apply',7,0,0)
f(9,343,3,2,'scala/math/BigInt.longEncoding',3,0,0)
f(10,343,3,2,'scala/math/BigInt._long',3,0,0)
f(3,346,2,3,'clock_gettime')
f(4,346,2,3,'[vdso]')
f(2,348,1,2,'cats/effect/unsafe/LocalQueue.dequeue',1,0,0)
f(2,349,2,1,'cats/effect/unsafe/WorkStealingThreadPool.stealFromOtherWorkerThread')
f(3,350,1,2,'cats/effect/unsafe/ScalQueue.poll',1,0,0)
f(4,350,1,2,'java/util/concurrent/ConcurrentLinkedQueue.poll',1,0,0)
f(2,351,20,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,351,20,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,351,20,1,'java/util/concurrent/locks/LockSupport.park')
f(5,351,20,1,'jdk/internal/misc/Unsafe.park')
f(6,351,4,3,'Unsafe_Park')
f(7,353,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,353,1,5,'entry_SYSCALL_64_after_hwframe')
f(9,353,1,5,'do_syscall_64')
f(10,353,1,5,'syscall_enter_from_user_mode')
f(7,354,1,4,'Parker::park(bool, long)')
f(8,354,1,4,'AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<544868ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 544868ul>::oop_access_barrier(void*)')
f(6,355,16,3,'[unknown]')
f(7,355,14,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,356,13,5,'entry_SYSCALL_64_after_hwframe')
f(9,356,13,5,'do_syscall_64')
f(10,356,12,5,'__x64_sys_futex')
f(11,356,12,5,'do_futex')
f(12,357,11,5,'futex_wait')
f(13,357,11,5,'futex_wait_queue_me')
f(14,357,11,5,'schedule')
f(15,357,11,5,'__schedule')
f(16,357,11,5,'finish_task_switch.isra.0')
f(10,368,1,5,'syscall_exit_to_user_mode')
f(11,368,1,5,'exit_to_user_mode_prepare')
f(12,368,1,5,'exit_to_user_mode_loop')
f(13,368,1,5,'__rseq_handle_notify_resume')
f(14,368,1,5,'rseq_ip_fixup')
f(15,368,1,5,'__get_user_8')
f(7,369,1,3,'_pthread_cleanup_push')
f(7,370,1,3,'pthread_cond_wait')
f(1,371,54,1,'java/lang/Thread.run')
f(2,371,54,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,371,54,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,371,54,1,'java/util/concurrent/FutureTask.run')
f(5,371,54,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,371,54,1,'java/util/concurrent/FutureTask.run')
f(7,371,54,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,371,54,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,371,54,1,'java/lang/reflect/Method.invoke')
f(10,371,54,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,371,54,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,371,54,1,'kyo/bench/jmh_generated/BroadFlatMapBench_syncCats_jmhTest.syncCats_Throughput')
f(13,371,54,1,'kyo/bench/jmh_generated/BroadFlatMapBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,371,54,1,'kyo/bench/Bench.syncCats')
f(15,371,53,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,371,53,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,371,29,1,'cats/effect/IO.unsafeRunAsync')
f(18,371,28,1,'cats/effect/IO.unsafeRunFiber')
f(19,371,28,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,371,28,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,371,28,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,371,28,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,371,28,1,'jdk/internal/misc/Unsafe.unpark')
f(24,371,28,3,'pthread_cond_signal')
f(25,371,28,5,'entry_SYSCALL_64_after_hwframe')
f(26,371,28,5,'do_syscall_64')
f(27,371,28,5,'__x64_sys_futex')
f(28,371,28,5,'do_futex')
f(29,371,28,5,'futex_wake')
f(30,371,1,5,'mark_wake_futex')
f(30,372,27,5,'wake_up_q')
f(31,372,27,5,'_raw_spin_unlock_irqrestore')
f(18,399,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(19,399,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(20,399,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(17,400,24,1,'scala/concurrent/package$.blocking')
f(18,400,24,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,400,24,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5edf0.apply')
f(20,400,24,1,'cats/effect/IOPlatform.$anonfun$1',1,0,0)
f(21,400,24,1,'java/util/concurrent/ArrayBlockingQueue.poll',1,0,0)
f(22,400,24,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos',1,0,0)
f(23,400,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.enableWait',1,0,0)
f(24,400,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release',1,0,0)
f(25,400,1,2,'java/util/concurrent/locks/ReentrantLock$Sync.tryRelease',1,0,0)
f(26,400,1,2,'java/util/concurrent/locks/AbstractOwnableSynchronizer.setExclusiveOwnerThread',1,0,0)
f(23,401,23,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,401,23,1,'jdk/internal/misc/Unsafe.park')
f(25,403,1,4,'JavaThread::threadObj() const')
f(25,404,1,3,'Unsafe_Park')
f(26,404,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,404,1,5,'entry_SYSCALL_64_after_hwframe')
f(28,404,1,5,'do_syscall_64')
f(29,404,1,5,'__x64_sys_futex')
f(30,404,1,5,'do_futex')
f(31,404,1,5,'hash_futex')
f(25,405,19,3,'[unknown]')
f(26,405,18,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,406,17,5,'entry_SYSCALL_64_after_hwframe')
f(28,406,17,5,'do_syscall_64')
f(29,406,15,5,'__x64_sys_futex')
f(30,406,14,5,'do_futex')
f(31,406,14,5,'futex_wait')
f(32,408,11,5,'futex_wait_queue_me')
f(33,408,1,5,'hrtimer_sleeper_start_expires')
f(34,408,1,5,'_raw_spin_unlock_irqrestore')
f(33,409,10,5,'schedule')
f(34,409,10,5,'__schedule')
f(35,409,10,5,'finish_task_switch.isra.0')
f(32,419,1,5,'schedule')
f(30,420,1,5,'get_timespec64')
f(31,420,1,5,'_copy_from_user')
f(29,421,2,5,'syscall_exit_to_user_mode')
f(30,421,2,5,'exit_to_user_mode_prepare')
f(31,421,2,5,'exit_to_user_mode_loop')
f(32,421,2,5,'__rseq_handle_notify_resume')
f(33,421,2,5,'rseq_ip_fixup')
f(34,422,1,5,'rseq_get_rseq_cs.isra.0')
f(26,423,1,3,'pthread_cond_timedwait')
f(15,424,1,1,'kyo/bench/BroadFlatMapBench.catsBench')
f(16,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(17,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(18,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(19,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(20,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(21,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(22,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(23,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
f(24,424,1,1,'kyo/bench/BroadFlatMapBench.catsFib$1')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,29398,3,'all')
f(1,0,28311,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,28311,1,'cats/effect/IOFiber.run')
f(3,0,4,1,'cats/effect/IOFiber.cedeR')
f(4,0,4,1,'cats/effect/IOFiber.runLoop')
f(5,0,1,1,'cats/effect/IO$$$Lambda$92.0x0000000800d5f748.apply')
f(6,0,1,1,'cats/effect/IO$.deferred$$anonfun$1')
f(7,0,1,1,'cats/effect/IODeferred.<init>')
f(8,0,1,1,'cats/effect/IO$.asyncCheckAttempt')
f(9,0,1,1,'cats/effect/IO$IOCont$.apply')
f(10,0,1,2,'cats.effect.IO$IOCont')
f(5,1,1,1,'cats/effect/IO$$anon$3$$Lambda$101.0x0000000800d61450.apply')
f(6,1,1,1,'cats/effect/IO$$anon$3.apply$$anonfun$1')
f(7,1,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,1,1,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d64000.newInvokeSpecial')
f(9,1,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,1,1,2,'cats.effect.IO$$anon$3$$Lambda$102+0x0000000800d61d10')
f(5,2,1,1,'cats/effect/IO$$anon$3$$Lambda$104.0x0000000800d78d20.apply')
f(6,2,1,1,'cats/effect/IO$.cats$effect$IO$$anon$3$$_$apply$$anonfun$1$$anonfun$1$$anonfun$1')
f(7,2,1,1,'cats/effect/IO$$anon$2.onCancel')
f(8,2,1,1,'cats/effect/IO$$anon$2.onCancel')
f(9,2,1,1,'cats/effect/IO.onCancel')
f(10,2,1,1,'cats/effect/IO$OnCancel$.apply')
f(11,2,1,2,'cats.effect.IO$OnCancel')
f(5,3,1,1,'cats/effect/IOFiber.<init>')
f(6,3,1,1,'cats/effect/ArrayStack$.apply')
f(7,3,1,2,'cats.effect.ArrayStack')
f(3,4,28307,1,'cats/effect/IOFiber.execR')
f(4,4,8121,1,'cats/effect/ArrayStack.init')
f(5,4,8121,2,'java.lang.Object[]')
f(4,8125,1862,1,'cats/effect/ByteStack$.create')
f(5,8125,1862,2,'int[]')
f(4,9987,18324,1,'cats/effect/IOFiber.runLoop')
f(5,9987,3507,2,'cats.effect.IOFiber')
f(5,13494,8591,1,'cats/effect/IOFiber.<init>')
f(6,13494,2447,1,'cats/effect/ArrayStack$.apply')
f(7,13494,2447,2,'cats.effect.ArrayStack')
f(6,15941,1427,1,'cats/effect/CallbackStack$.apply')
f(7,15941,1427,2,'cats.effect.CallbackStack')
f(6,17368,1765,1,'cats/effect/IO$.async')
f(7,17368,697,2,'cats.effect.IO$$anon$4')
f(7,18065,1068,1,'cats/effect/IO$IOCont$.apply')
f(8,18065,1068,2,'cats.effect.IO$IOCont')
f(6,19133,1646,1,'cats/effect/IO$.uncancelable')
f(7,19133,1646,1,'cats/effect/IO$Uncancelable$.apply')
f(8,19133,1646,2,'cats.effect.IO$Uncancelable')
f(6,20779,1306,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(7,20779,1306,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(8,20779,1306,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(9,20779,699,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5dc20')
f(9,21478,607,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5e210')
f(5,22085,3413,1,'cats/effect/IOFiber.next$2')
f(6,22085,3413,1,'kyo/bench/ChainedForkBench$$Lambda$97.0x0000000800d5b110.apply')
f(7,22085,3413,1,'kyo/bench/ChainedForkBench.iterate$1$$anonfun$1')
f(8,22085,853,1,'cats/effect/IO.start')
f(9,22085,853,1,'cats/effect/IO$Start$.apply')
f(10,22085,853,2,'cats.effect.IO$Start')
f(8,22938,2560,1,'kyo/bench/ChainedForkBench.iterate$1')
f(9,22938,1195,1,'cats/effect/IO.flatMap')
f(10,22938,1195,1,'cats/effect/IO$FlatMap$.apply')
f(11,22938,1195,2,'cats.effect.IO$FlatMap')
f(9,24133,1365,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,24133,1365,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d59400.newInvokeSpecial')
f(11,24133,1365,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,24133,1365,2,'kyo.bench.ChainedForkBench$$Lambda$97+0x0000000800d5b110')
f(5,25498,2813,1,'cats/effect/IOFiber.succeeded')
f(6,25498,2813,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,25498,1286,1,'cats/effect/IO$.pure')
f(8,25498,1286,1,'cats/effect/IO$Pure$.apply')
f(9,25498,1286,2,'cats.effect.IO$Pure')
f(7,26784,825,1,'cats/effect/IOFiber.done')
f(8,26784,825,1,'cats/effect/IO$.pure')
f(9,26784,825,1,'cats/effect/IO$Pure$.apply')
f(10,26784,825,2,'cats.effect.IO$Pure')
f(7,27609,702,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,27609,702,2,'cats.effect.kernel.Outcome$Succeeded')
f(1,28311,1,2,'java.lang.String')
f(1,28312,1062,1,'java/lang/Thread.run')
f(2,28312,1062,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,28312,1062,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,28312,1062,1,'java/util/concurrent/FutureTask.run')
f(5,28312,1062,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,28312,1062,1,'java/util/concurrent/FutureTask.run')
f(7,28312,1062,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,28312,1062,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,28312,1062,1,'java/lang/reflect/Method.invoke')
f(10,28312,1062,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,28312,1062,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,28312,1062,1,'kyo/bench/jmh_generated/ChainedForkBench_forkCats_jmhTest.forkCats_Throughput')
f(13,28312,1061,1,'kyo/bench/jmh_generated/ChainedForkBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,28312,1061,1,'kyo/bench/Bench.forkCats')
f(15,28312,2,1,'cats/effect/IO.flatMap')
f(16,28312,2,1,'cats/effect/IO$FlatMap$.apply')
f(17,28312,2,2,'cats.effect.IO$FlatMap')
f(15,28314,1058,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,28314,919,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,28314,522,1,'cats/effect/IO.unsafeRunAsync')
f(18,28314,412,1,'cats/effect/IO.unsafeRunFiber')
f(19,28314,107,2,'cats.effect.IOFiber')
f(19,28421,2,5,'cats.effect.IOFiber')
f(19,28423,220,1,'cats/effect/IOFiber.<init>')
f(20,28423,112,1,'cats/effect/ArrayStack$.apply')
f(21,28423,112,2,'cats.effect.ArrayStack')
f(20,28535,1,1,'cats/effect/CallbackStack$.apply')
f(21,28535,1,2,'cats.effect.CallbackStack')
f(20,28536,15,1,'cats/effect/IO$.async')
f(21,28536,1,2,'cats.effect.IO$$anon$4')
f(21,28537,14,1,'cats/effect/IO$IOCont$.apply')
f(22,28537,14,2,'cats.effect.IO$IOCont')
f(20,28551,81,1,'cats/effect/IO$.uncancelable')
f(21,28551,81,1,'cats/effect/IO$Uncancelable$.apply')
f(22,28551,81,2,'cats.effect.IO$Uncancelable')
f(20,28632,11,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,28632,11,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,28632,11,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,28632,11,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5dc20')
f(19,28643,82,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,28643,82,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,28643,82,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,28643,82,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,28643,82,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,28725,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,28725,1,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,28725,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,28725,1,2,'cats.effect.IO$$Lambda$88+0x0000000800d5cde8')
f(18,28726,110,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,28726,110,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,28726,110,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,28726,14,2,'cats.effect.IO$$Lambda$85+0x0000000800d57548')
f(21,28740,95,2,'cats.effect.IO$$Lambda$86+0x0000000800d57808')
f(21,28835,1,2,'cats.effect.IO$$Lambda$87+0x0000000800d5c000')
f(17,28836,5,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,28841,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,28841,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,28841,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,28841,2,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d57140')
f(20,28843,1,2,'cats.effect.IOPlatform$$Lambda$91+0x0000000800d5ebf0')
f(17,28844,237,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,28844,237,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,28844,120,2,'java.lang.Object[]')
f(19,28964,5,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,28964,5,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,28969,112,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,28969,112,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,28969,112,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,29081,27,1,'scala/concurrent/package$.blocking')
f(18,29081,27,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,29081,27,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5ebf0.apply')
f(20,29081,27,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,29081,27,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,29081,27,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,29081,27,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,29108,125,1,'scala/util/Either.fold')
f(18,29108,125,1,'cats/effect/IOPlatform$$Lambda$112.0x0000000800d7b030.apply')
f(19,29108,125,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,29108,125,1,'scala/Some$.apply')
f(21,29108,125,2,'scala.Some')
f(16,29233,139,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,29233,139,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,29233,139,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,29233,139,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,29233,139,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,29233,139,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,29233,139,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,29233,139,2,'scala.concurrent.duration.FiniteDuration')
f(15,29372,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,29372,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,29372,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,29372,1,2,'kyo.bench.Bench$$Lambda$40+0x0000000800d13078')
f(13,29373,1,1,'org/openjdk/jmh/results/ThroughputResult.<init>')
f(14,29373,1,2,'java.lang.StringBuilder')
f(1,29374,24,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,29374,24,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,29374,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,29374,24,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,29374,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,29374,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,29374,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,29374,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,29374,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,29374,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,29374,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,29374,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,29374,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,29374,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,29374,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,29374,1,2,'java.lang.Object[]')
f(7,29375,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,29375,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,29375,3,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,29378,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,29378,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,29378,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,29378,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,29378,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,29378,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,29383,15,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,29383,15,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,29383,4,1,'java/lang/ClassLoader.loadClass')
f(10,29383,4,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,29383,4,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,29383,4,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,29383,4,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,29383,3,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,29383,1,1,'java/security/CodeSource.<init>')
f(16,29383,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,29383,1,1,'java/lang/StringBuilder.append')
f(18,29383,1,1,'java/lang/AbstractStringBuilder.append')
f(19,29383,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,29383,1,1,'java/util/Arrays.copyOf')
f(21,29383,1,2,'byte[]')
f(15,29384,1,1,'jdk/internal/loader/Resource.getByteBuffer')
f(16,29384,1,1,'jdk/internal/loader/Resource.cachedInputStream')
f(17,29384,1,1,'jdk/internal/loader/URLClassPath$JarLoader$2.getInputStream')
f(18,29384,1,1,'java/util/jar/JarFile.getInputStream')
f(19,29384,1,1,'java/util/zip/ZipFile.getInputStream')
f(20,29384,1,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(21,29384,1,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(22,29384,1,1,'java/util/zip/InflaterInputStream.<init>')
f(23,29384,1,5,'byte[]')
f(15,29385,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,29385,1,1,'java/util/Arrays.copyOf')
f(17,29385,1,5,'byte[]')
f(14,29386,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,29386,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,29386,1,1,'java/util/jar/JarFile.getJarEntry')
f(17,29386,1,1,'java/util/jar/JarFile.getEntry')
f(18,29386,1,1,'java/util/zip/ZipFile.getEntry')
f(19,29386,1,1,'java/util/zip/ZipFile$Source.getEntryPos')
f(20,29386,1,1,'java/util/zip/ZipCoder$UTF8ZipCoder.toString')
f(21,29386,1,1,'java/lang/System$2.newStringUTF8NoRepl')
f(22,29386,1,1,'java/lang/String.newStringUTF8NoRepl')
f(23,29386,1,1,'java/util/Arrays.copyOfRange')
f(24,29386,1,2,'byte[]')
f(9,29387,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,29387,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,29387,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,29387,11,1,'java/io/ObjectStreamClass.lookup')
f(13,29387,11,1,'java/io/ObjectStreamClass.<init>')
f(14,29387,11,1,'java/security/AccessController.doPrivileged')
f(15,29387,11,1,'java/security/AccessController.executePrivileged')
f(16,29387,11,1,'java/io/ObjectStreamClass$2.run')
f(17,29387,11,1,'java/io/ObjectStreamClass$2.run')
f(18,29387,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,29387,2,1,'java/lang/Class.getDeclaredMethod')
f(20,29387,1,1,'java/lang/Class.methodToString')
f(21,29387,1,1,'java/lang/StringBuilder.append')
f(22,29387,1,1,'java/lang/AbstractStringBuilder.append')
f(23,29387,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,29387,1,1,'java/util/Arrays.copyOf')
f(25,29387,1,2,'byte[]')
f(20,29388,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,29388,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,29388,1,1,'java/lang/Exception.<init>')
f(23,29388,1,1,'java/lang/Throwable.<init>')
f(24,29388,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,29388,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,29388,1,2,'short[]')
f(18,29389,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,29389,3,1,'java/lang/Class.getDeclaredMethod')
f(20,29389,2,1,'java/lang/Class.methodToString')
f(21,29389,1,1,'java/lang/StringBuilder.append')
f(22,29389,1,1,'java/lang/AbstractStringBuilder.append')
f(23,29389,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,29389,1,1,'java/util/Arrays.copyOf')
f(25,29389,1,2,'byte[]')
f(21,29390,1,1,'java/lang/StringBuilder.toString')
f(22,29390,1,1,'java/lang/StringLatin1.newString')
f(23,29390,1,1,'java/util/Arrays.copyOfRange')
f(24,29390,1,2,'byte[]')
f(20,29391,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,29391,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,29391,1,1,'java/lang/Exception.<init>')
f(23,29391,1,1,'java/lang/Throwable.<init>')
f(24,29391,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,29391,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,29391,1,5,'long[]')
f(18,29392,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,29392,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,29392,1,1,'java/lang/Class.getDeclaredField')
f(21,29392,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,29392,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,29392,1,1,'java/lang/Exception.<init>')
f(24,29392,1,1,'java/lang/Throwable.<init>')
f(25,29392,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,29392,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,29392,1,2,'long[]')
f(18,29393,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,29393,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,29393,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,29393,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,29393,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,29393,1,1,'java/security/AccessController.doPrivileged')
f(24,29393,1,1,'java/security/AccessController.executePrivileged')
f(25,29393,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,29393,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,29393,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,29393,1,1,'java/security/AccessController.doPrivileged')
f(29,29393,1,1,'java/security/AccessController.executePrivileged')
f(30,29393,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,29393,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,29393,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,29393,1,1,'java/lang/ClassLoader.<init>')
f(34,29393,1,1,'java/lang/ClassLoader.<init>')
f(35,29393,1,1,'java/lang/ClassLoader.nameAndId')
f(36,29393,1,1,'java/lang/StringBuilder.<init>')
f(37,29393,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,29393,1,2,'byte[]')
f(23,29394,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,29394,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,29394,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,29394,1,2,'byte[]')
f(23,29395,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,29395,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,29395,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,29395,1,2,'byte[]')
f(23,29396,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,29396,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,29396,1,1,'java/lang/String.replace')
f(26,29396,1,1,'java/lang/StringLatin1.replace')
f(27,29396,1,2,'java.lang.String')
f(23,29397,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,29397,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,722,3,'all')
f(1,0,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,1,3,'thread_native_entry(Thread*)')
f(3,0,1,4,'Thread::call_run()')
f(4,0,1,4,'VMThread::run()')
f(5,0,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,0,1,4,'VMThread::evaluate_operation(VM_Operation*)')
f(7,0,1,4,'VM_Operation::evaluate()')
f(8,0,1,4,'VM_G1CollectForAllocation::doit()')
f(9,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint_helper(double)')
f(11,0,1,4,'G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo&, G1RedirtyCardsQueueSet*, G1ParScanThreadStateSet*)')
f(12,0,1,4,'void WeakProcessor::weak_oops_do<G1STWIsAliveClosure, G1KeepAliveClosure>(WorkGang*, G1STWIsAliveClosure*, G1KeepAliveClosure*, WeakProcessorTimes*)')
f(13,0,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(14,0,1,3,'sem_post')
f(15,0,1,5,'entry_SYSCALL_64_after_hwframe')
f(16,0,1,5,'do_syscall_64')
f(17,0,1,5,'__x64_sys_futex')
f(18,0,1,5,'do_futex')
f(19,0,1,5,'futex_wake')
f(20,0,1,5,'wake_up_q')
f(21,0,1,5,'_raw_spin_unlock_irqrestore')
f(1,1,4,3,'[unknown_Java]')
f(2,1,1,6,'cats/effect/IO$FlatMap.tag',0,1,0)
f(2,2,2,3,'clock_gettime')
f(3,2,2,3,'[vdso]')
f(2,4,1,4,'os::javaTimeNanos()')
f(1,5,715,1,'cats/effect/unsafe/WorkerThread.run')
f(2,26,1,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(3,26,1,4,'InstanceKlass::allocate_objArray(int, int, JavaThread*)')
f(4,26,1,4,'MemAllocator::Allocation::notify_allocation_jfr_sampler()')
f(2,27,494,1,'cats/effect/IOFiber.run',92,0,0)
f(3,29,4,2,'cats/effect/IOFiber.asyncContinueSuccessfulR',3,0,0)
f(4,31,1,1,'cats/effect/IOFiber.succeeded')
f(5,31,1,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(6,31,1,1,'cats/effect/IOFiber.done')
f(7,31,1,1,'cats/effect/CallbackStack.apply')
f(8,31,1,1,'scala/runtime/function/JProcedure1.apply')
f(9,31,1,1,'scala/runtime/function/JProcedure1.apply')
f(10,31,1,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cde8.applyVoid')
f(11,31,1,1,'cats/effect/IO.$anonfun$6')
f(12,31,1,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(13,31,1,1,'cats/effect/kernel/Outcome.fold$')
f(14,31,1,1,'cats/effect/kernel/Outcome.fold')
f(15,31,1,1,'scala/runtime/function/JProcedure1.apply')
f(16,31,1,1,'scala/runtime/function/JProcedure1.apply')
f(17,31,1,1,'cats/effect/IO$$Lambda$110.0x0000000800d7a860.applyVoid')
f(18,31,1,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(19,31,1,1,'scala/runtime/function/JProcedure1.apply')
f(20,31,1,1,'scala/runtime/function/JProcedure1.apply')
f(21,31,1,1,'cats/effect/IO$$Lambda$87.0x0000000800d5c000.applyVoid')
f(22,31,1,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(23,31,1,1,'scala/runtime/function/JProcedure1.apply')
f(24,31,1,1,'scala/runtime/function/JProcedure1.apply')
f(25,31,1,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d57140.applyVoid')
f(26,31,1,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(27,31,1,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(28,31,1,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(29,31,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(30,31,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(31,31,1,1,'java/util/concurrent/locks/LockSupport.unpark')
f(32,31,1,1,'jdk/internal/misc/Unsafe.unpark')
f(33,31,1,3,'pthread_cond_signal')
f(34,31,1,5,'entry_SYSCALL_64_after_hwframe')
f(35,31,1,5,'do_syscall_64')
f(36,31,1,5,'__x64_sys_futex')
f(37,31,1,5,'do_futex')
f(38,31,1,5,'hash_futex')
f(4,32,1,2,'cats/effect/unsafe/IORuntime.autoYieldThreshold',1,0,0)
f(3,33,4,2,'cats/effect/IOFiber.cedeR',2,0,0)
f(4,35,2,1,'cats/effect/IOFiber.runLoop')
f(5,35,1,6,'cats/effect/IO$OnCancel.tag',0,1,0)
f(5,36,1,1,'cats/effect/IOFiber.scheduleFiber')
f(6,36,1,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(7,36,1,1,'cats/effect/unsafe/WorkerThread.schedule')
f(8,36,1,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(9,36,1,1,'java/util/concurrent/locks/LockSupport.unpark')
f(10,36,1,1,'jdk/internal/misc/Unsafe.unpark')
f(11,36,1,3,'pthread_cond_signal')
f(12,36,1,5,'entry_SYSCALL_64_after_hwframe')
f(13,36,1,5,'do_syscall_64')
f(14,36,1,5,'__x64_sys_futex')
f(15,36,1,5,'do_futex')
f(16,36,1,5,'futex_wake')
f(3,37,483,1,'cats/effect/IOFiber.execR',84,0,0)
f(4,44,1,3,'__vdso_clock_gettime')
f(4,45,15,1,'cats/effect/ArrayStack.init',3,0,0)
f(5,51,1,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(6,51,1,4,'InstanceKlass::allocate_objArray(int, int, JavaThread*)')
f(7,51,1,4,'MemAllocator::allocate() const')
f(8,51,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(5,52,6,3,'clock_gettime')
f(6,54,4,3,'[vdso]')
f(5,58,2,4,'os::javaTimeNanos()')
f(4,60,46,2,'cats/effect/ByteStack$.push',45,0,0)
f(5,65,38,3,'clock_gettime')
f(6,65,38,3,'[vdso]')
f(5,103,3,4,'os::javaTimeNanos()')
f(4,106,377,1,'cats/effect/IOFiber.runLoop')
f(5,130,2,2,'cats/effect/ContState.waiting',2,0,0)
f(5,132,3,6,'cats/effect/IO$FlatMap.tag',0,3,0)
f(5,135,10,6,'cats/effect/IO$Start.tag',0,10,0)
f(5,145,88,1,'cats/effect/IOFiber.<init>')
f(6,189,1,1,'cats/effect/ArrayStack$.apply')
f(7,189,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(8,189,1,4,'G1CardTable::is_in_young(oopDesc*) const')
f(6,190,10,2,'cats/effect/CallbackStack$.apply',9,0,0)
f(7,199,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(8,199,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(9,199,1,4,'MemAllocator::allocate() const')
f(10,199,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(11,199,1,4,'ThreadLocalAllocBuffer::retire_before_allocation()')
f(12,199,1,4,'CollectedHeap::fill_with_dummy_object(HeapWordImpl**, HeapWordImpl**, bool)')
f(13,199,1,4,'ObjArrayAllocator::initialize(HeapWordImpl**) const')
f(6,200,12,2,'cats/effect/IO$.async',12,0,0)
f(7,206,6,2,'cats/effect/IO$IOCont$.apply',6,0,0)
f(6,212,11,2,'cats/effect/IO$.uncancelable',11,0,0)
f(7,212,11,2,'cats/effect/IO$Uncancelable$.apply',11,0,0)
f(6,223,10,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',10,0,0)
f(7,223,10,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',10,0,0)
f(8,223,10,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',10,0,0)
f(5,233,166,1,'cats/effect/IOFiber.scheduleFiber',53,0,0)
f(6,233,166,1,'cats/effect/unsafe/WorkStealingThreadPool.execute',53,0,0)
f(7,237,162,1,'cats/effect/unsafe/WorkerThread.schedule',49,0,0)
f(8,246,17,2,'cats/effect/unsafe/LocalQueue.enqueue',17,0,0)
f(8,263,136,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked',23,0,0)
f(9,278,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(10,278,1,2,'java/util/Random.nextInt',1,0,0)
f(11,278,1,2,'java/util/concurrent/ThreadLocalRandom.next',1,0,0)
f(12,278,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(9,279,7,2,'java/util/concurrent/atomic/AtomicBoolean.getAndSet',7,0,0)
f(10,279,7,2,'java/lang/invoke/VarHandleGuards.guard_LI_I',7,0,0)
f(9,286,113,1,'java/util/concurrent/locks/LockSupport.unpark')
f(10,286,113,1,'jdk/internal/misc/Unsafe.unpark')
f(11,288,2,3,'Unsafe_Unpark')
f(12,288,2,3,'pthread_mutex_lock')
f(11,290,109,3,'pthread_cond_signal')
f(12,294,105,5,'entry_SYSCALL_64_after_hwframe')
f(13,294,105,5,'do_syscall_64')
f(14,294,101,5,'__x64_sys_futex')
f(15,296,99,5,'do_futex')
f(16,296,98,5,'futex_wake')
f(17,299,2,5,'mark_wake_futex')
f(17,301,1,5,'wake_q_add_safe')
f(17,302,92,5,'wake_up_q')
f(18,304,89,5,'_raw_spin_unlock_irqrestore')
f(18,393,1,5,'try_to_wake_up')
f(19,393,1,5,'_raw_spin_lock_irqsave')
f(16,394,1,5,'hash_futex')
f(14,395,3,5,'syscall_enter_from_user_mode')
f(14,398,1,5,'syscall_exit_to_user_mode_prepare')
f(5,399,56,1,'cats/effect/IOFiber.succeeded')
f(6,412,3,2,'cats/effect/ByteStack$.pop',3,0,0)
f(7,414,1,2,'cats/effect/ByteStack$.peek',1,0,0)
f(6,415,40,2,'cats/effect/IOFiber.runTerminusSuccessK',40,0,0)
f(7,417,8,2,'cats/effect/IO$.pure',8,0,0)
f(8,417,8,2,'cats/effect/IO$Pure$.apply',8,0,0)
f(9,424,1,2,'cats/effect/IO$Pure.<init>',1,0,0)
f(7,425,29,2,'cats/effect/IOFiber.done',29,0,0)
f(8,442,1,2,'cats/effect/CallbackStack.apply',1,0,0)
f(8,443,11,2,'cats/effect/IO$.pure',11,0,0)
f(9,443,11,2,'cats/effect/IO$Pure$.apply',11,0,0)
f(10,445,9,2,'cats/effect/IO$Pure.<init>',9,0,0)
f(11,445,9,2,'cats/effect/IO.<init>',9,0,0)
f(12,445,9,2,'cats/effect/IOPlatform.<init>',9,0,0)
f(13,445,9,2,'java/lang/Object.<init>',9,0,0)
f(7,454,1,2,'cats/effect/kernel/Outcome$Succeeded$.apply',1,0,0)
f(5,455,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(6,455,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(7,455,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(8,455,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(9,455,1,4,'MemAllocator::allocate() const')
f(10,455,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(11,455,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(12,455,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(5,456,16,2,'java/util/concurrent/atomic/AtomicBoolean.getAndSet',16,0,0)
f(6,464,8,2,'java/lang/invoke/VarHandleGuards.guard_LI_I',8,0,0)
f(5,472,11,3,'vtable stub')
f(4,483,34,3,'clock_gettime')
f(5,484,33,3,'[vdso]')
f(4,517,3,3,'clock_gettime@plt')
f(3,520,1,2,'cats/effect/IOFiber.readBarrier',1,0,0)
f(4,520,1,2,'java/util/concurrent/atomic/AtomicBoolean.get',1,0,0)
f(2,521,8,1,'cats/effect/unsafe/LocalQueue.dequeue',2,0,0)
f(3,522,2,3,'clock_gettime')
f(4,523,1,3,'[vdso]')
f(3,524,5,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.compareAndSet',2,0,0)
f(2,529,29,2,'cats/effect/unsafe/ScalQueue.poll',24,0,0)
f(3,534,20,2,'java/util/concurrent/ConcurrentLinkedQueue.poll',16,0,0)
f(4,541,7,2,'java/util/concurrent/ConcurrentLinkedQueue$Node.casItem',6,0,0)
f(5,541,7,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',6,0,0)
f(6,546,2,2,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.compareAndSet',1,0,0)
f(7,547,1,4,'OptoRuntime::new_array_C(Klass*, int, JavaThread*)')
f(8,547,1,4,'InstanceKlass::allocate_objArray(int, int, JavaThread*)')
f(9,547,1,4,'MemAllocator::Allocation::notify_allocation_jfr_sampler()')
f(4,548,6,2,'java/util/concurrent/ConcurrentLinkedQueue.updateHead',4,0,0)
f(5,549,4,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',4,0,0)
f(6,551,2,2,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.compareAndSet',2,0,0)
f(7,551,2,2,'java/util/Objects.requireNonNull',2,0,0)
f(5,553,1,1,'java/lang/invoke/VarHandleGuards.guard_LL_V')
f(6,553,1,1,'java/lang/invoke/VarHandle.checkExactAccessMode')
f(3,554,4,2,'java/util/concurrent/ThreadLocalRandom.nextInt',4,0,0)
f(4,556,2,2,'java/util/Random.nextInt',2,0,0)
f(2,558,29,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyIfWorkPending')
f(3,558,29,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(4,558,29,1,'java/util/concurrent/locks/LockSupport.unpark')
f(5,558,29,1,'jdk/internal/misc/Unsafe.unpark')
f(6,558,29,3,'pthread_cond_signal')
f(7,560,27,5,'entry_SYSCALL_64_after_hwframe')
f(8,560,27,5,'do_syscall_64')
f(9,560,26,5,'__x64_sys_futex')
f(10,560,25,5,'do_futex')
f(11,560,25,5,'futex_wake')
f(12,562,1,5,'wake_q_add_safe')
f(12,563,22,5,'wake_up_q')
f(13,563,22,5,'_raw_spin_unlock_irqrestore')
f(10,585,1,5,'futex_wake')
f(9,586,1,5,'syscall_enter_from_user_mode')
f(2,587,20,1,'cats/effect/unsafe/WorkStealingThreadPool.stealFromOtherWorkerThread')
f(3,589,11,1,'cats/effect/unsafe/LocalQueue.stealInto')
f(4,591,1,2,'cats/effect/unsafe/LocalQueue.index',1,0,0)
f(4,592,3,2,'cats/effect/unsafe/LocalQueue.msb',3,0,0)
f(4,595,3,2,'cats/effect/unsafe/LocalQueue.unsignedShortSubtraction',3,0,0)
f(5,595,3,2,'cats/effect/unsafe/LocalQueue.lsb',3,0,0)
f(4,598,2,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.compareAndSet',2,0,0)
f(3,600,6,2,'cats/effect/unsafe/ScalQueue.poll',6,0,0)
f(4,602,4,2,'java/util/concurrent/ConcurrentLinkedQueue.poll',4,0,0)
f(3,606,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(4,606,1,2,'java/util/Random.nextInt',1,0,0)
f(5,606,1,2,'java/util/concurrent/ThreadLocalRandom.next',1,0,0)
f(2,607,108,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,607,108,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,607,108,1,'java/util/concurrent/locks/LockSupport.park')
f(5,607,108,1,'jdk/internal/misc/Unsafe.park')
f(6,613,11,3,'Unsafe_Park')
f(7,615,8,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,616,7,5,'entry_SYSCALL_64_after_hwframe')
f(9,616,3,5,'__x64_sys_futex')
f(9,619,4,5,'do_syscall_64')
f(10,619,2,5,'__x64_sys_futex')
f(11,619,2,5,'do_futex')
f(12,619,2,5,'futex_wake')
f(13,619,1,5,'__raw_callee_save___pv_queued_spin_unlock')
f(13,620,1,5,'get_futex_key')
f(10,621,1,5,'do_futex')
f(10,622,1,5,'syscall_enter_from_user_mode')
f(7,623,1,3,'__tls_get_addr')
f(6,624,90,3,'[unknown]')
f(7,624,88,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,631,81,5,'entry_SYSCALL_64_after_hwframe')
f(9,631,81,5,'do_syscall_64')
f(10,631,78,5,'__x64_sys_futex')
f(11,631,78,5,'do_futex')
f(12,632,76,5,'futex_wait')
f(13,634,1,5,'__cond_resched')
f(13,635,2,5,'__get_user_nocheck_4')
f(13,637,68,5,'futex_wait_queue_me')
f(14,638,67,5,'schedule')
f(15,639,66,5,'__schedule')
f(16,639,66,5,'finish_task_switch.isra.0')
f(13,705,3,5,'futex_wait_setup')
f(12,708,1,5,'futex_wait_setup')
f(10,709,3,5,'syscall_exit_to_user_mode')
f(11,709,3,5,'exit_to_user_mode_prepare')
f(12,709,3,5,'exit_to_user_mode_loop')
f(13,710,2,5,'__rseq_handle_notify_resume')
f(14,710,2,5,'rseq_ip_fixup')
f(15,710,2,5,'__get_user_8')
f(7,712,1,3,'pthread_cond_wait')
f(7,713,1,3,'pthread_mutex_trylock')
f(6,714,1,4,'java_lang_Thread::set_thread_status(oopDesc*, JavaThreadStatus)')
f(2,715,2,3,'clock_gettime')
f(3,716,1,3,'[vdso]')
f(2,717,3,2,'java/util/concurrent/atomic/AtomicBoolean.lazySet',1,0,0)
f(3,717,3,2,'java/lang/invoke/VarHandleGuards.guard_LI_V',1,0,0)
f(4,718,2,1,'java/lang/invoke/VarHandleInts$FieldInstanceReadWrite.setRelease')
f(1,720,2,1,'java/lang/Thread.run')
f(2,720,2,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,720,2,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,720,2,1,'java/util/concurrent/FutureTask.run')
f(5,720,2,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,720,2,1,'java/util/concurrent/FutureTask.run')
f(7,720,2,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,720,2,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,720,2,1,'java/lang/reflect/Method.invoke')
f(10,720,2,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,720,2,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,720,2,1,'kyo/bench/jmh_generated/ChainedForkBench_forkCats_jmhTest.forkCats_Throughput')
f(13,720,2,0,'kyo/bench/jmh_generated/ChainedForkBench_forkCats_jmhTest.forkCats_thrpt_jmhStub',0,0,1)
f(14,721,1,1,'kyo/bench/Bench.forkCats')
f(15,721,1,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,721,1,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,721,1,1,'scala/concurrent/package$.blocking')
f(18,721,1,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,721,1,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5ebf0.apply')
f(20,721,1,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,721,1,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,721,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,721,1,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,721,1,1,'jdk/internal/misc/Unsafe.park')
f(25,721,1,3,'[unknown]')
f(26,721,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,721,1,5,'entry_SYSCALL_64_after_hwframe')
f(28,721,1,5,'do_syscall_64')
f(29,721,1,5,'__x64_sys_futex')
f(30,721,1,5,'do_futex')
f(31,721,1,5,'futex_wait')
f(32,721,1,5,'futex_wait_queue_me')
f(33,721,1,5,'hrtimer_sleeper_start_expires')
f(34,721,1,5,'_raw_spin_unlock_irqrestore')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,29860,3,'all')
f(1,0,28724,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,28724,1,'cats/effect/IOFiber.run')
f(3,0,28724,1,'cats/effect/IOFiber.execR')
f(4,0,8384,1,'cats/effect/ArrayStack.init')
f(5,0,8384,2,'java.lang.Object[]')
f(4,8384,1785,1,'cats/effect/ByteStack$.create')
f(5,8384,1785,2,'int[]')
f(4,10169,18555,1,'cats/effect/IOFiber.runLoop')
f(5,10169,3823,2,'cats.effect.IOFiber')
f(5,13992,1,1,'cats/effect/IO$$$Lambda$40.0x0000000800d134e0.apply')
f(6,13992,1,1,'cats/effect/IO$.deferred$$anonfun$1')
f(7,13992,1,1,'cats/effect/IODeferred.<init>')
f(8,13992,1,1,'cats/effect/CallbackStack$.apply')
f(9,13992,1,2,'cats.effect.CallbackStack')
f(5,13993,1,1,'cats/effect/IO$EvalOn$.apply')
f(6,13993,1,2,'cats.effect.IO$EvalOn')
f(5,13994,1,1,'cats/effect/IO$IOCont$Get$.apply')
f(6,13994,1,2,'cats.effect.IO$IOCont$Get')
f(5,13995,1,1,'cats/effect/IODeferred$$Lambda$102.0x0000000800d78800.apply')
f(6,13995,1,1,'cats/effect/IODeferred.$anonfun$1$$anonfun$1')
f(7,13995,1,1,'scala/util/Left$.apply')
f(8,13995,1,2,'scala.util.Left')
f(5,13996,8681,1,'cats/effect/IOFiber.<init>')
f(6,13996,2453,1,'cats/effect/ArrayStack$.apply')
f(7,13996,2453,2,'cats.effect.ArrayStack')
f(6,16449,1370,1,'cats/effect/CallbackStack$.apply')
f(7,16449,1370,2,'cats.effect.CallbackStack')
f(6,17819,1791,1,'cats/effect/IO$.async')
f(7,17819,632,2,'cats.effect.IO$$anon$4')
f(7,18451,1159,1,'cats/effect/IO$IOCont$.apply')
f(8,18451,1159,2,'cats.effect.IO$IOCont')
f(6,19610,1644,1,'cats/effect/IO$.uncancelable')
f(7,19610,1644,1,'cats/effect/IO$Uncancelable$.apply')
f(8,19610,1644,2,'cats.effect.IO$Uncancelable')
f(6,21254,1423,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(7,21254,1423,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(8,21254,1423,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(9,21254,802,2,'cats.effect.IOFiber$$Lambda$91+0x0000000800d5b540')
f(9,22056,621,2,'cats.effect.IOFiber$$Lambda$92+0x0000000800d5bb30')
f(5,22677,3340,1,'cats/effect/IOFiber.next$2')
f(6,22677,3340,1,'kyo/bench/ChainedForkBench$$Lambda$96.0x0000000800d5fa20.apply')
f(7,22677,3340,1,'kyo/bench/ChainedForkBench.iterate$1$$anonfun$1')
f(8,22677,810,1,'cats/effect/IO.start')
f(9,22677,810,1,'cats/effect/IO$Start$.apply')
f(10,22677,810,2,'cats.effect.IO$Start')
f(8,23487,2530,1,'kyo/bench/ChainedForkBench.iterate$1')
f(9,23487,1237,1,'cats/effect/IO.flatMap')
f(10,23487,1237,1,'cats/effect/IO$FlatMap$.apply')
f(11,23487,1237,2,'cats.effect.IO$FlatMap')
f(9,24724,1293,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,24724,1293,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d5cc00.newInvokeSpecial')
f(11,24724,1293,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,24724,1293,2,'kyo.bench.ChainedForkBench$$Lambda$96+0x0000000800d5fa20')
f(5,26017,2707,1,'cats/effect/IOFiber.succeeded')
f(6,26017,2707,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,26017,1220,1,'cats/effect/IO$.pure')
f(8,26017,1220,1,'cats/effect/IO$Pure$.apply')
f(9,26017,1220,2,'cats.effect.IO$Pure')
f(7,27237,821,1,'cats/effect/IOFiber.done')
f(8,27237,821,1,'cats/effect/IO$.pure')
f(9,27237,821,1,'cats/effect/IO$Pure$.apply')
f(10,27237,821,2,'cats.effect.IO$Pure')
f(7,28058,666,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,28058,666,2,'cats.effect.kernel.Outcome$Succeeded')
f(1,28724,1,2,'java.lang.String')
f(1,28725,1112,1,'java/lang/Thread.run')
f(2,28725,1112,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,28725,1112,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,28725,1112,1,'java/util/concurrent/FutureTask.run')
f(5,28725,1112,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,28725,1112,1,'java/util/concurrent/FutureTask.run')
f(7,28725,1112,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,28725,1112,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,28725,1112,1,'java/lang/reflect/Method.invoke')
f(10,28725,1112,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,28725,1112,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,28725,1112,1,'kyo/bench/jmh_generated/ChainedForkBench_syncCats_jmhTest.syncCats_Throughput')
f(13,28725,1112,1,'kyo/bench/jmh_generated/ChainedForkBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,28725,1112,1,'kyo/bench/Bench.syncCats')
f(15,28725,904,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,28725,870,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,28725,486,1,'cats/effect/IO.unsafeRunAsync')
f(18,28725,399,1,'cats/effect/IO.unsafeRunFiber')
f(19,28725,41,2,'cats.effect.IOFiber')
f(19,28766,8,5,'cats.effect.IOFiber')
f(19,28774,280,1,'cats/effect/IOFiber.<init>')
f(20,28774,88,1,'cats/effect/ArrayStack$.apply')
f(21,28774,88,2,'cats.effect.ArrayStack')
f(20,28862,38,1,'cats/effect/CallbackStack$.apply')
f(21,28862,38,2,'cats.effect.CallbackStack')
f(20,28900,51,1,'cats/effect/IO$.async')
f(21,28900,25,2,'cats.effect.IO$$anon$4')
f(21,28925,26,1,'cats/effect/IO$IOCont$.apply')
f(22,28925,26,2,'cats.effect.IO$IOCont')
f(20,28951,32,1,'cats/effect/IO$.uncancelable')
f(21,28951,32,1,'cats/effect/IO$Uncancelable$.apply')
f(22,28951,32,2,'cats.effect.IO$Uncancelable')
f(20,28983,71,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,28983,71,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,28983,71,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,28983,36,2,'cats.effect.IOFiber$$Lambda$91+0x0000000800d5b540')
f(23,29019,35,2,'cats.effect.IOFiber$$Lambda$92+0x0000000800d5bb30')
f(19,29054,24,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,29054,24,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,29054,24,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,29054,24,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,29054,24,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,29078,46,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,29078,46,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d5c400.newInvokeSpecial')
f(21,29078,46,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,29078,46,2,'cats.effect.IO$$Lambda$90+0x0000000800d5a708')
f(18,29124,87,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,29124,87,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,29124,87,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,29124,29,2,'cats.effect.IO$$Lambda$87+0x0000000800d59058')
f(21,29153,30,2,'cats.effect.IO$$Lambda$88+0x0000000800d59318')
f(21,29183,28,2,'cats.effect.IO$$Lambda$89+0x0000000800d59720')
f(17,29211,49,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,29260,28,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,29260,28,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,29260,28,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,29260,28,2,'cats.effect.IOPlatform$$Lambda$86+0x0000000800d58c50')
f(17,29288,219,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,29288,219,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,29288,54,2,'java.lang.Object[]')
f(19,29342,43,2,'java.util.concurrent.locks.ReentrantLock')
f(19,29385,44,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,29385,44,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,29429,78,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,29429,78,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,29429,78,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,29507,19,1,'scala/concurrent/package$.blocking')
f(18,29507,19,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,29507,19,1,'cats/effect/IOPlatform$$Lambda$93.0x0000000800d5e610.apply')
f(20,29507,19,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,29507,19,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,29507,19,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,29507,19,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,29526,69,1,'scala/util/Either.fold')
f(18,29526,69,1,'cats/effect/IOPlatform$$Lambda$111.0x0000000800d7b030.apply')
f(19,29526,69,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,29526,69,1,'scala/Some$.apply')
f(21,29526,69,2,'scala.Some')
f(16,29595,34,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,29595,34,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,29595,34,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,29595,34,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,29595,34,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,29595,34,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,29595,34,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,29595,34,2,'scala.concurrent.duration.FiniteDuration')
f(15,29629,208,1,'kyo/bench/ChainedForkBench.catsBench')
f(16,29629,124,1,'cats/effect/IO$.deferred')
f(17,29629,58,1,'cats/effect/IO$.apply')
f(18,29629,58,1,'cats/effect/IO$.delay')
f(19,29629,58,1,'cats/effect/IO$Delay$.apply')
f(20,29629,58,2,'cats.effect.IO$Delay')
f(17,29687,66,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,29687,66,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,29687,66,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,29687,66,2,'cats.effect.IO$$$Lambda$40+0x0000000800d134e0')
f(16,29753,38,1,'cats/effect/IO.flatMap')
f(17,29753,38,1,'cats/effect/IO$FlatMap$.apply')
f(18,29753,38,2,'cats.effect.IO$FlatMap')
f(16,29791,46,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(17,29791,46,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(18,29791,46,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(19,29791,46,2,'kyo.bench.ChainedForkBench$$Lambda$42+0x0000000800d16000')
f(1,29837,23,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,29837,23,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,29837,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,29837,23,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,29837,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,29837,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,29837,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,29837,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,29837,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,29837,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,29837,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,29837,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,29837,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,29837,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,29837,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,29837,1,2,'java.lang.Object[]')
f(7,29838,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,29838,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,29838,3,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,29841,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,29841,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,29841,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,29841,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,29841,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,29841,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,29846,14,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,29846,14,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,29846,3,1,'java/lang/ClassLoader.loadClass')
f(10,29846,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,29846,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,29846,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,29846,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,29846,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,29846,1,1,'java/security/CodeSource.<init>')
f(16,29846,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,29846,1,1,'java/lang/StringBuilder.append')
f(18,29846,1,1,'java/lang/AbstractStringBuilder.append')
f(19,29846,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,29846,1,1,'java/util/Arrays.copyOf')
f(21,29846,1,2,'byte[]')
f(15,29847,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,29847,1,1,'java/util/Arrays.copyOf')
f(17,29847,1,5,'byte[]')
f(14,29848,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,29848,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,29848,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,29848,1,1,'java/net/URL.<init>')
f(18,29848,1,1,'java/net/URL.<init>')
f(19,29848,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,29848,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,29848,1,1,'java/lang/StringBuilder.toString')
f(22,29848,1,1,'java/lang/StringLatin1.newString')
f(23,29848,1,2,'java.lang.String')
f(9,29849,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,29849,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,29849,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,29849,11,1,'java/io/ObjectStreamClass.lookup')
f(13,29849,11,1,'java/io/ObjectStreamClass.<init>')
f(14,29849,11,1,'java/security/AccessController.doPrivileged')
f(15,29849,11,1,'java/security/AccessController.executePrivileged')
f(16,29849,11,1,'java/io/ObjectStreamClass$2.run')
f(17,29849,11,1,'java/io/ObjectStreamClass$2.run')
f(18,29849,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,29849,2,1,'java/lang/Class.getDeclaredMethod')
f(20,29849,1,1,'java/lang/Class.methodToString')
f(21,29849,1,1,'java/lang/StringBuilder.append')
f(22,29849,1,1,'java/lang/AbstractStringBuilder.append')
f(23,29849,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,29849,1,1,'java/util/Arrays.copyOf')
f(25,29849,1,2,'byte[]')
f(20,29850,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,29850,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,29850,1,1,'java/lang/Exception.<init>')
f(23,29850,1,1,'java/lang/Throwable.<init>')
f(24,29850,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,29850,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,29850,1,2,'short[]')
f(18,29851,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,29851,3,1,'java/lang/Class.getDeclaredMethod')
f(20,29851,2,1,'java/lang/Class.methodToString')
f(21,29851,1,1,'java/lang/StringBuilder.append')
f(22,29851,1,1,'java/lang/AbstractStringBuilder.append')
f(23,29851,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,29851,1,1,'java/util/Arrays.copyOf')
f(25,29851,1,2,'byte[]')
f(21,29852,1,1,'java/lang/StringBuilder.toString')
f(22,29852,1,1,'java/lang/StringLatin1.newString')
f(23,29852,1,1,'java/util/Arrays.copyOfRange')
f(24,29852,1,2,'byte[]')
f(20,29853,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,29853,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,29853,1,1,'java/lang/Exception.<init>')
f(23,29853,1,1,'java/lang/Throwable.<init>')
f(24,29853,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,29853,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,29853,1,5,'long[]')
f(18,29854,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,29854,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,29854,1,1,'java/lang/Class.getDeclaredField')
f(21,29854,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,29854,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,29854,1,1,'java/lang/Exception.<init>')
f(24,29854,1,1,'java/lang/Throwable.<init>')
f(25,29854,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,29854,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,29854,1,2,'long[]')
f(18,29855,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,29855,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,29855,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,29855,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,29855,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,29855,1,1,'java/security/AccessController.doPrivileged')
f(24,29855,1,1,'java/security/AccessController.executePrivileged')
f(25,29855,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,29855,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,29855,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,29855,1,1,'java/security/AccessController.doPrivileged')
f(29,29855,1,1,'java/security/AccessController.executePrivileged')
f(30,29855,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,29855,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,29855,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,29855,1,1,'java/lang/ClassLoader.<init>')
f(34,29855,1,1,'java/lang/ClassLoader.<init>')
f(35,29855,1,1,'java/lang/ClassLoader.nameAndId')
f(36,29855,1,1,'java/lang/StringBuilder.<init>')
f(37,29855,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,29855,1,2,'byte[]')
f(23,29856,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,29856,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,29856,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,29856,1,2,'byte[]')
f(23,29857,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,29857,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,29857,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,29857,1,2,'byte[]')
f(23,29858,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,29858,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,29858,1,1,'java/lang/String.replace')
f(26,29858,1,1,'java/lang/StringLatin1.replace')
f(27,29858,1,2,'java.lang.String')
f(23,29859,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,29859,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 656px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(41);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,726,3,'all')
f(1,0,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,1,3,'thread_native_entry(Thread*)')
f(3,0,1,4,'Thread::call_run()')
f(4,0,1,4,'VMThread::run()')
f(5,0,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,0,1,4,'VMThread::evaluate_operation(VM_Operation*)')
f(7,0,1,4,'VM_Operation::evaluate()')
f(8,0,1,4,'VM_G1CollectForAllocation::doit()')
f(9,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint_helper(double)')
f(11,0,1,4,'G1CollectedHeap::evacuate_initial_collection_set(G1ParScanThreadStateSet*, bool)')
f(12,0,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(13,0,1,3,'sem_post')
f(14,0,1,5,'entry_SYSCALL_64_after_hwframe')
f(15,0,1,5,'do_syscall_64')
f(16,0,1,5,'__x64_sys_futex')
f(17,0,1,5,'do_futex')
f(18,0,1,5,'futex_wake')
f(19,0,1,5,'wake_up_q')
f(20,0,1,5,'_raw_spin_unlock_irqrestore')
f(1,1,6,3,'[unknown_Java]')
f(2,1,1,6,'cats/effect/IO$FlatMap.tag',0,1,0)
f(2,2,2,6,'cats/effect/IO$Start.tag',0,2,0)
f(2,4,2,1,'cats/effect/IOFiber.succeeded')
f(2,6,1,4,'os::javaTimeNanos()')
f(1,7,717,1,'cats/effect/unsafe/WorkerThread.run')
f(2,23,459,1,'cats/effect/IOFiber.run',89,0,0)
f(3,26,7,2,'cats/effect/IOFiber.asyncContinueSuccessfulR',5,0,0)
f(4,28,3,2,'cats/effect/ArrayStack.pop',3,0,0)
f(4,31,2,1,'cats/effect/IOFiber.succeeded')
f(5,31,2,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(6,31,2,1,'cats/effect/IOFiber.done')
f(7,31,2,1,'cats/effect/CallbackStack.apply')
f(8,31,2,1,'scala/runtime/function/JProcedure1.apply')
f(9,31,2,1,'scala/runtime/function/JProcedure1.apply')
f(10,31,2,1,'cats/effect/IO$$Lambda$90.0x0000000800d5a708.applyVoid')
f(11,31,2,1,'cats/effect/IO.$anonfun$6')
f(12,31,2,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(13,31,2,1,'cats/effect/kernel/Outcome.fold$')
f(14,31,2,1,'cats/effect/kernel/Outcome.fold')
f(15,31,2,1,'scala/runtime/function/JProcedure1.apply')
f(16,31,2,1,'scala/runtime/function/JProcedure1.apply')
f(17,31,2,1,'cats/effect/IO$$Lambda$109.0x0000000800d7a660.applyVoid')
f(18,31,2,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(19,31,2,1,'scala/runtime/function/JProcedure1.apply')
f(20,31,2,1,'scala/runtime/function/JProcedure1.apply')
f(21,31,2,1,'cats/effect/IO$$Lambda$89.0x0000000800d59720.applyVoid')
f(22,31,2,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(23,31,2,1,'scala/runtime/function/JProcedure1.apply')
f(24,31,2,1,'scala/runtime/function/JProcedure1.apply')
f(25,31,2,1,'cats/effect/IOPlatform$$Lambda$86.0x0000000800d58c50.applyVoid')
f(26,31,2,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(27,31,2,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(28,31,2,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(29,31,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(30,31,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(31,31,2,1,'java/util/concurrent/locks/LockSupport.unpark')
f(32,31,2,1,'jdk/internal/misc/Unsafe.unpark')
f(33,31,2,3,'pthread_cond_signal')
f(34,31,2,5,'entry_SYSCALL_64_after_hwframe')
f(35,31,2,5,'do_syscall_64')
f(36,31,2,5,'__x64_sys_futex')
f(37,31,2,5,'do_futex')
f(38,31,2,5,'futex_wake')
f(39,31,2,5,'wake_up_q')
f(40,31,2,5,'_raw_spin_unlock_irqrestore')
f(3,33,446,1,'cats/effect/IOFiber.execR',80,0,0)
f(4,46,25,2,'cats/effect/ArrayStack.init',22,0,0)
f(5,51,19,3,'clock_gettime')
f(6,54,16,3,'[vdso]')
f(5,70,1,4,'os::javaTimeNanos()')
f(4,71,3,2,'cats/effect/ByteStack$.push',3,0,0)
f(4,74,346,1,'cats/effect/IOFiber.runLoop')
f(5,87,3,2,'cats/effect/ContState.<init>',3,0,0)
f(6,87,3,2,'java/util/concurrent/atomic/AtomicReference.<init>',3,0,0)
f(7,87,3,2,'java/lang/Object.<init>',3,0,0)
f(5,90,3,6,'cats/effect/IO$FlatMap.tag',0,3,0)
f(5,93,6,6,'cats/effect/IO$Start.tag',0,6,0)
f(5,99,80,1,'cats/effect/IOFiber.<init>')
f(6,161,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(7,161,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(8,161,1,4,'MemAllocator::allocate() const')
f(9,161,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(10,161,1,4,'CollectedHeap::fill_with_dummy_object(HeapWordImpl**, HeapWordImpl**, bool)')
f(6,162,2,2,'cats/effect/CallbackStack$.apply',2,0,0)
f(6,164,7,2,'cats/effect/IO$.async',7,0,0)
f(7,166,5,2,'cats/effect/IO$IOCont$.apply',5,0,0)
f(6,171,2,2,'cats/effect/IO$.uncancelable',1,0,0)
f(7,171,2,2,'cats/effect/IO$Uncancelable$.apply',1,0,0)
f(8,172,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(9,172,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(10,172,1,4,'MemAllocator::allocate() const')
f(11,172,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(12,172,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(13,172,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(14,172,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(15,172,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool, unsigned int)')
f(16,172,1,4,'G1CollectedHeap::new_region(unsigned long, HeapRegionType, bool, unsigned int)')
f(17,172,1,4,'HeapRegionManager::allocate_free_region(HeapRegionType, unsigned int)')
f(6,173,6,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',6,0,0)
f(7,173,6,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',6,0,0)
f(8,173,6,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',6,0,0)
f(5,179,150,2,'cats/effect/IOFiber.scheduleFiber',62,0,0)
f(6,180,149,2,'cats/effect/unsafe/WorkStealingThreadPool.execute',61,0,0)
f(7,186,143,2,'cats/effect/unsafe/WorkerThread.schedule',55,0,0)
f(8,190,22,2,'cats/effect/unsafe/LocalQueue.enqueue',22,0,0)
f(8,212,117,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked',29,0,0)
f(9,215,26,2,'java/util/concurrent/ThreadLocalRandom.nextInt',26,0,0)
f(10,215,26,2,'java/util/Random.nextInt',26,0,0)
f(9,241,88,1,'java/util/concurrent/locks/LockSupport.unpark')
f(10,241,88,1,'jdk/internal/misc/Unsafe.unpark')
f(11,241,2,3,'Unsafe_Unpark')
f(12,241,1,4,'ThreadsListHandle::cv_internal_thread_to_JavaThread(_jobject*, JavaThread**, oopDesc**)')
f(12,242,1,4,'ThreadsListHandle::~ThreadsListHandle()')
f(11,243,86,3,'pthread_cond_signal')
f(12,248,81,5,'entry_SYSCALL_64_after_hwframe')
f(13,248,81,5,'do_syscall_64')
f(14,249,79,5,'__x64_sys_futex')
f(15,249,79,5,'do_futex')
f(16,249,79,5,'futex_wake')
f(17,250,1,5,'mark_wake_futex')
f(17,251,1,5,'try_to_wake_up')
f(17,252,76,5,'wake_up_q')
f(18,252,75,5,'_raw_spin_unlock_irqrestore')
f(18,327,1,5,'try_to_wake_up')
f(19,327,1,5,'_raw_spin_lock_irqsave')
f(14,328,1,5,'syscall_exit_to_user_mode_prepare')
f(5,329,65,1,'cats/effect/IOFiber.succeeded')
f(6,346,3,2,'cats/effect/ByteStack$.pop',3,0,0)
f(7,348,1,2,'cats/effect/ByteStack$.peek',1,0,0)
f(6,349,45,2,'cats/effect/IOFiber.runTerminusSuccessK',45,0,0)
f(7,352,8,2,'cats/effect/IO$.pure',8,0,0)
f(8,352,8,2,'cats/effect/IO$Pure$.apply',8,0,0)
f(9,352,8,2,'cats/effect/IO$Pure.<init>',8,0,0)
f(10,352,8,2,'cats/effect/IO.<init>',8,0,0)
f(11,352,8,2,'cats/effect/IOPlatform.<init>',8,0,0)
f(12,352,8,2,'java/lang/Object.<init>',8,0,0)
f(7,360,34,2,'cats/effect/IOFiber.done',34,0,0)
f(8,377,5,2,'cats/effect/CallbackStack.apply',5,0,0)
f(8,382,12,2,'cats/effect/IO$.pure',12,0,0)
f(9,384,10,2,'cats/effect/IO$Pure$.apply',10,0,0)
f(10,385,9,2,'cats/effect/IO$Pure.<init>',9,0,0)
f(11,390,4,2,'cats/effect/IO.<init>',4,0,0)
f(12,390,4,2,'cats/effect/IOPlatform.<init>',4,0,0)
f(13,392,2,2,'java/lang/Object.<init>',2,0,0)
f(5,394,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(6,394,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(7,394,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(8,394,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(9,394,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(10,394,1,4,'MemAllocator::allocate() const')
f(11,394,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(12,394,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(13,394,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(14,394,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(15,394,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool, unsigned int)')
f(5,395,16,2,'java/util/concurrent/atomic/AtomicBoolean.getAndSet',16,0,0)
f(6,395,16,2,'java/lang/invoke/VarHandleGuards.guard_LI_I',16,0,0)
f(7,402,9,2,'java/lang/invoke/VarForm.getMemberName',9,0,0)
f(5,411,9,3,'vtable stub')
f(4,420,53,3,'clock_gettime')
f(5,422,51,3,'[vdso]')
f(4,473,6,4,'os::javaTimeNanos()')
f(3,479,1,2,'cats/effect/IOFiber.readBarrier',1,0,0)
f(4,479,1,2,'java/util/concurrent/atomic/AtomicBoolean.get',1,0,0)
f(3,480,2,3,'clock_gettime')
f(4,480,2,3,'[vdso]')
f(2,482,21,2,'cats/effect/unsafe/LocalQueue.dequeue',13,0,0)
f(3,489,1,2,'cats/effect/unsafe/LocalQueue.unsignedShortAddition',1,0,0)
f(3,490,6,3,'clock_gettime')
f(4,490,6,3,'[vdso]')
f(3,496,1,1,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.compareAndSet')
f(4,496,1,1,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.accessCheck')
f(3,497,5,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',3,0,0)
f(4,498,4,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.accessCheck',3,0,0)
f(3,502,1,4,'os::javaTimeNanos()')
f(2,503,30,2,'cats/effect/unsafe/ScalQueue.poll',23,0,0)
f(3,505,25,2,'java/util/concurrent/ConcurrentLinkedQueue.poll',20,0,0)
f(4,517,8,2,'java/util/concurrent/ConcurrentLinkedQueue$Node.casItem',8,0,0)
f(5,521,4,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',4,0,0)
f(6,521,2,2,'java/lang/invoke/VarForm.getMemberName',2,0,0)
f(7,521,2,2,'java/lang/invoke/VarForm.getMemberNameOrNull',2,0,0)
f(6,523,2,2,'java/lang/invoke/VarHandle.checkExactAccessMode',2,0,0)
f(4,525,5,2,'java/util/concurrent/ConcurrentLinkedQueue.updateHead',3,0,0)
f(5,525,3,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',1,0,0)
f(6,526,2,1,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.compareAndSet')
f(5,528,2,2,'java/lang/invoke/VarHandleGuards.guard_LL_V',2,0,0)
f(6,529,1,2,'java/lang/invoke/VarForm.getMemberName',1,0,0)
f(3,530,3,2,'java/util/concurrent/ThreadLocalRandom.nextInt',2,0,0)
f(4,531,2,2,'java/util/Random.nextInt',2,0,0)
f(5,531,2,2,'java/util/concurrent/ThreadLocalRandom.next',2,0,0)
f(6,531,2,2,'java/util/concurrent/ThreadLocalRandom.nextInt',2,0,0)
f(7,531,2,2,'java/util/concurrent/ThreadLocalRandom.nextSeed',2,0,0)
f(8,531,2,2,'java/lang/Thread.getId',2,0,0)
f(2,533,30,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyIfWorkPending')
f(3,534,29,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(4,534,29,1,'java/util/concurrent/locks/LockSupport.unpark')
f(5,534,29,1,'jdk/internal/misc/Unsafe.unpark')
f(6,534,2,3,'Unsafe_Unpark')
f(7,534,2,4,'ThreadsListHandle::cv_internal_thread_to_JavaThread(_jobject*, JavaThread**, oopDesc**)')
f(6,536,27,3,'pthread_cond_signal')
f(7,537,26,5,'entry_SYSCALL_64_after_hwframe')
f(8,537,26,5,'do_syscall_64')
f(9,537,26,5,'__x64_sys_futex')
f(10,537,26,5,'do_futex')
f(11,537,26,5,'futex_wake')
f(12,538,25,5,'wake_up_q')
f(13,538,25,5,'_raw_spin_unlock_irqrestore')
f(2,563,25,1,'cats/effect/unsafe/WorkStealingThreadPool.stealFromOtherWorkerThread')
f(3,566,16,1,'cats/effect/unsafe/LocalQueue.stealInto')
f(4,568,1,2,'cats/effect/unsafe/LocalQueue.lsb',1,0,0)
f(4,569,5,2,'cats/effect/unsafe/LocalQueue.msb',5,0,0)
f(4,574,1,2,'cats/effect/unsafe/LocalQueue.unsignedShortSubtraction',1,0,0)
f(4,575,5,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.compareAndSet',5,0,0)
f(4,580,2,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',2,0,0)
f(3,582,6,2,'cats/effect/unsafe/ScalQueue.poll',6,0,0)
f(4,583,4,2,'java/util/concurrent/ConcurrentLinkedQueue.poll',4,0,0)
f(4,587,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(5,587,1,2,'java/util/Random.nextInt',1,0,0)
f(6,587,1,2,'java/util/concurrent/ThreadLocalRandom.next',1,0,0)
f(2,588,1,1,'cats/effect/unsafe/WorkStealingThreadPool.transitionWorkerToParkedWhenSearching')
f(3,588,1,1,'java/util/concurrent/atomic/AtomicInteger.getAndAdd')
f(2,589,133,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,589,133,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,589,133,1,'java/util/concurrent/locks/LockSupport.park')
f(5,589,133,1,'jdk/internal/misc/Unsafe.park')
f(6,590,13,3,'Unsafe_Park')
f(7,593,7,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,593,7,5,'entry_SYSCALL_64_after_hwframe')
f(9,593,1,5,'__x64_sys_futex')
f(9,594,5,5,'do_syscall_64')
f(10,595,1,5,'__x64_sys_futex')
f(11,595,1,5,'do_futex')
f(12,595,1,5,'hash_futex')
f(10,596,3,5,'syscall_enter_from_user_mode')
f(9,599,1,5,'syscall_enter_from_user_mode')
f(7,600,2,4,'Parker::park(bool, long)')
f(7,602,1,3,'pthread_mutex_unlock')
f(6,603,118,3,'[unknown]')
f(7,603,116,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,609,110,5,'entry_SYSCALL_64_after_hwframe')
f(9,609,110,5,'do_syscall_64')
f(10,610,94,5,'__x64_sys_futex')
f(11,611,93,5,'do_futex')
f(12,612,92,5,'futex_wait')
f(13,615,86,5,'futex_wait_queue_me')
f(14,615,86,5,'schedule')
f(15,616,85,5,'__schedule')
f(16,618,83,5,'finish_task_switch.isra.0')
f(13,701,3,5,'futex_wait_setup')
f(14,703,1,5,'get_futex_key')
f(10,704,4,5,'syscall_enter_from_user_mode')
f(10,708,11,5,'syscall_exit_to_user_mode')
f(11,709,10,5,'exit_to_user_mode_prepare')
f(12,709,1,5,'blkcg_maybe_throttle_current')
f(12,710,9,5,'exit_to_user_mode_loop')
f(13,712,7,5,'__rseq_handle_notify_resume')
f(14,713,2,5,'__put_user_nocheck_8')
f(14,715,4,5,'rseq_ip_fixup')
f(15,715,4,5,'__get_user_8')
f(7,719,1,3,'pthread_cond_wait')
f(7,720,1,3,'pthread_mutex_trylock')
f(6,721,1,4,'java_lang_Thread::set_thread_status(oopDesc*, JavaThreadStatus)')
f(2,722,2,1,'java/util/concurrent/atomic/AtomicBoolean.lazySet')
f(3,722,2,1,'java/lang/invoke/VarHandleGuards.guard_LI_V')
f(1,724,2,1,'java/lang/Thread.run')
f(2,724,2,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,724,2,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,724,2,1,'java/util/concurrent/FutureTask.run')
f(5,724,2,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,724,2,1,'java/util/concurrent/FutureTask.run')
f(7,724,2,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,724,2,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,724,2,1,'java/lang/reflect/Method.invoke')
f(10,724,2,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,724,2,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,724,2,1,'kyo/bench/jmh_generated/ChainedForkBench_syncCats_jmhTest.syncCats_Throughput')
f(13,724,2,1,'kyo/bench/jmh_generated/ChainedForkBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,724,2,1,'kyo/bench/Bench.syncCats')
f(15,724,2,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,724,2,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,724,2,1,'scala/concurrent/package$.blocking')
f(18,724,2,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,724,2,1,'cats/effect/IOPlatform$$Lambda$93.0x0000000800d5e610.apply')
f(20,724,2,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,724,2,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,724,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,724,2,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,724,2,1,'jdk/internal/misc/Unsafe.park')
f(25,724,1,3,'Unsafe_Park')
f(26,724,1,3,'pthread_mutex_unlock')
f(25,725,1,3,'[unknown]')
f(26,725,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,725,1,5,'entry_SYSCALL_64_after_hwframe')
f(28,725,1,5,'do_syscall_64')
f(29,725,1,5,'__x64_sys_futex')
f(30,725,1,5,'do_futex')
f(31,725,1,5,'futex_wait')
f(32,725,1,5,'futex_wait_queue_me')
f(33,725,1,5,'schedule')
f(34,725,1,5,'__schedule')
f(35,725,1,5,'finish_task_switch.isra.0')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,28424,3,'all')
f(1,0,25435,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,25435,1,'cats/effect/IOFiber.run')
f(3,0,11246,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,11246,1,'cats/effect/IOFiber.runLoop')
f(5,0,166,1,'cats/data/Chain$$$Lambda$112.0x0000000800dc5110.apply')
f(6,0,166,1,'cats/data/Chain$.$anonfun$1$$anonfun$1')
f(7,0,166,1,'scala/collection/immutable/List.$colon$colon')
f(8,0,166,2,'scala.collection.immutable.$colon$colon')
f(5,166,5381,1,'cats/effect/IO$$anon$2$$Lambda$105.0x0000000800dbf2f8.apply')
f(6,166,5381,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(7,166,3235,1,'cats/Eval$Defer.value')
f(8,166,3235,1,'cats/Eval$.cats$Eval$$$evaluate')
f(9,166,2682,1,'cats/Eval$.loop$1')
f(10,166,2682,1,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply')
f(11,166,2682,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(12,166,2044,1,'cats/effect/IO$$anon$2.map2Eval')
f(13,166,2044,1,'cats/effect/IO$$anon$2.map2Eval')
f(14,166,509,1,'cats/Eval$.now')
f(15,166,509,1,'cats/Now$.apply')
f(16,166,509,2,'cats.Now')
f(14,675,803,1,'cats/effect/IO.flatMap')
f(15,675,803,1,'cats/effect/IO$FlatMap$.apply')
f(16,675,803,2,'cats.effect.IO$FlatMap')
f(14,1478,732,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,1478,732,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,1478,732,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,1478,732,2,'cats.effect.IO$$anon$2$$Lambda$105+0x0000000800dbf2f8')
f(12,2210,638,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,2210,638,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,2210,638,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,2210,638,2,'cats.data.Chain$$$Lambda$104+0x0000000800dbed48')
f(9,2848,553,1,'cats/Eval$Ident$.apply')
f(10,2848,553,2,'cats.Eval$Ident')
f(7,3401,257,1,'cats/Later.value')
f(8,3401,257,1,'cats/data/Chain$$$Lambda$98.0x0000000800dbd208.apply')
f(9,3401,257,1,'cats/data/Chain$.$anonfun$1')
f(10,3401,163,1,'cats/effect/IO$$anon$2.map')
f(11,3401,163,1,'cats/effect/IO$$anon$2.map')
f(12,3401,163,1,'cats/effect/IO.map')
f(13,3401,163,1,'cats/effect/IO$Map$.apply')
f(14,3401,163,2,'cats.effect.IO$Map')
f(10,3564,94,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,3564,94,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,3564,94,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,3564,94,2,'cats.data.Chain$$$Lambda$112+0x0000000800dc5110')
f(7,3658,925,1,'cats/effect/IO.map')
f(8,3658,925,1,'cats/effect/IO$Map$.apply')
f(9,3658,925,2,'cats.effect.IO$Map')
f(7,4583,964,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,4583,964,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,4583,964,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,4583,964,2,'cats.effect.IO$$$Lambda$111+0x0000000800dc4d40')
f(5,5547,5699,1,'cats/effect/IOFiber.succeeded')
f(6,5547,128,1,'cats/data/Chain$$$Lambda$106.0x0000000800dbf6c8.apply')
f(7,5547,128,1,'cats/data/Chain$.loop$4$$anonfun$2$$anonfun$1')
f(8,5547,128,1,'cats/data/Chain$.fromSeq')
f(9,5547,128,1,'cats/data/ChainCompanionCompat.fromSeq$')
f(10,5547,128,1,'cats/data/ChainCompanionCompat.fromSeq')
f(11,5547,128,1,'cats/data/Chain$Wrap$.apply')
f(12,5547,128,2,'cats.data.Chain$Wrap')
f(6,5675,1109,1,'cats/effect/IO$$$Lambda$111.0x0000000800dc4d40.apply')
f(7,5675,1109,1,'cats/effect/IO$.map2Eval$$anonfun$1$$anonfun$1')
f(8,5675,961,1,'cats/data/Chain$$$Lambda$104.0x0000000800dbed48.apply')
f(9,5675,961,1,'cats/data/Chain$.loop$4$$anonfun$1$$anonfun$1')
f(10,5675,961,1,'scala/collection/immutable/List.$colon$colon')
f(11,5675,961,2,'scala.collection.immutable.$colon$colon')
f(8,6636,148,1,'cats/data/Chain$$$Lambda$108.0x0000000800dc4000.apply')
f(9,6636,148,1,'cats/data/Chain$.loop$4$$anonfun$3$$anonfun$1')
f(10,6636,148,1,'cats/data/Chain.concat')
f(11,6636,148,1,'cats/data/Chain$.concat')
f(12,6636,148,1,'cats/data/Chain$Append$.apply')
f(13,6636,148,2,'cats.data.Chain$Append')
f(6,6784,1325,1,'cats/effect/IO$$anon$2$$Lambda$105.0x0000000800dbf2f8.apply')
f(7,6784,1325,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(8,6784,1034,1,'cats/Eval$FlatMap.value')
f(9,6784,1034,1,'cats/Eval$.cats$Eval$$$evaluate')
f(10,6784,924,1,'cats/Eval$.loop$1')
f(11,6784,364,1,'cats/Eval$$Lambda$101.0x0000000800dbdb58.apply')
f(12,6784,364,1,'cats/Eval.map$$anonfun$1')
f(13,6784,93,1,'cats/Now$.apply')
f(14,6784,93,2,'cats.Now')
f(13,6877,271,1,'cats/data/Chain$$$Lambda$100.0x0000000800dbd788.apply')
f(14,6877,271,1,'cats/data/Chain$.loop$4$$anonfun$2')
f(15,6877,158,1,'cats/effect/IO$$anon$2.map')
f(16,6877,158,1,'cats/effect/IO$$anon$2.map')
f(17,6877,158,1,'cats/effect/IO.map')
f(18,6877,158,1,'cats/effect/IO$Map$.apply')
f(19,6877,158,2,'cats.effect.IO$Map')
f(15,7035,113,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,7035,113,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,7035,113,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,7035,113,2,'cats.data.Chain$$$Lambda$106+0x0000000800dbf6c8')
f(11,7148,560,1,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply')
f(12,7148,560,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(13,7148,434,1,'cats/effect/IO$$anon$2.map2Eval')
f(14,7148,434,1,'cats/effect/IO$$anon$2.map2Eval')
f(15,7148,84,1,'cats/Eval$.now')
f(16,7148,84,1,'cats/Now$.apply')
f(17,7148,84,2,'cats.Now')
f(15,7232,170,1,'cats/effect/IO.flatMap')
f(16,7232,170,1,'cats/effect/IO$FlatMap$.apply')
f(17,7232,170,2,'cats.effect.IO$FlatMap')
f(15,7402,180,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,7402,180,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,7402,180,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,7402,180,2,'cats.effect.IO$$anon$2$$Lambda$105+0x0000000800dbf2f8')
f(13,7582,126,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,7582,126,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,7582,126,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,7582,126,2,'cats.data.Chain$$$Lambda$104+0x0000000800dbed48')
f(10,7708,110,1,'cats/Eval$Ident$.apply')
f(11,7708,110,2,'cats.Eval$Ident')
f(8,7818,158,1,'cats/effect/IO.map')
f(9,7818,158,1,'cats/effect/IO$Map$.apply')
f(10,7818,158,2,'cats.effect.IO$Map')
f(8,7976,133,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,7976,133,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,7976,133,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,7976,133,2,'cats.effect.IO$$$Lambda$111+0x0000000800dc4d40')
f(6,8109,10,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,8109,1,1,'cats/effect/IO$.pure')
f(8,8109,1,1,'cats/effect/IO$Pure$.apply')
f(9,8109,1,2,'cats.effect.IO$Pure')
f(7,8110,7,1,'cats/effect/IOFiber.done')
f(8,8110,6,1,'cats/effect/CallbackStack.apply')
f(9,8110,6,1,'scala/runtime/function/JProcedure1.apply')
f(10,8110,6,1,'scala/runtime/function/JProcedure1.apply')
f(11,8110,6,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cde8.applyVoid')
f(12,8110,6,1,'cats/effect/IO.$anonfun$6')
f(13,8110,6,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,8110,6,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,8110,6,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,8110,1,2,'cats.effect.IO$$Lambda$114+0x0000000800dc3000')
f(16,8111,3,2,'cats.effect.IO$$Lambda$115+0x0000000800dc32c0')
f(16,8114,2,2,'cats.effect.IO$$Lambda$116+0x0000000800dc36c8')
f(8,8116,1,1,'cats/effect/IO$.pure')
f(9,8116,1,1,'cats/effect/IO$Pure$.apply')
f(10,8116,1,2,'cats.effect.IO$Pure')
f(7,8117,2,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,8117,2,2,'cats.effect.kernel.Outcome$Succeeded')
f(6,8119,2128,1,'cats/instances/ListInstances$$anon$1$$Lambda$109.0x0000000800dc45b0.apply')
f(7,8119,2128,1,'cats/instances/ListInstances.cats$instances$ListInstances$$anon$1$$_$traverse$$anonfun$1')
f(8,8119,2128,1,'cats/data/Chain.toList')
f(9,8119,2,2,'cats.data.Chain$ChainIterator')
f(9,8121,2126,1,'cats/data/Chain$ChainIterator.toList')
f(10,8121,2126,1,'scala/collection/IterableOnceOps.toList$')
f(11,8121,2126,1,'scala/collection/IterableOnceOps.toList')
f(12,8121,2126,1,'scala/collection/immutable/List.prependedAll')
f(13,8121,390,1,'cats/data/Chain$ChainIterator.next')
f(14,8121,390,1,'cats/data/Chain$ChainIterator.go$3')
f(15,8121,221,1,'scala/collection/immutable/List.$colon$colon')
f(16,8121,221,2,'scala.collection.immutable.$colon$colon')
f(15,8342,169,1,'scala/collection/immutable/List.iterator')
f(16,8342,169,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator$')
f(17,8342,169,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator')
f(18,8342,169,2,'scala.collection.StrictOptimizedLinearSeqOps$$anon$1')
f(13,8511,1736,2,'scala.collection.immutable.$colon$colon')
f(6,10247,999,1,'kyo/bench/CollectAllBench$$Lambda$110.0x0000000800dc4978.apply')
f(7,10247,2,1,'java/lang/Long.valueOf')
f(8,10247,2,2,'java.lang.Long')
f(7,10249,997,1,'kyo/bench/CollectAllBench.catsBench$$anonfun$1')
f(8,10249,997,1,'scala/collection/AbstractIterable.sum')
f(9,10249,997,1,'scala/collection/IterableOnceOps.sum$')
f(10,10249,997,1,'scala/collection/IterableOnceOps.sum')
f(11,10249,997,1,'scala/collection/AbstractIterable.reduce')
f(12,10249,997,1,'scala/collection/IterableOnceOps.reduce$')
f(13,10249,997,1,'scala/collection/IterableOnceOps.reduce')
f(14,10249,997,1,'scala/collection/AbstractIterable.reduceLeft')
f(15,10249,997,1,'scala/collection/IterableOnceOps.reduceLeft$')
f(16,10249,997,1,'scala/collection/IterableOnceOps.reduceLeft')
f(17,10249,996,1,'scala/collection/IterableOnceOps$$Lambda$113.0x0000000800dc73c8.apply')
f(18,10249,996,1,'scala/collection/IterableOnceOps.$anonfun$sum$1')
f(19,10249,996,1,'scala/math/Numeric$IntIsIntegral$.plus')
f(20,10249,996,1,'scala/runtime/BoxesRunTime.boxToInteger')
f(21,10249,996,1,'java/lang/Integer.valueOf')
f(22,10249,996,2,'java.lang.Integer')
f(17,11245,1,1,'scala/collection/immutable/List.iterator')
f(18,11245,1,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator$')
f(19,11245,1,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator')
f(20,11245,1,2,'scala.collection.StrictOptimizedLinearSeqOps$$anon$1')
f(3,11246,13817,1,'cats/effect/IOFiber.cedeR')
f(4,11246,3332,1,'cats/effect/IOFiber.runLoop')
f(5,11246,68,1,'cats/data/Chain$$$Lambda$112.0x0000000800dc5110.apply')
f(6,11246,68,1,'cats/data/Chain$.$anonfun$1$$anonfun$1')
f(7,11246,68,1,'scala/collection/immutable/List.$colon$colon')
f(8,11246,68,2,'scala.collection.immutable.$colon$colon')
f(5,11314,130,1,'cats/effect/ArrayStack.push')
f(6,11314,130,1,'cats/effect/ArrayStack.checkAndGrow')
f(7,11314,130,2,'java.lang.Object[]')
f(5,11444,19,1,'cats/effect/ByteStack$.push')
f(6,11444,19,1,'cats/effect/ByteStack$.growIfNeeded')
f(7,11444,19,2,'int[]')
f(5,11463,2119,1,'cats/effect/IO$$anon$2$$Lambda$105.0x0000000800dbf2f8.apply')
f(6,11463,2119,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(7,11463,1272,1,'cats/Eval$Defer.value')
f(8,11463,1272,1,'cats/Eval$.cats$Eval$$$evaluate')
f(9,11463,1059,1,'cats/Eval$.loop$1')
f(10,11463,1059,1,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply')
f(11,11463,1059,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(12,11463,835,1,'cats/effect/IO$$anon$2.map2Eval')
f(13,11463,835,1,'cats/effect/IO$$anon$2.map2Eval')
f(14,11463,263,1,'cats/Eval$.now')
f(15,11463,263,1,'cats/Now$.apply')
f(16,11463,263,2,'cats.Now')
f(14,11726,311,1,'cats/effect/IO.flatMap')
f(15,11726,311,1,'cats/effect/IO$FlatMap$.apply')
f(16,11726,311,2,'cats.effect.IO$FlatMap')
f(14,12037,261,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,12037,261,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,12037,261,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,12037,261,2,'cats.effect.IO$$anon$2$$Lambda$105+0x0000000800dbf2f8')
f(12,12298,224,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,12298,224,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,12298,224,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,12298,224,2,'cats.data.Chain$$$Lambda$104+0x0000000800dbed48')
f(9,12522,213,1,'cats/Eval$Ident$.apply')
f(10,12522,213,2,'cats.Eval$Ident')
f(7,12735,100,1,'cats/Later.value')
f(8,12735,100,1,'cats/data/Chain$$$Lambda$98.0x0000000800dbd208.apply')
f(9,12735,100,1,'cats/data/Chain$.$anonfun$1')
f(10,12735,55,1,'cats/effect/IO$$anon$2.map')
f(11,12735,55,1,'cats/effect/IO$$anon$2.map')
f(12,12735,55,1,'cats/effect/IO.map')
f(13,12735,55,1,'cats/effect/IO$Map$.apply')
f(14,12735,55,2,'cats.effect.IO$Map')
f(10,12790,45,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,12790,45,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,12790,45,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,12790,45,2,'cats.data.Chain$$$Lambda$112+0x0000000800dc5110')
f(7,12835,358,1,'cats/effect/IO.map')
f(8,12835,358,1,'cats/effect/IO$Map$.apply')
f(9,12835,358,2,'cats.effect.IO$Map')
f(7,13193,389,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,13193,389,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,13193,389,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,13193,389,2,'cats.effect.IO$$$Lambda$111+0x0000000800dc4d40')
f(5,13582,996,1,'cats/effect/IOFiber.succeeded')
f(6,13582,45,1,'cats/data/Chain$$$Lambda$106.0x0000000800dbf6c8.apply')
f(7,13582,45,1,'cats/data/Chain$.loop$4$$anonfun$2$$anonfun$1')
f(8,13582,45,1,'cats/data/Chain$.fromSeq')
f(9,13582,45,1,'cats/data/ChainCompanionCompat.fromSeq$')
f(10,13582,45,1,'cats/data/ChainCompanionCompat.fromSeq')
f(11,13582,45,1,'cats/data/Chain$Wrap$.apply')
f(12,13582,45,2,'cats.data.Chain$Wrap')
f(6,13627,448,1,'cats/effect/IO$$$Lambda$111.0x0000000800dc4d40.apply')
f(7,13627,448,1,'cats/effect/IO$.map2Eval$$anonfun$1$$anonfun$1')
f(8,13627,372,1,'cats/data/Chain$$$Lambda$104.0x0000000800dbed48.apply')
f(9,13627,372,1,'cats/data/Chain$.loop$4$$anonfun$1$$anonfun$1')
f(10,13627,372,1,'scala/collection/immutable/List.$colon$colon')
f(11,13627,372,2,'scala.collection.immutable.$colon$colon')
f(8,13999,76,1,'cats/data/Chain$$$Lambda$108.0x0000000800dc4000.apply')
f(9,13999,76,1,'cats/data/Chain$.loop$4$$anonfun$3$$anonfun$1')
f(10,13999,76,1,'cats/data/Chain.concat')
f(11,13999,76,1,'cats/data/Chain$.concat')
f(12,13999,76,1,'cats/data/Chain$Append$.apply')
f(13,13999,76,2,'cats.data.Chain$Append')
f(6,14075,503,1,'cats/effect/IO$$anon$2$$Lambda$105.0x0000000800dbf2f8.apply')
f(7,14075,503,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(8,14075,385,1,'cats/Eval$FlatMap.value')
f(9,14075,385,1,'cats/Eval$.cats$Eval$$$evaluate')
f(10,14075,337,1,'cats/Eval$.loop$1')
f(11,14075,148,1,'cats/Eval$$Lambda$101.0x0000000800dbdb58.apply')
f(12,14075,148,1,'cats/Eval.map$$anonfun$1')
f(13,14075,37,1,'cats/Now$.apply')
f(14,14075,37,2,'cats.Now')
f(13,14112,111,1,'cats/data/Chain$$$Lambda$100.0x0000000800dbd788.apply')
f(14,14112,111,1,'cats/data/Chain$.loop$4$$anonfun$2')
f(15,14112,64,1,'cats/effect/IO$$anon$2.map')
f(16,14112,64,1,'cats/effect/IO$$anon$2.map')
f(17,14112,64,1,'cats/effect/IO.map')
f(18,14112,64,1,'cats/effect/IO$Map$.apply')
f(19,14112,64,2,'cats.effect.IO$Map')
f(15,14176,47,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,14176,47,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,14176,47,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,14176,47,2,'cats.data.Chain$$$Lambda$106+0x0000000800dbf6c8')
f(11,14223,189,1,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply')
f(12,14223,189,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(13,14223,150,1,'cats/effect/IO$$anon$2.map2Eval')
f(14,14223,150,1,'cats/effect/IO$$anon$2.map2Eval')
f(15,14223,33,1,'cats/Eval$.now')
f(16,14223,33,1,'cats/Now$.apply')
f(17,14223,33,2,'cats.Now')
f(15,14256,49,1,'cats/effect/IO.flatMap')
f(16,14256,49,1,'cats/effect/IO$FlatMap$.apply')
f(17,14256,49,2,'cats.effect.IO$FlatMap')
f(15,14305,68,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,14305,68,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,14305,68,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,14305,68,2,'cats.effect.IO$$anon$2$$Lambda$105+0x0000000800dbf2f8')
f(13,14373,39,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,14373,39,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,14373,39,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,14373,39,2,'cats.data.Chain$$$Lambda$104+0x0000000800dbed48')
f(10,14412,48,1,'cats/Eval$Ident$.apply')
f(11,14412,48,2,'cats.Eval$Ident')
f(8,14460,71,1,'cats/effect/IO.map')
f(9,14460,71,1,'cats/effect/IO$Map$.apply')
f(10,14460,71,2,'cats.effect.IO$Map')
f(8,14531,47,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,14531,47,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,14531,47,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,14531,47,2,'cats.effect.IO$$$Lambda$111+0x0000000800dc4d40')
f(4,14578,10485,1,'cats/effect/IOFiber.succeeded')
f(5,14578,10485,1,'kyo/bench/Bench$$Lambda$40.0x0000000800d12870.apply')
f(6,14578,10485,1,'kyo/bench/Bench.forkCats$$anonfun$1')
f(7,14578,10485,1,'kyo/bench/CollectAllBench.catsBench')
f(8,14578,6845,1,'cats/Traverse$ToTraverseOps$$anon$3.sequence')
f(9,14578,6845,1,'cats/Traverse$Ops.sequence$')
f(10,14578,6845,1,'cats/Traverse$Ops.sequence')
f(11,14578,6845,1,'cats/instances/ListInstances$$anon$1.sequence')
f(12,14578,6845,1,'cats/Traverse.sequence$')
f(13,14578,6845,1,'cats/Traverse.sequence')
f(14,14578,6845,1,'cats/instances/ListInstances$$anon$1.traverse')
f(15,14578,6845,1,'cats/instances/ListInstances$$anon$1.traverse')
f(16,14578,6238,1,'cats/data/Chain$.traverseViaChain')
f(17,14578,1444,1,'cats/Eval$FlatMap.value')
f(18,14578,1444,1,'cats/Eval$.cats$Eval$$$evaluate')
f(19,14578,1444,1,'cats/Eval$.loop$1')
f(20,14578,3,1,'cats/Eval$$Lambda$101.0x0000000800dbdb58.apply')
f(21,14578,3,1,'cats/Eval.map$$anonfun$1')
f(22,14578,3,1,'cats/data/Chain$$$Lambda$100.0x0000000800dbd788.apply')
f(23,14578,3,1,'cats/data/Chain$.loop$4$$anonfun$2')
f(24,14578,2,1,'cats/effect/IO$$anon$2.map')
f(25,14578,2,1,'cats/effect/IO$$anon$2.map')
f(26,14578,2,1,'cats/effect/IO.map')
f(27,14578,2,1,'cats/effect/IO$Map$.apply')
f(28,14578,2,2,'cats.effect.IO$Map')
f(24,14580,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(25,14580,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(26,14580,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(27,14580,1,2,'cats.data.Chain$$$Lambda$106+0x0000000800dbf6c8')
f(20,14581,2,1,'cats/Eval$$anon$1$$Lambda$103.0x0000000800dbe538.apply')
f(21,14581,2,1,'cats/Eval$$anon$1.$init$$$anonfun$1')
f(22,14581,2,2,'cats.Eval$$anon$2')
f(20,14583,451,1,'cats/Eval$$anon$2$$Lambda$107.0x0000000800dbfcb8.apply')
f(21,14583,451,1,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2')
f(22,14583,449,1,'cats/Eval$$anon$1$$Lambda$103.0x0000000800dbe538.apply')
f(23,14583,449,1,'cats/Eval$$anon$1.$init$$$anonfun$1')
f(24,14583,233,2,'cats.Eval$$anon$2')
f(24,14816,216,1,'cats/Eval$$anon$2.<init>')
f(25,14816,216,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(26,14816,216,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(27,14816,216,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(28,14816,216,2,'cats.Eval$$anon$2$$Lambda$107+0x0000000800dbfcb8')
f(22,15032,2,1,'cats/data/Chain$$$Lambda$102.0x0000000800dbdf28.apply')
f(23,15032,2,1,'cats/data/Chain$.loop$4$$anonfun$3')
f(24,15032,2,1,'cats/effect/IO$$anon$2.map2Eval')
f(25,15032,2,1,'cats/effect/IO$$anon$2.map2Eval')
f(26,15032,1,1,'cats/effect/IO.flatMap')
f(27,15032,1,1,'cats/effect/IO$FlatMap$.apply')
f(28,15032,1,2,'cats.effect.IO$FlatMap')
f(26,15033,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(27,15033,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(28,15033,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(29,15033,1,2,'cats.effect.IO$$anon$2$$Lambda$105+0x0000000800dbf2f8')
f(20,15034,220,1,'cats/Eval$Many$.apply')
f(21,15034,220,2,'cats.Eval$Many')
f(20,15254,747,1,'cats/data/Chain$$$Lambda$102.0x0000000800dbdf28.apply')
f(21,15254,747,1,'cats/data/Chain$.loop$4$$anonfun$3')
f(22,15254,612,1,'cats/effect/IO$$anon$2.map2Eval')
f(23,15254,612,1,'cats/effect/IO$$anon$2.map2Eval')
f(24,15254,143,1,'cats/Eval$.now')
f(25,15254,143,1,'cats/Now$.apply')
f(26,15254,143,2,'cats.Now')
f(24,15397,222,1,'cats/effect/IO.flatMap')
f(25,15397,222,1,'cats/effect/IO$FlatMap$.apply')
f(26,15397,222,2,'cats.effect.IO$FlatMap')
f(24,15619,247,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(25,15619,247,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(26,15619,247,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(27,15619,247,2,'cats.effect.IO$$anon$2$$Lambda$105+0x0000000800dbf2f8')
f(22,15866,135,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(23,15866,135,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(24,15866,135,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(25,15866,135,2,'cats.data.Chain$$$Lambda$108+0x0000000800dc4000')
f(20,16001,16,1,'cats/data/Chain$$$Lambda$97.0x0000000800dbcc48.apply')
f(21,16001,16,1,'cats/data/Chain$.$anonfun$2')
f(22,16001,16,1,'cats/data/Chain$.loop$4')
f(23,16001,4,1,'cats/Eval$.defer')
f(24,16001,4,2,'cats.Eval$$anon$5')
f(23,16005,2,1,'cats/Eval$.later')
f(24,16005,2,2,'cats.Later')
f(23,16007,3,1,'cats/Eval.map')
f(24,16007,2,1,'cats/Eval.flatMap')
f(25,16007,2,2,'cats.Eval$$anon$3')
f(24,16009,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(25,16009,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(26,16009,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(27,16009,1,2,'cats.Eval$$Lambda$101+0x0000000800dbdb58')
f(23,16010,7,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(24,16010,7,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800dc2000.newInvokeSpecial')
f(25,16010,7,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(26,16010,7,2,'cats.data.Chain$$$Lambda$99+0x0000000800dbd4c8')
f(20,16017,5,1,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply')
f(21,16017,5,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(22,16017,5,1,'cats/effect/IO$$anon$2.map2Eval')
f(23,16017,5,1,'cats/effect/IO$$anon$2.map2Eval')
f(24,16017,2,1,'cats/Eval$.now')
f(25,16017,2,1,'cats/Now$.apply')
f(26,16017,2,2,'cats.Now')
f(24,16019,2,1,'cats/effect/IO.flatMap')
f(25,16019,2,1,'cats/effect/IO$FlatMap$.apply')
f(26,16019,2,2,'cats.effect.IO$FlatMap')
f(24,16021,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(25,16021,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(26,16021,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(27,16021,1,2,'cats.effect.IO$$anon$2$$Lambda$105+0x0000000800dbf2f8')
f(17,16022,4794,1,'cats/data/Chain$.loop$4')
f(18,16022,2,1,'cats/Eval$.defer')
f(19,16022,2,2,'cats.Eval$$anon$5')
f(18,16024,501,1,'cats/Eval.flatMap')
f(19,16024,221,2,'cats.Eval$$anon$1')
f(19,16245,1,2,'cats.Eval$$anon$3')
f(19,16246,279,1,'cats/Eval$$anon$1.<init>')
f(20,16246,279,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,16246,279,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,16246,279,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,16246,279,2,'cats.Eval$$anon$1$$Lambda$103+0x0000000800dbe538')
f(18,16525,4071,1,'cats/data/Chain$.loop$4')
f(19,16525,911,1,'cats/Eval$.defer')
f(20,16525,911,2,'cats.Eval$$anon$5')
f(19,17436,323,1,'cats/Eval$.later')
f(20,17436,323,2,'cats.Later')
f(19,17759,387,1,'cats/Eval.map')
f(20,17759,240,1,'cats/Eval.flatMap')
f(21,17759,240,2,'cats.Eval$$anon$3')
f(20,17999,147,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,17999,147,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,17999,147,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,17999,147,2,'cats.Eval$$Lambda$101+0x0000000800dbdb58')
f(19,18146,2117,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,18146,244,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(21,18146,244,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,18146,244,2,'cats.data.Chain$$$Lambda$100+0x0000000800dbd788')
f(20,18390,1873,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800dc2000.newInvokeSpecial')
f(21,18390,1873,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,18390,1873,2,'cats.data.Chain$$$Lambda$99+0x0000000800dbd4c8')
f(19,20263,333,1,'java/lang/invoke/LambdaForm$MH.0x0000000800dc1c00.linkToTargetMethod')
f(20,20263,333,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800dc1400.newInvokeSpecial')
f(21,20263,333,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,20263,333,2,'cats.data.Chain$$$Lambda$98+0x0000000800dbd208')
f(18,20596,218,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,20596,218,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,20596,218,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,20596,218,2,'cats.data.Chain$$$Lambda$102+0x0000000800dbdf28')
f(18,20814,2,1,'java/lang/invoke/LambdaForm$MH.0x0000000800dc0c00.linkToTargetMethod')
f(19,20814,2,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800dc0400.newInvokeSpecial')
f(20,20814,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,20814,2,2,'cats.data.Chain$$$Lambda$97+0x0000000800dbcc48')
f(16,20816,2,1,'cats/effect/IO$$anon$2.map')
f(17,20816,2,1,'cats/effect/IO$$anon$2.map')
f(18,20816,2,1,'cats/effect/IO.map')
f(19,20816,2,1,'cats/effect/IO$Map$.apply')
f(20,20816,2,2,'cats.effect.IO$Map')
f(16,20818,36,1,'cats/kernel/instances/StaticMethods$.wrapMutableIndexedSeq')
f(17,20818,36,2,'cats.kernel.instances.StaticMethods$WrappedIndexedSeq')
f(16,20854,1,2,'java.lang.Object[]')
f(16,20855,563,1,'scala/collection/mutable/AbstractBuffer.$plus$plus$eq')
f(17,20855,563,1,'scala/collection/mutable/Growable.$plus$plus$eq$')
f(18,20855,563,1,'scala/collection/mutable/Growable.$plus$plus$eq')
f(19,20855,563,1,'scala/collection/mutable/ArrayBuffer.addAll')
f(20,20855,563,1,'scala/collection/mutable/ArrayBuffer.addAll')
f(21,20855,563,1,'scala/collection/mutable/Growable.addAll$')
f(22,20855,563,1,'scala/collection/mutable/Growable.addAll')
f(23,20855,563,1,'scala/collection/mutable/ArrayBuffer.addOne')
f(24,20855,563,1,'scala/collection/mutable/ArrayBuffer.addOne')
f(25,20855,563,1,'scala/collection/mutable/ArrayBuffer.ensureAdditionalSize')
f(26,20855,563,1,'scala/collection/mutable/ArrayBuffer$.scala$collection$mutable$ArrayBuffer$$ensureSize')
f(27,20855,502,2,'java.lang.Object[]')
f(27,21357,61,5,'java.lang.Object[]')
f(16,21418,4,1,'scala/collection/mutable/ArrayBuffer$.apply')
f(17,21418,4,1,'scala/collection/IterableFactory.apply$')
f(18,21418,4,1,'scala/collection/IterableFactory.apply')
f(19,21418,4,1,'scala/collection/mutable/ArrayBuffer$.from')
f(20,21418,4,1,'scala/collection/mutable/ArrayBuffer$.from')
f(21,21418,4,2,'scala.collection.mutable.ArrayBuffer')
f(16,21422,1,1,'scala/runtime/ScalaRunTime$.genericWrapArray')
f(17,21422,1,1,'scala/collection/immutable/ArraySeq$.unsafeWrapArray')
f(18,21422,1,2,'scala.collection.immutable.ArraySeq$ofRef')
f(8,21423,2,1,'cats/effect/IO.map')
f(9,21423,2,1,'cats/effect/IO$Map$.apply')
f(10,21423,2,2,'cats.effect.IO$Map')
f(8,21425,1647,1,'scala/collection/AbstractIterable.toList')
f(9,21425,1647,1,'scala/collection/IterableOnceOps.toList$')
f(10,21425,1647,1,'scala/collection/IterableOnceOps.toList')
f(11,21425,1647,1,'scala/collection/immutable/List.prependedAll')
f(12,21425,1642,2,'scala.collection.immutable.$colon$colon')
f(12,23067,5,1,'scala/collection/immutable/Vector.iterator')
f(13,23067,5,2,'scala.collection.immutable.NewVectorIterator')
f(8,23072,1991,1,'scala/collection/immutable/Range.map')
f(9,23072,1637,1,'kyo/bench/CollectAllBench$$Lambda$92.0x0000000800d5f8e8.apply')
f(10,23072,1637,1,'kyo/bench/CollectAllBench.$anonfun$adapted$2')
f(11,23072,1637,1,'kyo/bench/CollectAllBench.$anonfun$3')
f(12,23072,1637,1,'cats/effect/IO$.apply')
f(13,23072,1637,1,'cats/effect/IO$.delay')
f(14,23072,1637,1,'cats/effect/IO$Delay$.apply')
f(15,23072,1637,2,'cats.effect.IO$Delay')
f(9,24709,17,1,'scala/collection/SeqFactory$Delegate.newBuilder')
f(10,24709,17,1,'scala/collection/immutable/Vector$.newBuilder')
f(11,24709,17,1,'scala/collection/immutable/Vector$.newBuilder')
f(12,24709,4,2,'scala.collection.immutable.VectorBuilder')
f(12,24713,13,1,'scala/collection/immutable/VectorBuilder.<init>')
f(13,24713,13,2,'java.lang.Object[]')
f(9,24726,327,1,'scala/collection/immutable/VectorBuilder.addOne')
f(10,24726,327,1,'scala/collection/immutable/VectorBuilder.addOne')
f(11,24726,327,1,'scala/collection/immutable/VectorBuilder.advance')
f(12,24726,327,1,'scala/collection/immutable/VectorBuilder.advance1')
f(13,24726,16,2,'java.lang.Object[][]')
f(13,24742,311,2,'java.lang.Object[]')
f(9,25053,10,1,'scala/collection/immutable/VectorBuilder.result')
f(10,25053,10,1,'scala/collection/immutable/VectorBuilder.result')
f(11,25053,3,1,'java/util/Arrays.copyOf')
f(12,25053,3,2,'java.lang.Object[]')
f(11,25056,7,1,'java/util/Arrays.copyOfRange')
f(12,25056,7,2,'java.lang.Object[][]')
f(3,25063,372,1,'cats/effect/IOFiber.execR')
f(4,25063,10,1,'cats/effect/ArrayStack.init')
f(5,25063,10,2,'java.lang.Object[]')
f(4,25073,362,1,'cats/effect/ByteStack$.create')
f(5,25073,362,2,'int[]')
f(1,25435,1,2,'java.lang.String')
f(1,25436,2965,1,'java/lang/Thread.run')
f(2,25436,2965,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,25436,2965,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,25436,2965,1,'java/util/concurrent/FutureTask.run')
f(5,25436,2965,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,25436,2965,1,'java/util/concurrent/FutureTask.run')
f(7,25436,2965,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,25436,2965,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,25436,2965,1,'java/lang/reflect/Method.invoke')
f(10,25436,2965,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,25436,2965,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,25436,2965,1,'kyo/bench/jmh_generated/CollectAllBench_forkCats_jmhTest.forkCats_Throughput')
f(13,25436,2965,1,'kyo/bench/jmh_generated/CollectAllBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,25436,2965,1,'kyo/bench/Bench.forkCats')
f(15,25436,55,1,'cats/effect/IO.flatMap')
f(16,25436,55,1,'cats/effect/IO$FlatMap$.apply')
f(17,25436,55,2,'cats.effect.IO$FlatMap')
f(15,25491,2836,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,25491,2768,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,25491,1599,1,'cats/effect/IO.unsafeRunAsync')
f(18,25491,1375,1,'cats/effect/IO.unsafeRunFiber')
f(19,25491,342,2,'cats.effect.IOFiber')
f(19,25833,809,1,'cats/effect/IOFiber.<init>')
f(20,25833,149,1,'cats/effect/ArrayStack$.apply')
f(21,25833,149,2,'cats.effect.ArrayStack')
f(20,25982,134,1,'cats/effect/CallbackStack$.apply')
f(21,25982,134,2,'cats.effect.CallbackStack')
f(20,26116,204,1,'cats/effect/IO$.async')
f(21,26116,103,2,'cats.effect.IO$$anon$4')
f(21,26219,101,1,'cats/effect/IO$IOCont$.apply')
f(22,26219,101,2,'cats.effect.IO$IOCont')
f(20,26320,114,1,'cats/effect/IO$.uncancelable')
f(21,26320,114,1,'cats/effect/IO$Uncancelable$.apply')
f(22,26320,114,2,'cats.effect.IO$Uncancelable')
f(20,26434,208,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,26434,208,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,26434,208,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,26434,115,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5dc20')
f(23,26549,93,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5e210')
f(19,26642,88,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,26642,88,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,26642,88,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,26642,88,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,26642,88,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,26730,136,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,26730,136,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,26730,136,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,26730,136,2,'cats.effect.IO$$Lambda$88+0x0000000800d5cde8')
f(18,26866,224,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,26866,224,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,26866,224,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,26866,79,2,'cats.effect.IO$$Lambda$85+0x0000000800d57548')
f(21,26945,48,2,'cats.effect.IO$$Lambda$86+0x0000000800d57808')
f(21,26993,97,2,'cats.effect.IO$$Lambda$87+0x0000000800d5c000')
f(17,27090,239,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,27329,49,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,27329,49,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,27329,49,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,27329,49,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d57140')
f(17,27378,621,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,27378,621,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,27378,126,2,'java.lang.Object[]')
f(19,27504,105,2,'java.util.concurrent.locks.ReentrantLock')
f(19,27609,132,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,27609,132,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,27741,258,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,27741,258,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,27741,258,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,27999,180,1,'scala/concurrent/package$.blocking')
f(18,27999,180,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,27999,180,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5ebf0.apply')
f(20,27999,180,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,27999,180,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,27999,180,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,27999,180,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,28179,80,1,'scala/util/Either.fold')
f(18,28179,80,1,'cats/effect/IOPlatform$$Lambda$118.0x0000000800dc8000.apply')
f(19,28179,80,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,28179,80,1,'scala/Some$.apply')
f(21,28179,80,2,'scala.Some')
f(16,28259,68,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,28259,68,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,28259,68,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,28259,68,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,28259,68,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,28259,68,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,28259,68,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,28259,68,2,'scala.concurrent.duration.FiniteDuration')
f(15,28327,74,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,28327,74,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,28327,74,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,28327,74,2,'kyo.bench.Bench$$Lambda$40+0x0000000800d12870')
f(1,28401,23,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,28401,23,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,28401,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,28401,23,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,28401,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,28401,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,28401,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,28401,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,28401,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,28401,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,28401,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,28401,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,28401,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,28401,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,28401,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,28401,1,2,'java.lang.Object[]')
f(7,28402,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,28402,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,28402,2,2,'java.util.concurrent.LinkedBlockingQueue')
f(9,28404,1,1,'java/util/concurrent/LinkedBlockingQueue.<init>')
f(10,28404,1,1,'java/util/concurrent/LinkedBlockingQueue.<init>')
f(11,28404,1,2,'java.util.concurrent.locks.ReentrantLock')
f(8,28405,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,28405,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,28405,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,28405,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,28405,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,28405,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,28410,14,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,28410,14,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,28410,3,1,'java/lang/ClassLoader.loadClass')
f(10,28410,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,28410,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,28410,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,28410,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,28410,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,28410,1,1,'java/security/CodeSource.<init>')
f(16,28410,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,28410,1,1,'java/lang/StringBuilder.append')
f(18,28410,1,1,'java/lang/AbstractStringBuilder.append')
f(19,28410,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,28410,1,1,'java/util/Arrays.copyOf')
f(21,28410,1,2,'byte[]')
f(15,28411,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,28411,1,1,'java/util/Arrays.copyOf')
f(17,28411,1,5,'byte[]')
f(14,28412,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,28412,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,28412,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,28412,1,1,'java/net/URL.<init>')
f(18,28412,1,1,'java/net/URL.<init>')
f(19,28412,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,28412,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,28412,1,1,'java/lang/StringBuilder.toString')
f(22,28412,1,1,'java/lang/StringLatin1.newString')
f(23,28412,1,2,'java.lang.String')
f(9,28413,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,28413,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,28413,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,28413,11,1,'java/io/ObjectStreamClass.lookup')
f(13,28413,11,1,'java/io/ObjectStreamClass.<init>')
f(14,28413,11,1,'java/security/AccessController.doPrivileged')
f(15,28413,11,1,'java/security/AccessController.executePrivileged')
f(16,28413,11,1,'java/io/ObjectStreamClass$2.run')
f(17,28413,11,1,'java/io/ObjectStreamClass$2.run')
f(18,28413,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,28413,2,1,'java/lang/Class.getDeclaredMethod')
f(20,28413,1,1,'java/lang/Class.methodToString')
f(21,28413,1,1,'java/lang/StringBuilder.append')
f(22,28413,1,1,'java/lang/AbstractStringBuilder.append')
f(23,28413,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,28413,1,1,'java/util/Arrays.copyOf')
f(25,28413,1,2,'byte[]')
f(20,28414,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,28414,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,28414,1,1,'java/lang/Exception.<init>')
f(23,28414,1,1,'java/lang/Throwable.<init>')
f(24,28414,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,28414,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,28414,1,2,'short[]')
f(18,28415,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,28415,3,1,'java/lang/Class.getDeclaredMethod')
f(20,28415,2,1,'java/lang/Class.methodToString')
f(21,28415,1,1,'java/lang/StringBuilder.append')
f(22,28415,1,1,'java/lang/AbstractStringBuilder.append')
f(23,28415,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,28415,1,1,'java/util/Arrays.copyOf')
f(25,28415,1,2,'byte[]')
f(21,28416,1,1,'java/lang/StringBuilder.toString')
f(22,28416,1,1,'java/lang/StringLatin1.newString')
f(23,28416,1,1,'java/util/Arrays.copyOfRange')
f(24,28416,1,2,'byte[]')
f(20,28417,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,28417,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,28417,1,1,'java/lang/Exception.<init>')
f(23,28417,1,1,'java/lang/Throwable.<init>')
f(24,28417,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,28417,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,28417,1,5,'long[]')
f(18,28418,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,28418,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,28418,1,1,'java/lang/Class.getDeclaredField')
f(21,28418,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,28418,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,28418,1,1,'java/lang/Exception.<init>')
f(24,28418,1,1,'java/lang/Throwable.<init>')
f(25,28418,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,28418,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,28418,1,2,'long[]')
f(18,28419,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,28419,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,28419,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,28419,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,28419,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,28419,1,1,'java/security/AccessController.doPrivileged')
f(24,28419,1,1,'java/security/AccessController.executePrivileged')
f(25,28419,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,28419,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,28419,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,28419,1,1,'java/security/AccessController.doPrivileged')
f(29,28419,1,1,'java/security/AccessController.executePrivileged')
f(30,28419,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,28419,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,28419,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,28419,1,1,'java/lang/ClassLoader.<init>')
f(34,28419,1,1,'java/lang/ClassLoader.<init>')
f(35,28419,1,1,'java/lang/ClassLoader.nameAndId')
f(36,28419,1,1,'java/lang/StringBuilder.<init>')
f(37,28419,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,28419,1,2,'byte[]')
f(23,28420,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,28420,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,28420,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,28420,1,2,'byte[]')
f(23,28421,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,28421,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,28421,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,28421,1,2,'byte[]')
f(23,28422,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,28422,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,28422,1,1,'java/lang/String.replace')
f(26,28422,1,1,'java/lang/StringLatin1.replace')
f(27,28422,1,2,'java.lang.String')
f(23,28423,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,28423,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 672px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(42);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,462,3,'all')
f(1,0,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,1,3,'thread_native_entry(Thread*)')
f(3,0,1,4,'Thread::call_run()')
f(4,0,1,4,'VMThread::run()')
f(5,0,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,0,1,4,'VMThread::evaluate_operation(VM_Operation*)')
f(7,0,1,4,'VM_Operation::evaluate()')
f(8,0,1,4,'VM_G1CollectForAllocation::doit()')
f(9,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint_helper(double)')
f(11,0,1,4,'G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo&, G1RedirtyCardsQueueSet*, G1ParScanThreadStateSet*)')
f(12,0,1,4,'HeapRegionManager::rebuild_free_list(WorkGang*)')
f(13,0,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(14,0,1,3,'sem_post')
f(15,0,1,5,'entry_SYSCALL_64_after_hwframe')
f(16,0,1,5,'do_syscall_64')
f(17,0,1,5,'__x64_sys_futex')
f(18,0,1,5,'do_futex')
f(19,0,1,5,'futex_wake')
f(20,0,1,5,'wake_up_q')
f(21,0,1,5,'_raw_spin_unlock_irqrestore')
f(1,1,9,3,'[unknown_Java]')
f(2,1,1,1,'cats/Eval$$anon$2$$Lambda$107.0x0000000800dbfcb8.apply')
f(2,2,3,1,'cats/effect/IO$$$Lambda$111.0x0000000800dc4d40.apply')
f(2,5,1,6,'cats/effect/IO$Delay.tag',0,1,0)
f(2,6,3,6,'cats/effect/IO$FlatMap.tag',0,3,0)
f(2,9,1,1,'java/lang/Number.<init>')
f(1,10,431,1,'cats/effect/unsafe/WorkerThread.run')
f(2,13,405,1,'cats/effect/IOFiber.run')
f(3,13,209,1,'cats/effect/IOFiber.autoCedeR')
f(4,13,209,1,'cats/effect/IOFiber.runLoop')
f(5,17,9,2,'cats/effect/ArrayStack.push',9,0,0)
f(6,21,5,2,'cats/effect/ArrayStack.checkAndGrow',5,0,0)
f(5,26,1,2,'cats/effect/ByteStack$.push',1,0,0)
f(5,27,55,1,'cats/effect/IO$$anon$2$$Lambda$105.0x0000000800dbf2f8.apply',1,0,0)
f(6,27,55,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1',1,0,0)
f(7,27,50,1,'cats/Eval$Defer.value')
f(8,30,47,1,'cats/Eval$.cats$Eval$$$evaluate',9,0,0)
f(9,32,38,1,'cats/Eval$.loop$1')
f(10,35,20,2,'cats/Eval$$anon$2$$Lambda$107.0x0000000800dbfcb8.apply',20,0,0)
f(11,35,20,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',20,0,0)
f(12,35,6,2,'cats/Eval$$anon$1$$Lambda$103.0x0000000800dbe538.apply',6,0,0)
f(13,35,6,2,'cats/Eval$$anon$1.$init$$$anonfun$1',6,0,0)
f(14,35,6,2,'cats/Eval$$anon$2.<init>',6,0,0)
f(15,39,2,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',2,0,0)
f(12,41,14,2,'cats/data/Chain$$$Lambda$102.0x0000000800dbdf28.apply',14,0,0)
f(13,41,14,2,'cats/data/Chain$.loop$4$$anonfun$3',14,0,0)
f(14,41,14,2,'cats/effect/IO$$anon$2.map2Eval',14,0,0)
f(15,42,13,2,'cats/effect/IO$$anon$2.map2Eval',13,0,0)
f(16,43,1,2,'cats/Eval$.now',1,0,0)
f(17,43,1,2,'cats/Now$.apply',1,0,0)
f(18,43,1,2,'cats/Now.<init>',1,0,0)
f(19,43,1,2,'cats/Eval$Leaf.<init>',1,0,0)
f(20,43,1,2,'cats/Eval.<init>',1,0,0)
f(16,44,11,2,'cats/effect/IO.flatMap',11,0,0)
f(17,44,11,2,'cats/effect/IO$FlatMap$.apply',11,0,0)
f(18,44,11,2,'cats/effect/IO$FlatMap.<init>',11,0,0)
f(19,44,11,2,'cats/effect/IO.<init>',11,0,0)
f(20,45,10,2,'cats/effect/IOPlatform.<init>',10,0,0)
f(10,55,15,2,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply',14,0,0)
f(11,56,14,2,'cats/data/Chain$.loop$4$$anonfun$1',13,0,0)
f(12,56,13,2,'cats/effect/IO$$anon$2.map2Eval',12,0,0)
f(13,58,11,2,'cats/effect/IO$$anon$2.map2Eval',10,0,0)
f(14,68,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,68,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,68,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,68,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(18,68,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(19,68,1,4,'MemAllocator::allocate() const')
f(20,68,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(21,68,1,4,'ThreadLocalAllocBuffer::retire_before_allocation()')
f(22,68,1,3,'__tls_get_addr')
f(12,69,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(13,69,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(9,70,7,2,'cats/Eval$Ident$.apply',7,0,0)
f(7,77,4,1,'cats/Later.value')
f(8,78,1,2,'cats/data/Chain$$$Lambda$98.0x0000000800dbd208.apply',1,0,0)
f(9,78,1,2,'cats/data/Chain$.$anonfun$1',1,0,0)
f(8,79,2,2,'scala/runtime/LazyVals$.CAS',2,0,0)
f(9,79,2,2,'sun/misc/Unsafe.compareAndSwapLong',2,0,0)
f(7,81,1,3,'vtable stub')
f(5,82,6,6,'cats/effect/IO$FlatMap.tag',0,6,0)
f(5,88,6,6,'cats/effect/IO$Map.tag',0,6,0)
f(5,94,104,1,'cats/effect/IOFiber.succeeded')
f(6,101,1,2,'cats/effect/ArrayStack.pop',1,0,0)
f(6,102,1,2,'cats/effect/ByteStack$.pop',1,0,0)
f(7,102,1,2,'cats/effect/ByteStack$.peek',1,0,0)
f(6,103,5,1,'cats/effect/IO$$$Lambda$111.0x0000000800dc4d40.apply')
f(7,106,2,2,'cats/effect/IO$.map2Eval$$anonfun$1$$anonfun$1',1,0,0)
f(8,107,1,1,'cats/data/Chain$$$Lambda$108.0x0000000800dc4000.apply')
f(9,107,1,1,'cats/data/Chain$.loop$4$$anonfun$3$$anonfun$1')
f(10,107,1,1,'cats/data/Chain.concat')
f(11,107,1,1,'cats/data/Chain$.concat')
f(6,108,11,1,'cats/effect/IO$$anon$2$$Lambda$105.0x0000000800dbf2f8.apply')
f(7,108,11,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(8,108,11,1,'cats/Eval$FlatMap.value')
f(9,108,11,1,'cats/Eval$.cats$Eval$$$evaluate')
f(10,108,10,1,'cats/Eval$.loop$1')
f(11,108,2,2,'cats/Eval$$anon$2$$Lambda$107.0x0000000800dbfcb8.apply',2,0,0)
f(12,108,2,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',2,0,0)
f(13,108,2,2,'cats/data/Chain$$$Lambda$102.0x0000000800dbdf28.apply',2,0,0)
f(14,108,2,2,'cats/data/Chain$.loop$4$$anonfun$3',2,0,0)
f(15,108,2,2,'cats/effect/IO$$anon$2.map2Eval',2,0,0)
f(11,110,1,6,'cats/Eval$$anon$3.start',0,1,0)
f(11,111,5,2,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply',2,0,0)
f(12,112,4,2,'cats/data/Chain$.loop$4$$anonfun$1',4,0,0)
f(13,112,3,2,'cats/effect/IO$$anon$2.map2Eval',3,0,0)
f(14,112,3,2,'cats/effect/IO$$anon$2.map2Eval',3,0,0)
f(15,114,1,2,'cats/Eval$.now',1,0,0)
f(16,114,1,2,'cats/Now$.apply',1,0,0)
f(13,115,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(14,115,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(15,115,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(11,116,1,3,'itable stub')
f(11,117,1,3,'vtable stub')
f(10,118,1,1,'cats/Eval$Ident$.apply')
f(11,118,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(12,118,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(13,118,1,4,'MemAllocator::allocate() const')
f(14,118,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(15,118,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(6,119,13,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,119,13,1,'cats/effect/IOFiber.done')
f(8,119,13,1,'cats/effect/CallbackStack.apply')
f(9,119,13,1,'scala/runtime/function/JProcedure1.apply')
f(10,119,13,1,'scala/runtime/function/JProcedure1.apply')
f(11,119,13,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cde8.applyVoid')
f(12,119,13,1,'cats/effect/IO.$anonfun$6')
f(13,119,13,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,119,13,1,'cats/effect/kernel/Outcome.fold$',2,0,0)
f(15,119,13,1,'cats/effect/kernel/Outcome.fold',2,0,0)
f(16,119,13,1,'scala/runtime/function/JProcedure1.apply',2,0,0)
f(17,119,13,1,'scala/runtime/function/JProcedure1.apply',2,0,0)
f(18,119,13,1,'cats/effect/IO$$Lambda$116.0x0000000800dc36c8.applyVoid',2,0,0)
f(19,119,13,1,'cats/effect/IO.$anonfun$6$$anonfun$3',2,0,0)
f(20,119,2,2,'cats/effect/unsafe/StripedHashtable.remove',2,0,0)
f(21,120,1,2,'cats/effect/unsafe/ThreadSafeHashtable.remove',1,0,0)
f(20,121,11,1,'scala/runtime/function/JProcedure1.apply')
f(21,121,11,1,'scala/runtime/function/JProcedure1.apply')
f(22,121,11,1,'cats/effect/IO$$Lambda$87.0x0000000800d5c000.applyVoid')
f(23,121,11,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,121,11,1,'scala/runtime/function/JProcedure1.apply')
f(25,121,11,1,'scala/runtime/function/JProcedure1.apply')
f(26,121,11,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d57140.applyVoid')
f(27,121,11,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,121,11,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,121,11,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(30,121,11,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(31,121,11,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(32,121,11,1,'java/util/concurrent/locks/LockSupport.unpark')
f(33,121,11,1,'jdk/internal/misc/Unsafe.unpark')
f(34,121,1,3,'__tls_get_addr')
f(34,122,10,3,'pthread_cond_signal')
f(35,122,10,5,'entry_SYSCALL_64_after_hwframe')
f(36,122,10,5,'do_syscall_64')
f(37,122,10,5,'__x64_sys_futex')
f(38,123,9,5,'do_futex')
f(39,123,8,5,'futex_wake')
f(40,123,8,5,'wake_up_q')
f(41,123,8,5,'_raw_spin_unlock_irqrestore')
f(39,131,1,5,'hash_futex')
f(6,132,37,1,'cats/instances/ListInstances$$anon$1$$Lambda$109.0x0000000800dc45b0.apply')
f(7,132,37,1,'cats/instances/ListInstances.cats$instances$ListInstances$$anon$1$$_$traverse$$anonfun$1')
f(8,132,37,1,'cats/data/Chain.toList')
f(9,132,37,1,'cats/data/Chain$ChainIterator.toList')
f(10,132,37,1,'scala/collection/IterableOnceOps.toList$')
f(11,132,37,1,'scala/collection/IterableOnceOps.toList')
f(12,132,37,1,'scala/collection/immutable/List.prependedAll')
f(13,135,20,1,'cats/data/Chain$ChainIterator.next')
f(14,135,20,2,'cats/data/Chain$ChainIterator.go$3',19,0,0)
f(15,144,1,2,'cats/data/Chain$Wrap._1',1,0,0)
f(16,144,1,2,'cats/data/Chain$Wrap.seq',1,0,0)
f(15,145,9,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.next',9,0,0)
f(15,154,1,1,'scala/collection/immutable/List.iterator')
f(16,154,1,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator$')
f(17,154,1,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator')
f(13,155,5,2,'scala/collection/immutable/$colon$colon.<init>',5,0,0)
f(14,155,5,2,'scala/runtime/Statics.releaseFence',5,0,0)
f(15,155,5,2,'java/lang/invoke/LambdaForm$MH.0x0000000800c88000.invoke_MT',5,0,0)
f(16,158,2,2,'java/lang/invoke/Invokers.checkGenericType',2,0,0)
f(13,160,9,2,'scala/collection/immutable/NewVectorIterator.next',9,0,0)
f(14,166,3,2,'scala/collection/immutable/NewVectorIterator.advance',3,0,0)
f(6,169,10,3,'itable stub')
f(6,179,19,1,'kyo/bench/CollectAllBench$$Lambda$110.0x0000000800dc4978.apply')
f(7,179,19,2,'kyo/bench/CollectAllBench.catsBench$$anonfun$1',12,0,0)
f(8,179,19,2,'scala/collection/AbstractIterable.sum',12,0,0)
f(9,179,19,2,'scala/collection/IterableOnceOps.sum$',12,0,0)
f(10,179,19,2,'scala/collection/IterableOnceOps.sum',12,0,0)
f(11,179,19,2,'scala/collection/AbstractIterable.reduce',12,0,0)
f(12,179,19,2,'scala/collection/IterableOnceOps.reduce$',12,0,0)
f(13,179,19,2,'scala/collection/IterableOnceOps.reduce',12,0,0)
f(14,179,19,2,'scala/collection/AbstractIterable.reduceLeft',12,0,0)
f(15,179,19,2,'scala/collection/IterableOnceOps.reduceLeft$',12,0,0)
f(16,179,19,2,'scala/collection/IterableOnceOps.reduceLeft',12,0,0)
f(17,179,18,2,'scala/collection/IterableOnceOps$$Lambda$113.0x0000000800dc73c8.apply',11,0,0)
f(18,179,18,2,'scala/collection/IterableOnceOps.$anonfun$sum$1',11,0,0)
f(19,179,18,2,'scala/math/Numeric$IntIsIntegral$.plus',11,0,0)
f(20,179,18,2,'scala/runtime/BoxesRunTime.boxToInteger',11,0,0)
f(21,190,7,1,'java/lang/Integer.valueOf')
f(22,190,7,1,'java/lang/Integer.<init>')
f(23,190,7,1,'java/lang/Number.<init>')
f(17,197,1,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.hasNext',1,0,0)
f(5,198,21,2,'kyo/bench/CollectAllBench$$Lambda$93.0x0000000800d67b70.apply',21,0,0)
f(5,219,3,3,'vtable stub')
f(3,222,194,1,'cats/effect/IOFiber.cedeR')
f(4,222,79,1,'cats/effect/IOFiber.runLoop')
f(5,225,3,2,'cats/effect/ArrayStack.push',3,0,0)
f(6,225,3,2,'cats/effect/ArrayStack.checkAndGrow',3,0,0)
f(5,228,23,1,'cats/effect/IO$$anon$2$$Lambda$105.0x0000000800dbf2f8.apply',2,0,0)
f(6,228,23,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1',2,0,0)
f(7,229,16,1,'cats/Eval$Defer.value')
f(8,231,14,1,'cats/Eval$.cats$Eval$$$evaluate',3,0,0)
f(9,231,11,1,'cats/Eval$.loop$1')
f(10,232,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(11,232,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(12,232,1,4,'MemAllocator::allocate() const')
f(13,232,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(14,232,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(15,232,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(16,232,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(17,232,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool, unsigned int)')
f(18,232,1,4,'G1RemSetTrackingPolicy::update_at_allocate(HeapRegion*)')
f(19,232,1,4,'G1FromCardCache::clear(unsigned int)')
f(10,233,5,2,'cats/Eval$$anon$2$$Lambda$107.0x0000000800dbfcb8.apply',5,0,0)
f(11,234,4,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',4,0,0)
f(12,234,2,2,'cats/Eval$$anon$1$$Lambda$103.0x0000000800dbe538.apply',2,0,0)
f(13,234,2,2,'cats/Eval$$anon$1.$init$$$anonfun$1',2,0,0)
f(14,234,2,2,'cats/Eval$$anon$2.<init>',2,0,0)
f(12,236,2,2,'cats/data/Chain$$$Lambda$102.0x0000000800dbdf28.apply',2,0,0)
f(13,236,2,2,'cats/data/Chain$.loop$4$$anonfun$3',2,0,0)
f(14,236,2,2,'cats/effect/IO$$anon$2.map2Eval',2,0,0)
f(15,236,2,2,'cats/effect/IO$$anon$2.map2Eval',2,0,0)
f(16,236,1,2,'cats/Eval$.now',1,0,0)
f(17,236,1,2,'cats/Now$.apply',1,0,0)
f(18,236,1,2,'cats/Now.<init>',1,0,0)
f(19,236,1,2,'cats/Eval$Leaf.<init>',1,0,0)
f(20,236,1,2,'cats/Eval.<init>',1,0,0)
f(16,237,1,2,'cats/effect/IO.flatMap',1,0,0)
f(17,237,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(18,237,1,2,'cats/effect/IO$FlatMap.<init>',1,0,0)
f(19,237,1,2,'cats/effect/IO.<init>',1,0,0)
f(10,238,4,2,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply',4,0,0)
f(11,239,3,2,'cats/data/Chain$.loop$4$$anonfun$1',3,0,0)
f(12,239,2,2,'cats/effect/IO$$anon$2.map2Eval',2,0,0)
f(13,240,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(12,241,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(9,242,3,2,'cats/Eval$Ident$.apply',3,0,0)
f(7,245,5,1,'cats/Later.value')
f(8,246,2,2,'scala/runtime/LazyVals$.CAS',2,0,0)
f(9,246,2,2,'sun/misc/Unsafe.compareAndSwapLong',2,0,0)
f(8,248,1,2,'scala/runtime/LazyVals$.get',1,0,0)
f(9,248,1,2,'sun/misc/Unsafe.getLongVolatile',1,0,0)
f(8,249,1,2,'scala/runtime/LazyVals$.setFlag',1,0,0)
f(9,249,1,2,'scala/runtime/LazyVals$.CAS',1,0,0)
f(10,249,1,2,'sun/misc/Unsafe.compareAndSwapLong',1,0,0)
f(7,250,1,3,'vtable stub')
f(5,251,1,6,'cats/effect/IO$Delay.tag',0,1,0)
f(5,252,4,6,'cats/effect/IO$FlatMap.tag',0,4,0)
f(5,256,4,6,'cats/effect/IO$Map.tag',0,4,0)
f(5,260,25,1,'cats/effect/IOFiber.succeeded')
f(6,267,1,1,'cats/data/Chain$$$Lambda$106.0x0000000800dbf6c8.apply')
f(6,268,1,2,'cats/effect/ByteStack$.pop',1,0,0)
f(7,268,1,2,'cats/effect/ByteStack$.peek',1,0,0)
f(6,269,5,1,'cats/effect/IO$$$Lambda$111.0x0000000800dc4d40.apply')
f(7,272,2,2,'cats/effect/IO$.map2Eval$$anonfun$1$$anonfun$1',2,0,0)
f(8,272,2,2,'cats/data/Chain$$$Lambda$104.0x0000000800dbed48.apply',2,0,0)
f(9,272,2,2,'cats/data/Chain$.loop$4$$anonfun$1$$anonfun$1',2,0,0)
f(10,272,2,2,'scala/collection/immutable/List.$colon$colon',2,0,0)
f(11,273,1,2,'scala/collection/immutable/$colon$colon.<init>',1,0,0)
f(6,274,4,1,'cats/effect/IO$$anon$2$$Lambda$105.0x0000000800dbf2f8.apply')
f(7,274,4,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(8,274,4,1,'cats/Eval$FlatMap.value')
f(9,274,4,1,'cats/Eval$.cats$Eval$$$evaluate')
f(10,274,4,1,'cats/Eval$.loop$1')
f(11,274,2,2,'cats/Eval$$anon$2$$Lambda$107.0x0000000800dbfcb8.apply',2,0,0)
f(12,274,2,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',2,0,0)
f(13,274,2,2,'cats/data/Chain$$$Lambda$102.0x0000000800dbdf28.apply',2,0,0)
f(14,274,2,2,'cats/data/Chain$.loop$4$$anonfun$3',2,0,0)
f(15,274,2,2,'cats/effect/IO$$anon$2.map2Eval',2,0,0)
f(11,276,1,6,'cats/Eval$$anon$3.start',0,1,0)
f(11,277,1,2,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply',1,0,0)
f(12,277,1,2,'cats/data/Chain$.loop$4$$anonfun$1',1,0,0)
f(13,277,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(14,277,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(6,278,7,3,'itable stub')
f(5,285,13,2,'kyo/bench/CollectAllBench$$Lambda$93.0x0000000800d67b70.apply',13,0,0)
f(5,298,3,3,'vtable stub')
f(4,301,115,1,'cats/effect/IOFiber.succeeded')
f(5,301,115,1,'kyo/bench/Bench$$Lambda$40.0x0000000800d12870.apply')
f(6,301,115,1,'kyo/bench/Bench.forkCats$$anonfun$1',14,0,0)
f(7,301,115,1,'kyo/bench/CollectAllBench.catsBench',14,0,0)
f(8,302,68,1,'cats/Traverse$ToTraverseOps$$anon$3.sequence')
f(9,302,68,1,'cats/Traverse$Ops.sequence$')
f(10,302,68,1,'cats/Traverse$Ops.sequence')
f(11,302,68,1,'cats/instances/ListInstances$$anon$1.sequence')
f(12,302,68,1,'cats/Traverse.sequence$')
f(13,302,68,1,'cats/Traverse.sequence')
f(14,302,68,1,'cats/instances/ListInstances$$anon$1.traverse')
f(15,302,68,1,'cats/instances/ListInstances$$anon$1.traverse')
f(16,302,53,1,'cats/data/Chain$.traverseViaChain')
f(17,302,14,1,'cats/Eval$FlatMap.value')
f(18,302,14,1,'cats/Eval$.cats$Eval$$$evaluate')
f(19,302,14,1,'cats/Eval$.loop$1')
f(20,302,4,2,'cats/Eval$$anon$2$$Lambda$107.0x0000000800dbfcb8.apply',3,0,0)
f(21,302,4,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',4,0,0)
f(22,303,1,2,'cats/Eval$$anon$1$$Lambda$103.0x0000000800dbe538.apply',1,0,0)
f(23,303,1,2,'cats/Eval$$anon$1.$init$$$anonfun$1',1,0,0)
f(24,303,1,2,'cats/Eval$$anon$2.<init>',1,0,0)
f(22,304,2,2,'cats/data/Chain$$$Lambda$102.0x0000000800dbdf28.apply',2,0,0)
f(23,304,2,2,'cats/data/Chain$.loop$4$$anonfun$3',2,0,0)
f(24,304,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(25,304,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(26,304,1,2,'cats/effect/IO.flatMap',1,0,0)
f(27,304,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(28,304,1,2,'cats/effect/IO$FlatMap.<init>',1,0,0)
f(29,304,1,2,'cats/effect/IO.<init>',1,0,0)
f(24,305,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(25,305,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(26,305,1,2,'cats/data/Chain$$$Lambda$108.0x0000000800dc4000.<init>',1,0,0)
f(20,306,1,6,'cats/Eval$$anon$2.start',0,1,0)
f(20,307,1,2,'cats/Eval$Many$.apply',1,0,0)
f(21,307,1,2,'cats/Eval$Many.<init>',1,0,0)
f(20,308,1,1,'cats/data/Chain$$$Lambda$102.0x0000000800dbdf28.apply')
f(21,308,1,2,'cats/data/Chain$.loop$4$$anonfun$3',1,0,0)
f(22,308,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(20,309,1,2,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.apply',1,0,0)
f(21,309,1,2,'cats/data/Chain$.loop$4$$anonfun$1',1,0,0)
f(22,309,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(23,309,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(20,310,6,3,'itable stub')
f(17,316,39,1,'cats/data/Chain$.loop$4')
f(18,317,1,2,'cats/Eval$.defer',1,0,0)
f(19,317,1,2,'cats/Eval$$anon$5.<init>',1,0,0)
f(20,317,1,2,'cats/Eval$Defer.<init>',1,0,0)
f(18,318,2,2,'cats/Eval$.later',2,0,0)
f(18,320,10,2,'cats/Eval.map',10,0,0)
f(19,321,4,2,'cats/Eval.flatMap',4,0,0)
f(19,325,5,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',5,0,0)
f(20,325,5,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',5,0,0)
f(21,325,3,2,'cats/Eval$$Lambda$101.0x0000000800dbdb58.<init>',3,0,0)
f(21,328,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(21,329,1,2,'java/lang/invoke/DirectMethodHandle.constructorMethod',1,0,0)
f(18,330,22,1,'cats/data/Chain$.loop$4')
f(19,331,1,2,'cats/Eval$.defer',1,0,0)
f(20,331,1,2,'cats/Eval$$anon$5.<init>',1,0,0)
f(21,331,1,2,'cats/Eval$Defer.<init>',1,0,0)
f(19,332,2,2,'cats/Eval$.later',2,0,0)
f(20,333,1,2,'cats/Later.<init>',1,0,0)
f(19,334,15,2,'cats/Eval.flatMap',15,0,0)
f(20,335,14,2,'cats/Eval$$anon$1.<init>',14,0,0)
f(19,349,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(20,349,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(19,350,2,2,'java/lang/invoke/LambdaForm$MH.0x0000000800dc1c00.linkToTargetMethod',2,0,0)
f(20,350,2,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800dc1400.newInvokeSpecial',2,0,0)
f(21,351,1,2,'cats/data/Chain$$$Lambda$98.0x0000000800dbd208.<init>',1,0,0)
f(18,352,2,2,'cats/kernel/instances/StaticMethods$WrappedIndexedSeq.apply',2,0,0)
f(18,354,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,354,1,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800dc2000.newInvokeSpecial')
f(20,354,1,1,'cats/data/Chain$$$Lambda$99.0x0000000800dbd4c8.<init>')
f(21,354,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(22,354,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(23,354,1,4,'MemAllocator::allocate() const')
f(16,355,15,1,'scala/collection/mutable/AbstractBuffer.$plus$plus$eq')
f(17,355,15,1,'scala/collection/mutable/Growable.$plus$plus$eq$')
f(18,355,15,1,'scala/collection/mutable/Growable.$plus$plus$eq')
f(19,355,15,1,'scala/collection/mutable/ArrayBuffer.addAll')
f(20,355,15,1,'scala/collection/mutable/ArrayBuffer.addAll')
f(21,355,15,1,'scala/collection/mutable/Growable.addAll$')
f(22,355,15,1,'scala/collection/mutable/Growable.addAll')
f(23,355,1,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.hasNext',1,0,0)
f(23,356,4,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.next',4,0,0)
f(24,357,2,2,'scala/collection/immutable/$colon$colon.head',2,0,0)
f(24,359,1,2,'scala/collection/immutable/$colon$colon.tail',1,0,0)
f(25,359,1,2,'scala/collection/immutable/$colon$colon.tail',1,0,0)
f(26,359,1,2,'scala/collection/immutable/$colon$colon.next',1,0,0)
f(23,360,10,2,'scala/collection/mutable/ArrayBuffer.addOne',10,0,0)
f(24,360,10,2,'scala/collection/mutable/ArrayBuffer.addOne',10,0,0)
f(25,360,5,2,'scala/collection/mutable/ArrayBuffer.ensureAdditionalSize',5,0,0)
f(26,360,1,2,'scala/collection/mutable/ArrayBuffer$.scala$collection$mutable$ArrayBuffer$$ensureSize',1,0,0)
f(27,360,1,2,'scala/collection/mutable/ArrayBuffer$.resizeUp',1,0,0)
f(26,361,3,2,'scala/collection/mutable/ArrayBuffer.array_$eq',3,0,0)
f(26,364,1,2,'scala/collection/mutable/ArrayBuffer.size0',1,0,0)
f(25,365,5,2,'scala/collection/mutable/ArrayBuffer.update',5,0,0)
f(8,370,32,1,'scala/collection/AbstractIterable.toList')
f(9,370,32,1,'scala/collection/IterableOnceOps.toList$')
f(10,370,32,1,'scala/collection/IterableOnceOps.toList')
f(11,370,32,1,'scala/collection/immutable/List.prependedAll')
f(12,380,2,2,'cats/data/Chain$ChainIterator.hasNext',2,0,0)
f(12,382,2,2,'cats/data/Chain$ChainIterator.iterator',2,0,0)
f(13,383,1,2,'scala/collection/Iterator.iterator$',1,0,0)
f(12,384,10,2,'scala/collection/immutable/$colon$colon.<init>',10,0,0)
f(13,391,1,2,'scala/collection/immutable/List.<init>',1,0,0)
f(14,391,1,2,'scala/collection/immutable/AbstractSeq.<init>',1,0,0)
f(15,391,1,2,'scala/collection/AbstractSeq.<init>',1,0,0)
f(13,392,2,2,'scala/runtime/Statics.releaseFence',2,0,0)
f(14,392,2,2,'java/lang/invoke/LambdaForm$MH.0x0000000800c88000.invoke_MT',2,0,0)
f(15,393,1,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d48000.invokeStatic',1,0,0)
f(12,394,8,2,'scala/collection/immutable/NewVectorIterator.next',8,0,0)
f(13,399,3,2,'scala/collection/immutable/NewVectorIterator.advance',3,0,0)
f(8,402,13,2,'scala/collection/immutable/Range.map',12,0,0)
f(9,403,9,2,'kyo/bench/CollectAllBench$$Lambda$92.0x0000000800d5f8e8.apply',9,0,0)
f(10,403,9,2,'kyo/bench/CollectAllBench.$anonfun$adapted$2',9,0,0)
f(11,403,9,2,'kyo/bench/CollectAllBench.$anonfun$3',9,0,0)
f(12,408,4,2,'cats/effect/IO$.apply',4,0,0)
f(13,408,4,2,'cats/effect/IO$.delay',4,0,0)
f(14,408,4,2,'cats/effect/IO$Delay$.apply',4,0,0)
f(9,412,2,2,'scala/collection/SeqFactory$Delegate.newBuilder',2,0,0)
f(10,412,2,2,'scala/collection/immutable/Vector$.newBuilder',2,0,0)
f(9,414,1,1,'scala/collection/immutable/VectorBuilder.addOne')
f(10,414,1,1,'scala/collection/immutable/VectorBuilder.addOne')
f(11,414,1,1,'scala/collection/immutable/VectorBuilder.advance')
f(12,414,1,1,'scala/collection/immutable/VectorBuilder.advance1')
f(8,415,1,2,'scala/runtime/RichInt$.until$extension',1,0,0)
f(9,415,1,2,'scala/collection/immutable/Range$Exclusive.<init>',1,0,0)
f(10,415,1,2,'scala/collection/immutable/Range.<init>',1,0,0)
f(3,416,2,2,'cats/effect/IOFiber.execR',1,0,0)
f(4,417,1,1,'cats/effect/IOFiber.runLoop')
f(5,417,1,3,'vtable stub')
f(2,418,4,2,'cats/effect/unsafe/ScalQueue.poll',4,0,0)
f(3,418,3,2,'java/util/concurrent/ConcurrentLinkedQueue.poll',3,0,0)
f(4,418,3,2,'java/util/concurrent/ConcurrentLinkedQueue.updateHead',3,0,0)
f(5,418,1,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',1,0,0)
f(6,418,1,2,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.compareAndSet',1,0,0)
f(5,419,2,2,'java/lang/invoke/VarHandleGuards.guard_LL_V',2,0,0)
f(6,419,1,2,'java/lang/invoke/VarHandle.checkExactAccessMode',1,0,0)
f(7,419,1,3,'clock_gettime')
f(8,419,1,3,'[vdso]')
f(6,420,1,2,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.setRelease',1,0,0)
f(7,420,1,2,'java/util/Objects.requireNonNull',1,0,0)
f(3,421,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(4,421,1,2,'java/util/Random.nextInt',1,0,0)
f(5,421,1,2,'java/util/concurrent/ThreadLocalRandom.next',1,0,0)
f(6,421,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(2,422,1,1,'cats/effect/unsafe/WorkStealingThreadPool.stealFromOtherWorkerThread')
f(3,422,1,2,'cats/effect/unsafe/ScalQueue.poll',1,0,0)
f(2,423,18,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,423,18,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,423,18,1,'java/util/concurrent/locks/LockSupport.park')
f(5,423,18,1,'jdk/internal/misc/Unsafe.park')
f(6,424,5,3,'Unsafe_Park')
f(7,424,2,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,424,2,5,'entry_SYSCALL_64_after_hwframe')
f(9,424,2,5,'do_syscall_64')
f(10,425,1,5,'syscall_enter_from_user_mode')
f(7,426,2,4,'Parker::park(bool, long)')
f(8,427,1,4,'AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<544868ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 544868ul>::oop_access_barrier(void*)')
f(7,428,1,3,'pthread_mutex_unlock')
f(6,429,12,3,'[unknown]')
f(7,429,11,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,431,9,5,'entry_SYSCALL_64_after_hwframe')
f(9,431,9,5,'do_syscall_64')
f(10,431,9,5,'__x64_sys_futex')
f(11,431,9,5,'do_futex')
f(12,431,9,5,'futex_wait')
f(13,431,9,5,'futex_wait_queue_me')
f(14,431,9,5,'schedule')
f(15,431,9,5,'__schedule')
f(16,431,9,5,'finish_task_switch.isra.0')
f(7,440,1,3,'pthread_cond_wait')
f(1,441,21,1,'java/lang/Thread.run')
f(2,441,21,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,441,21,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,441,21,1,'java/util/concurrent/FutureTask.run')
f(5,441,21,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,441,21,1,'java/util/concurrent/FutureTask.run')
f(7,441,21,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,441,21,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,441,21,1,'java/lang/reflect/Method.invoke')
f(10,441,21,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,441,21,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,441,21,1,'kyo/bench/jmh_generated/CollectAllBench_forkCats_jmhTest.forkCats_Throughput')
f(13,441,21,1,'kyo/bench/jmh_generated/CollectAllBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,443,19,1,'kyo/bench/Bench.forkCats')
f(15,443,19,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,443,19,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,443,14,1,'cats/effect/IO.unsafeRunAsync')
f(18,443,14,1,'cats/effect/IO.unsafeRunFiber')
f(19,443,1,1,'cats/effect/IOFiber.<init>')
f(19,444,13,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,444,13,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,444,13,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,444,13,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,444,13,1,'jdk/internal/misc/Unsafe.unpark')
f(24,444,1,3,'Unsafe_Unpark')
f(25,444,1,3,'pthread_mutex_unlock')
f(24,445,12,3,'pthread_cond_signal')
f(25,446,11,5,'entry_SYSCALL_64_after_hwframe')
f(26,446,11,5,'do_syscall_64')
f(27,446,11,5,'__x64_sys_futex')
f(28,446,11,5,'do_futex')
f(29,446,11,5,'futex_wake')
f(30,447,10,5,'wake_up_q')
f(31,447,10,5,'_raw_spin_unlock_irqrestore')
f(17,457,5,1,'scala/concurrent/package$.blocking')
f(18,457,5,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,457,5,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5ebf0.apply')
f(20,457,5,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,457,5,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,457,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,457,5,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,457,5,1,'jdk/internal/misc/Unsafe.park')
f(25,457,5,3,'[unknown]')
f(26,457,5,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,457,5,5,'entry_SYSCALL_64_after_hwframe')
f(28,457,5,5,'do_syscall_64')
f(29,457,3,5,'__x64_sys_futex')
f(30,457,3,5,'do_futex')
f(31,457,3,5,'futex_wait')
f(32,457,3,5,'futex_wait_queue_me')
f(33,457,3,5,'schedule')
f(34,457,3,5,'__schedule')
f(35,457,3,5,'finish_task_switch.isra.0')
f(29,460,1,5,'syscall_enter_from_user_mode')
f(29,461,1,5,'syscall_exit_to_user_mode')
f(30,461,1,5,'exit_to_user_mode_prepare')
f(31,461,1,5,'exit_to_user_mode_loop')
f(32,461,1,5,'__rseq_handle_notify_resume')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,27280,3,'all')
f(1,0,23643,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,23643,1,'cats/effect/IOFiber.run')
f(3,0,17636,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,17636,1,'cats/effect/IOFiber.runLoop')
f(5,0,249,1,'cats/data/Chain$$$Lambda$111.0x0000000800dc68c0.apply')
f(6,0,249,1,'cats/data/Chain$.$anonfun$1$$anonfun$1')
f(7,0,249,1,'scala/collection/immutable/List.$colon$colon')
f(8,0,249,2,'scala.collection.immutable.$colon$colon')
f(5,249,8625,1,'cats/effect/IO$$anon$2$$Lambda$55.0x0000000800d975b0.apply')
f(6,249,8625,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(7,249,5237,1,'cats/Eval$Defer.value')
f(8,249,5237,1,'cats/Eval$.cats$Eval$$$evaluate')
f(9,249,4340,1,'cats/Eval$.loop$1')
f(10,249,4340,1,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply')
f(11,249,4340,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(12,249,3439,1,'cats/effect/IO$$anon$2.map2Eval')
f(13,249,3439,1,'cats/effect/IO$$anon$2.map2Eval')
f(14,249,921,1,'cats/Eval$.now')
f(15,249,921,1,'cats/Now$.apply')
f(16,249,921,2,'cats.Now')
f(14,1170,1266,1,'cats/effect/IO.flatMap')
f(15,1170,1266,1,'cats/effect/IO$FlatMap$.apply')
f(16,1170,1266,2,'cats.effect.IO$FlatMap')
f(14,2436,1252,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,2436,1252,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,2436,1252,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,2436,1252,2,'cats.effect.IO$$anon$2$$Lambda$55+0x0000000800d975b0')
f(12,3688,901,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,3688,901,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,3688,901,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,3688,901,2,'cats.data.Chain$$$Lambda$54+0x0000000800d97000')
f(9,4589,897,1,'cats/Eval$Ident$.apply')
f(10,4589,897,2,'cats.Eval$Ident')
f(7,5486,425,1,'cats/Later.value')
f(8,5486,425,1,'cats/data/Chain$$$Lambda$48.0x0000000800d92600.apply')
f(9,5486,425,1,'cats/data/Chain$.$anonfun$1')
f(10,5486,245,1,'cats/effect/IO$$anon$2.map')
f(11,5486,245,1,'cats/effect/IO$$anon$2.map')
f(12,5486,245,1,'cats/effect/IO.map')
f(13,5486,245,1,'cats/effect/IO$Map$.apply')
f(14,5486,245,2,'cats.effect.IO$Map')
f(10,5731,180,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,5731,180,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,5731,180,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,5731,180,2,'cats.data.Chain$$$Lambda$111+0x0000000800dc68c0')
f(7,5911,1475,1,'cats/effect/IO.map')
f(8,5911,1475,1,'cats/effect/IO$Map$.apply')
f(9,5911,1475,2,'cats.effect.IO$Map')
f(7,7386,1488,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,7386,1488,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,7386,1488,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,7386,1488,2,'cats.effect.IO$$$Lambda$110+0x0000000800dc64f0')
f(5,8874,8762,1,'cats/effect/IOFiber.succeeded')
f(6,8874,174,1,'cats/data/Chain$$$Lambda$56.0x0000000800d97ba0.apply')
f(7,8874,174,1,'cats/data/Chain$.loop$4$$anonfun$2$$anonfun$1')
f(8,8874,174,1,'cats/data/Chain$.fromSeq')
f(9,8874,174,1,'cats/data/ChainCompanionCompat.fromSeq$')
f(10,8874,174,1,'cats/data/ChainCompanionCompat.fromSeq')
f(11,8874,174,1,'cats/data/Chain$Wrap$.apply')
f(12,8874,174,2,'cats.data.Chain$Wrap')
f(6,9048,1761,1,'cats/effect/IO$$$Lambda$110.0x0000000800dc64f0.apply')
f(7,9048,1761,1,'cats/effect/IO$.map2Eval$$anonfun$1$$anonfun$1')
f(8,9048,1521,1,'cats/data/Chain$$$Lambda$54.0x0000000800d97000.apply')
f(9,9048,1521,1,'cats/data/Chain$.loop$4$$anonfun$1$$anonfun$1')
f(10,9048,1521,1,'scala/collection/immutable/List.$colon$colon')
f(11,9048,1521,2,'scala.collection.immutable.$colon$colon')
f(8,10569,240,1,'cats/data/Chain$$$Lambda$58.0x0000000800d98000.apply')
f(9,10569,240,1,'cats/data/Chain$.loop$4$$anonfun$3$$anonfun$1')
f(10,10569,240,1,'cats/data/Chain.concat')
f(11,10569,240,1,'cats/data/Chain$.concat')
f(12,10569,240,1,'cats/data/Chain$Append$.apply')
f(13,10569,240,2,'cats.data.Chain$Append')
f(6,10809,2207,1,'cats/effect/IO$$anon$2$$Lambda$55.0x0000000800d975b0.apply')
f(7,10809,2207,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(8,10809,1688,1,'cats/Eval$FlatMap.value')
f(9,10809,1688,1,'cats/Eval$.cats$Eval$$$evaluate')
f(10,10809,1518,1,'cats/Eval$.loop$1')
f(11,10809,658,1,'cats/Eval$$Lambda$51.0x0000000800d92f50.apply')
f(12,10809,658,1,'cats/Eval.map$$anonfun$1')
f(13,10809,199,1,'cats/Now$.apply')
f(14,10809,199,2,'cats.Now')
f(13,11008,459,1,'cats/data/Chain$$$Lambda$50.0x0000000800d92b80.apply')
f(14,11008,459,1,'cats/data/Chain$.loop$4$$anonfun$2')
f(15,11008,274,1,'cats/effect/IO$$anon$2.map')
f(16,11008,274,1,'cats/effect/IO$$anon$2.map')
f(17,11008,274,1,'cats/effect/IO.map')
f(18,11008,274,1,'cats/effect/IO$Map$.apply')
f(19,11008,274,2,'cats.effect.IO$Map')
f(15,11282,185,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,11282,185,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,11282,185,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,11282,185,2,'cats.data.Chain$$$Lambda$56+0x0000000800d97ba0')
f(11,11467,860,1,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply')
f(12,11467,860,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(13,11467,674,1,'cats/effect/IO$$anon$2.map2Eval')
f(14,11467,674,1,'cats/effect/IO$$anon$2.map2Eval')
f(15,11467,142,1,'cats/Eval$.now')
f(16,11467,142,1,'cats/Now$.apply')
f(17,11467,142,2,'cats.Now')
f(15,11609,280,1,'cats/effect/IO.flatMap')
f(16,11609,280,1,'cats/effect/IO$FlatMap$.apply')
f(17,11609,280,2,'cats.effect.IO$FlatMap')
f(15,11889,252,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,11889,252,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,11889,252,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,11889,252,2,'cats.effect.IO$$anon$2$$Lambda$55+0x0000000800d975b0')
f(13,12141,186,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,12141,186,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,12141,186,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,12141,186,2,'cats.data.Chain$$$Lambda$54+0x0000000800d97000')
f(10,12327,170,1,'cats/Eval$Ident$.apply')
f(11,12327,170,2,'cats.Eval$Ident')
f(8,12497,264,1,'cats/effect/IO.map')
f(9,12497,264,1,'cats/effect/IO$Map$.apply')
f(10,12497,264,2,'cats.effect.IO$Map')
f(8,12761,255,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,12761,255,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,12761,255,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,12761,255,2,'cats.effect.IO$$$Lambda$110+0x0000000800dc64f0')
f(6,13016,15,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,13016,1,1,'cats/effect/IO$.pure')
f(8,13016,1,1,'cats/effect/IO$Pure$.apply')
f(9,13016,1,2,'cats.effect.IO$Pure')
f(7,13017,12,1,'cats/effect/IOFiber.done')
f(8,13017,11,1,'cats/effect/CallbackStack.apply')
f(9,13017,11,1,'scala/runtime/function/JProcedure1.apply')
f(10,13017,11,1,'scala/runtime/function/JProcedure1.apply')
f(11,13017,11,1,'cats/effect/IO$$Lambda$106.0x0000000800dc4000.applyVoid')
f(12,13017,11,1,'cats/effect/IO.$anonfun$6')
f(13,13017,3,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,13017,3,1,'cats/effect/kernel/Outcome.fold$')
f(15,13017,3,1,'cats/effect/kernel/Outcome.fold')
f(16,13017,3,1,'scala/runtime/function/JProcedure1.apply')
f(17,13017,3,1,'scala/runtime/function/JProcedure1.apply')
f(18,13017,3,1,'cats/effect/IO$$Lambda$115.0x0000000800dc1000.applyVoid')
f(19,13017,3,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(20,13017,3,1,'scala/runtime/function/JProcedure1.apply')
f(21,13017,3,1,'scala/runtime/function/JProcedure1.apply')
f(22,13017,3,1,'cats/effect/IO$$Lambda$105.0x0000000800dbd408.applyVoid')
f(23,13017,3,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,13017,1,1,'scala/runtime/function/JProcedure1.apply')
f(25,13017,1,1,'scala/runtime/function/JProcedure1.apply')
f(26,13017,1,1,'cats/effect/IOPlatform$$Lambda$102.0x0000000800dbf878.applyVoid')
f(27,13017,1,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,13017,1,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,13017,1,1,'java/util/concurrent/ArrayBlockingQueue.enqueue')
f(30,13017,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal')
f(31,13017,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal')
f(32,13017,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.enqueue')
f(33,13017,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.tryInitializeHead')
f(34,13017,1,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ExclusiveNode')
f(24,13018,2,1,'scala/util/Right$.apply')
f(25,13018,2,2,'scala.util.Right')
f(13,13020,8,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,13020,8,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,13020,8,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,13020,3,2,'cats.effect.IO$$Lambda$113+0x0000000800dc3720')
f(16,13023,4,2,'cats.effect.IO$$Lambda$114+0x0000000800dc39e0')
f(16,13027,1,2,'cats.effect.IO$$Lambda$115+0x0000000800dc1000')
f(8,13028,1,1,'cats/effect/IO$.pure')
f(9,13028,1,1,'cats/effect/IO$Pure$.apply')
f(10,13028,1,2,'cats.effect.IO$Pure')
f(7,13029,2,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,13029,2,2,'cats.effect.kernel.Outcome$Succeeded')
f(6,13031,3104,1,'cats/instances/ListInstances$$anon$1$$Lambda$59.0x0000000800d985b0.apply')
f(7,13031,3104,1,'cats/instances/ListInstances.cats$instances$ListInstances$$anon$1$$_$traverse$$anonfun$1')
f(8,13031,3104,1,'cats/data/Chain.toList')
f(9,13031,4,2,'cats.data.Chain$ChainIterator')
f(9,13035,3100,1,'cats/data/Chain$ChainIterator.toList')
f(10,13035,3100,1,'scala/collection/IterableOnceOps.toList$')
f(11,13035,3100,1,'scala/collection/IterableOnceOps.toList')
f(12,13035,3100,1,'scala/collection/immutable/List.prependedAll')
f(13,13035,575,1,'cats/data/Chain$ChainIterator.next')
f(14,13035,575,1,'cats/data/Chain$ChainIterator.go$3')
f(15,13035,342,1,'scala/collection/immutable/List.$colon$colon')
f(16,13035,342,2,'scala.collection.immutable.$colon$colon')
f(15,13377,233,1,'scala/collection/immutable/List.iterator')
f(16,13377,233,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator$')
f(17,13377,233,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator')
f(18,13377,233,2,'scala.collection.StrictOptimizedLinearSeqOps$$anon$1')
f(13,13610,2525,2,'scala.collection.immutable.$colon$colon')
f(6,16135,1501,1,'kyo/bench/CollectAllBench$$Lambda$60.0x0000000800d98978.apply')
f(7,16135,1,1,'java/lang/Long.valueOf')
f(8,16135,1,2,'java.lang.Long')
f(7,16136,1500,1,'kyo/bench/CollectAllBench.catsBench$$anonfun$1')
f(8,16136,1500,1,'scala/collection/AbstractIterable.sum')
f(9,16136,1500,1,'scala/collection/IterableOnceOps.sum$')
f(10,16136,1500,1,'scala/collection/IterableOnceOps.sum')
f(11,16136,1500,1,'scala/collection/AbstractIterable.reduce')
f(12,16136,1500,1,'scala/collection/IterableOnceOps.reduce$')
f(13,16136,1500,1,'scala/collection/IterableOnceOps.reduce')
f(14,16136,1500,1,'scala/collection/AbstractIterable.reduceLeft')
f(15,16136,1500,1,'scala/collection/IterableOnceOps.reduceLeft$')
f(16,16136,1500,1,'scala/collection/IterableOnceOps.reduceLeft')
f(17,16136,1496,1,'scala/collection/IterableOnceOps$$Lambda$112.0x0000000800dc2c70.apply')
f(18,16136,1496,1,'scala/collection/IterableOnceOps.$anonfun$sum$1')
f(19,16136,1496,1,'scala/math/Numeric$IntIsIntegral$.plus')
f(20,16136,1496,1,'scala/runtime/BoxesRunTime.boxToInteger')
f(21,16136,1496,1,'java/lang/Integer.valueOf')
f(22,16136,1496,2,'java.lang.Integer')
f(17,17632,4,1,'scala/collection/immutable/List.iterator')
f(18,17632,4,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator$')
f(19,17632,4,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator')
f(20,17632,4,2,'scala.collection.StrictOptimizedLinearSeqOps$$anon$1')
f(3,17636,6007,1,'cats/effect/IOFiber.execR')
f(4,17636,18,1,'cats/effect/ArrayStack.init')
f(5,17636,18,2,'java.lang.Object[]')
f(4,17654,338,1,'cats/effect/ByteStack$.create')
f(5,17654,338,2,'int[]')
f(4,17992,5651,1,'cats/effect/IOFiber.runLoop')
f(5,17992,111,1,'cats/data/Chain$$$Lambda$111.0x0000000800dc68c0.apply')
f(6,17992,111,1,'cats/data/Chain$.$anonfun$1$$anonfun$1')
f(7,17992,111,1,'scala/collection/immutable/List.$colon$colon')
f(8,17992,111,2,'scala.collection.immutable.$colon$colon')
f(5,18103,244,1,'cats/effect/ArrayStack.push')
f(6,18103,244,1,'cats/effect/ArrayStack.checkAndGrow')
f(7,18103,244,2,'java.lang.Object[]')
f(5,18347,33,1,'cats/effect/ByteStack$.push')
f(6,18347,33,1,'cats/effect/ByteStack$.growIfNeeded')
f(7,18347,33,2,'int[]')
f(5,18380,3589,1,'cats/effect/IO$$anon$2$$Lambda$55.0x0000000800d975b0.apply')
f(6,18380,3589,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(7,18380,2140,1,'cats/Eval$Defer.value')
f(8,18380,2140,1,'cats/Eval$.cats$Eval$$$evaluate')
f(9,18380,1780,1,'cats/Eval$.loop$1')
f(10,18380,1780,1,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply')
f(11,18380,1780,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(12,18380,1434,1,'cats/effect/IO$$anon$2.map2Eval')
f(13,18380,1434,1,'cats/effect/IO$$anon$2.map2Eval')
f(14,18380,406,1,'cats/Eval$.now')
f(15,18380,406,1,'cats/Now$.apply')
f(16,18380,406,2,'cats.Now')
f(14,18786,519,1,'cats/effect/IO.flatMap')
f(15,18786,519,1,'cats/effect/IO$FlatMap$.apply')
f(16,18786,519,2,'cats.effect.IO$FlatMap')
f(14,19305,509,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(15,19305,509,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(16,19305,509,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(17,19305,509,2,'cats.effect.IO$$anon$2$$Lambda$55+0x0000000800d975b0')
f(12,19814,346,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,19814,346,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,19814,346,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,19814,346,2,'cats.data.Chain$$$Lambda$54+0x0000000800d97000')
f(9,20160,360,1,'cats/Eval$Ident$.apply')
f(10,20160,360,2,'cats.Eval$Ident')
f(7,20520,205,1,'cats/Later.value')
f(8,20520,205,1,'cats/data/Chain$$$Lambda$48.0x0000000800d92600.apply')
f(9,20520,205,1,'cats/data/Chain$.$anonfun$1')
f(10,20520,121,1,'cats/effect/IO$$anon$2.map')
f(11,20520,121,1,'cats/effect/IO$$anon$2.map')
f(12,20520,121,1,'cats/effect/IO.map')
f(13,20520,121,1,'cats/effect/IO$Map$.apply')
f(14,20520,121,2,'cats.effect.IO$Map')
f(10,20641,84,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,20641,84,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,20641,84,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,20641,84,2,'cats.data.Chain$$$Lambda$111+0x0000000800dc68c0')
f(7,20725,618,1,'cats/effect/IO.map')
f(8,20725,618,1,'cats/effect/IO$Map$.apply')
f(9,20725,618,2,'cats.effect.IO$Map')
f(7,21343,626,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,21343,626,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,21343,626,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,21343,626,2,'cats.effect.IO$$$Lambda$110+0x0000000800dc64f0')
f(5,21969,1674,1,'cats/effect/IOFiber.succeeded')
f(6,21969,66,1,'cats/data/Chain$$$Lambda$56.0x0000000800d97ba0.apply')
f(7,21969,66,1,'cats/data/Chain$.loop$4$$anonfun$2$$anonfun$1')
f(8,21969,66,1,'cats/data/Chain$.fromSeq')
f(9,21969,66,1,'cats/data/ChainCompanionCompat.fromSeq$')
f(10,21969,66,1,'cats/data/ChainCompanionCompat.fromSeq')
f(11,21969,66,1,'cats/data/Chain$Wrap$.apply')
f(12,21969,66,2,'cats.data.Chain$Wrap')
f(6,22035,747,1,'cats/effect/IO$$$Lambda$110.0x0000000800dc64f0.apply')
f(7,22035,747,1,'cats/effect/IO$.map2Eval$$anonfun$1$$anonfun$1')
f(8,22035,626,1,'cats/data/Chain$$$Lambda$54.0x0000000800d97000.apply')
f(9,22035,626,1,'cats/data/Chain$.loop$4$$anonfun$1$$anonfun$1')
f(10,22035,626,1,'scala/collection/immutable/List.$colon$colon')
f(11,22035,626,2,'scala.collection.immutable.$colon$colon')
f(8,22661,121,1,'cats/data/Chain$$$Lambda$58.0x0000000800d98000.apply')
f(9,22661,121,1,'cats/data/Chain$.loop$4$$anonfun$3$$anonfun$1')
f(10,22661,121,1,'cats/data/Chain.concat')
f(11,22661,121,1,'cats/data/Chain$.concat')
f(12,22661,121,1,'cats/data/Chain$Append$.apply')
f(13,22661,121,2,'cats.data.Chain$Append')
f(6,22782,861,1,'cats/effect/IO$$anon$2$$Lambda$55.0x0000000800d975b0.apply')
f(7,22782,861,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(8,22782,670,1,'cats/Eval$FlatMap.value')
f(9,22782,670,1,'cats/Eval$.cats$Eval$$$evaluate')
f(10,22782,593,1,'cats/Eval$.loop$1')
f(11,22782,253,1,'cats/Eval$$Lambda$51.0x0000000800d92f50.apply')
f(12,22782,253,1,'cats/Eval.map$$anonfun$1')
f(13,22782,72,1,'cats/Now$.apply')
f(14,22782,72,2,'cats.Now')
f(13,22854,181,1,'cats/data/Chain$$$Lambda$50.0x0000000800d92b80.apply')
f(14,22854,181,1,'cats/data/Chain$.loop$4$$anonfun$2')
f(15,22854,107,1,'cats/effect/IO$$anon$2.map')
f(16,22854,107,1,'cats/effect/IO$$anon$2.map')
f(17,22854,107,1,'cats/effect/IO.map')
f(18,22854,107,1,'cats/effect/IO$Map$.apply')
f(19,22854,107,2,'cats.effect.IO$Map')
f(15,22961,74,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,22961,74,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,22961,74,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,22961,74,2,'cats.data.Chain$$$Lambda$56+0x0000000800d97ba0')
f(11,23035,340,1,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply')
f(12,23035,340,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(13,23035,262,1,'cats/effect/IO$$anon$2.map2Eval')
f(14,23035,262,1,'cats/effect/IO$$anon$2.map2Eval')
f(15,23035,58,1,'cats/Eval$.now')
f(16,23035,58,1,'cats/Now$.apply')
f(17,23035,58,2,'cats.Now')
f(15,23093,111,1,'cats/effect/IO.flatMap')
f(16,23093,111,1,'cats/effect/IO$FlatMap$.apply')
f(17,23093,111,2,'cats.effect.IO$FlatMap')
f(15,23204,93,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,23204,93,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,23204,93,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,23204,93,2,'cats.effect.IO$$anon$2$$Lambda$55+0x0000000800d975b0')
f(13,23297,78,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,23297,78,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,23297,78,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,23297,78,2,'cats.data.Chain$$$Lambda$54+0x0000000800d97000')
f(10,23375,77,1,'cats/Eval$Ident$.apply')
f(11,23375,77,2,'cats.Eval$Ident')
f(8,23452,86,1,'cats/effect/IO.map')
f(9,23452,86,1,'cats/effect/IO$Map$.apply')
f(10,23452,86,2,'cats.effect.IO$Map')
f(8,23538,105,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,23538,105,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,23538,105,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,23538,105,2,'cats.effect.IO$$$Lambda$110+0x0000000800dc64f0')
f(1,23643,1,2,'java.lang.String')
f(1,23644,3612,1,'java/lang/Thread.run')
f(2,23644,3612,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,23644,3612,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,23644,3612,1,'java/util/concurrent/FutureTask.run')
f(5,23644,3612,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,23644,3612,1,'java/util/concurrent/FutureTask.run')
f(7,23644,3612,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,23644,3612,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,23644,3612,1,'java/lang/reflect/Method.invoke')
f(10,23644,3612,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,23644,3612,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,23644,3612,1,'kyo/bench/jmh_generated/CollectAllBench_syncCats_jmhTest.syncCats_Throughput')
f(13,23644,3612,1,'kyo/bench/jmh_generated/CollectAllBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,23644,3612,1,'kyo/bench/Bench.syncCats')
f(15,23644,60,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,23644,59,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,23644,5,1,'cats/effect/IO.unsafeRunAsync')
f(18,23644,4,1,'cats/effect/IO.unsafeRunFiber')
f(19,23644,3,1,'cats/effect/IOFiber.<init>')
f(20,23644,1,1,'cats/effect/ArrayStack$.apply')
f(21,23644,1,2,'cats.effect.ArrayStack')
f(20,23645,1,1,'cats/effect/CallbackStack$.apply')
f(21,23645,1,2,'cats.effect.CallbackStack')
f(20,23646,1,1,'cats/effect/IO$.async')
f(21,23646,1,1,'cats/effect/IO$IOCont$.apply')
f(22,23646,1,2,'cats.effect.IO$IOCont')
f(19,23647,1,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,23647,1,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,23647,1,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,23647,1,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,23647,1,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(18,23648,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,23648,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,23648,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,23648,1,2,'cats.effect.IO$$Lambda$104+0x0000000800dbd000')
f(17,23649,4,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,23653,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,23653,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,23653,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,23653,1,2,'cats.effect.IOPlatform$$Lambda$109+0x0000000800dc5c00')
f(17,23654,2,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,23654,2,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,23654,1,2,'java.lang.Object[]')
f(19,23655,1,2,'java.util.concurrent.locks.ReentrantLock')
f(17,23656,47,1,'scala/util/Either.fold')
f(18,23656,47,1,'cats/effect/IOPlatform$$Lambda$117.0x0000000800dc1ab0.apply')
f(19,23656,47,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,23656,47,1,'scala/Some$.apply')
f(21,23656,47,2,'scala.Some')
f(16,23703,1,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,23703,1,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,23703,1,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,23703,1,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,23703,1,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,23703,1,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,23703,1,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,23703,1,2,'scala.concurrent.duration.FiniteDuration')
f(15,23704,3552,1,'kyo/bench/CollectAllBench.catsBench')
f(16,23704,2341,1,'cats/Traverse$ToTraverseOps$$anon$3.sequence')
f(17,23704,2341,1,'cats/Traverse$Ops.sequence$')
f(18,23704,2341,1,'cats/Traverse$Ops.sequence')
f(19,23704,2341,1,'cats/instances/ListInstances$$anon$1.sequence')
f(20,23704,2341,1,'cats/Traverse.sequence$')
f(21,23704,2341,1,'cats/Traverse.sequence')
f(22,23704,2341,1,'cats/instances/ListInstances$$anon$1.traverse')
f(23,23704,2341,1,'cats/instances/ListInstances$$anon$1.traverse')
f(24,23704,2136,1,'cats/data/Chain$.traverseViaChain')
f(25,23704,521,1,'cats/Eval$FlatMap.value')
f(26,23704,521,1,'cats/Eval$.cats$Eval$$$evaluate')
f(27,23704,520,1,'cats/Eval$.loop$1')
f(28,23704,2,1,'cats/Eval$$Lambda$51.0x0000000800d92f50.apply')
f(29,23704,2,1,'cats/Eval.map$$anonfun$1')
f(30,23704,2,1,'cats/data/Chain$$$Lambda$50.0x0000000800d92b80.apply')
f(31,23704,2,1,'cats/data/Chain$.loop$4$$anonfun$2')
f(32,23704,2,1,'cats/effect/IO$$anon$2.map')
f(33,23704,2,1,'cats/effect/IO$$anon$2.map')
f(34,23704,2,1,'cats/effect/IO.map')
f(35,23704,2,1,'cats/effect/IO$Map$.apply')
f(36,23704,2,2,'cats.effect.IO$Map')
f(28,23706,1,1,'cats/Eval$$anon$1$$Lambda$53.0x0000000800d93930.apply')
f(29,23706,1,1,'cats/Eval$$anon$1.$init$$$anonfun$1')
f(30,23706,1,1,'cats/Eval$$anon$2.<init>')
f(31,23706,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(32,23706,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(33,23706,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(34,23706,1,2,'cats.Eval$$anon$2$$Lambda$57+0x0000000800d96a20')
f(28,23707,177,1,'cats/Eval$$anon$2$$Lambda$57.0x0000000800d96a20.apply')
f(29,23707,177,1,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2')
f(30,23707,174,1,'cats/Eval$$anon$1$$Lambda$53.0x0000000800d93930.apply')
f(31,23707,174,1,'cats/Eval$$anon$1.$init$$$anonfun$1')
f(32,23707,95,2,'cats.Eval$$anon$2')
f(32,23802,79,1,'cats/Eval$$anon$2.<init>')
f(33,23802,79,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(34,23802,79,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(35,23802,79,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(36,23802,79,2,'cats.Eval$$anon$2$$Lambda$57+0x0000000800d96a20')
f(30,23881,3,1,'cats/data/Chain$$$Lambda$52.0x0000000800d93320.apply')
f(31,23881,3,1,'cats/data/Chain$.loop$4$$anonfun$3')
f(32,23881,3,1,'cats/effect/IO$$anon$2.map2Eval')
f(33,23881,3,1,'cats/effect/IO$$anon$2.map2Eval')
f(34,23881,1,1,'cats/Eval$.now')
f(35,23881,1,1,'cats/Now$.apply')
f(36,23881,1,2,'cats.Now')
f(34,23882,1,1,'cats/effect/IO.flatMap')
f(35,23882,1,1,'cats/effect/IO$FlatMap$.apply')
f(36,23882,1,2,'cats.effect.IO$FlatMap')
f(34,23883,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(35,23883,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(36,23883,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(37,23883,1,2,'cats.effect.IO$$anon$2$$Lambda$55+0x0000000800d975b0')
f(28,23884,66,1,'cats/Eval$Many$.apply')
f(29,23884,66,2,'cats.Eval$Many')
f(28,23950,4,1,'cats/data/Chain$$$Lambda$47.0x0000000800d92040.apply')
f(29,23950,4,1,'cats/data/Chain$.$anonfun$2')
f(30,23950,4,1,'cats/data/Chain$.loop$4')
f(31,23950,1,1,'cats/Eval$.defer')
f(32,23950,1,2,'cats.Eval$$anon$5')
f(31,23951,1,1,'cats/Eval.map')
f(32,23951,1,1,'cats/Eval.flatMap')
f(33,23951,1,2,'cats.Eval$$anon$3')
f(31,23952,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(32,23952,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(33,23952,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(34,23952,1,2,'cats.data.Chain$$$Lambda$50+0x0000000800d92b80')
f(31,23953,1,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d95c00.linkToTargetMethod')
f(32,23953,1,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d95400.newInvokeSpecial')
f(33,23953,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(34,23953,1,2,'cats.data.Chain$$$Lambda$48+0x0000000800d92600')
f(28,23954,3,1,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply')
f(29,23954,3,1,'cats/data/Chain$.loop$4$$anonfun$1')
f(30,23954,3,1,'cats/effect/IO$$anon$2.map2Eval')
f(31,23954,3,1,'cats/effect/IO$$anon$2.map2Eval')
f(32,23954,2,1,'cats/effect/IO.flatMap')
f(33,23954,2,1,'cats/effect/IO$FlatMap$.apply')
f(34,23954,2,2,'cats.effect.IO$FlatMap')
f(32,23956,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(33,23956,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(34,23956,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(35,23956,1,2,'cats.effect.IO$$anon$2$$Lambda$55+0x0000000800d975b0')
f(28,23957,267,1,'cats/data/Chain$$$Lambda$52.0x0000000800d93320.apply')
f(29,23957,267,1,'cats/data/Chain$.loop$4$$anonfun$3')
f(30,23957,209,1,'cats/effect/IO$$anon$2.map2Eval')
f(31,23957,209,1,'cats/effect/IO$$anon$2.map2Eval')
f(32,23957,55,1,'cats/Eval$.now')
f(33,23957,55,1,'cats/Now$.apply')
f(34,23957,55,2,'cats.Now')
f(32,24012,82,1,'cats/effect/IO.flatMap')
f(33,24012,82,1,'cats/effect/IO$FlatMap$.apply')
f(34,24012,82,2,'cats.effect.IO$FlatMap')
f(32,24094,72,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(33,24094,72,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(34,24094,72,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(35,24094,72,2,'cats.effect.IO$$anon$2$$Lambda$55+0x0000000800d975b0')
f(30,24166,58,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(31,24166,58,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(32,24166,58,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(33,24166,58,2,'cats.data.Chain$$$Lambda$58+0x0000000800d98000')
f(27,24224,1,1,'cats/Eval$Ident$.apply')
f(28,24224,1,2,'cats.Eval$Ident')
f(25,24225,1615,1,'cats/data/Chain$.loop$4')
f(26,24225,1,1,'cats/Eval$.defer')
f(27,24225,1,2,'cats.Eval$$anon$5')
f(26,24226,159,1,'cats/Eval.flatMap')
f(27,24226,80,2,'cats.Eval$$anon$1')
f(27,24306,3,2,'cats.Eval$$anon$3')
f(27,24309,76,1,'cats/Eval$$anon$1.<init>')
f(28,24309,76,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(29,24309,76,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(30,24309,76,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(31,24309,76,2,'cats.Eval$$anon$1$$Lambda$53+0x0000000800d93930')
f(26,24385,1358,1,'cats/data/Chain$.loop$4')
f(27,24385,283,1,'cats/Eval$.defer')
f(28,24385,283,2,'cats.Eval$$anon$5')
f(27,24668,102,1,'cats/Eval$.later')
f(28,24668,102,2,'cats.Later')
f(27,24770,129,1,'cats/Eval.map')
f(28,24770,73,1,'cats/Eval.flatMap')
f(29,24770,73,2,'cats.Eval$$anon$3')
f(28,24843,56,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(29,24843,56,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(30,24843,56,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(31,24843,56,2,'cats.Eval$$Lambda$51+0x0000000800d92f50')
f(27,24899,736,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(28,24899,65,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(29,24899,65,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(30,24899,65,2,'cats.data.Chain$$$Lambda$50+0x0000000800d92b80')
f(28,24964,671,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d96000.newInvokeSpecial')
f(29,24964,671,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(30,24964,671,2,'cats.data.Chain$$$Lambda$49+0x0000000800d928c0')
f(27,25635,108,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d95c00.linkToTargetMethod')
f(28,25635,108,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d95400.newInvokeSpecial')
f(29,25635,108,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(30,25635,108,2,'cats.data.Chain$$$Lambda$48+0x0000000800d92600')
f(26,25743,94,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(27,25743,94,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(28,25743,94,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(29,25743,94,2,'cats.data.Chain$$$Lambda$52+0x0000000800d93320')
f(26,25837,3,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d94c00.linkToTargetMethod')
f(27,25837,3,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d94400.newInvokeSpecial')
f(28,25837,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(29,25837,3,2,'cats.data.Chain$$$Lambda$47+0x0000000800d92040')
f(24,25840,2,1,'cats/kernel/instances/StaticMethods$.wrapMutableIndexedSeq')
f(25,25840,2,2,'cats.kernel.instances.StaticMethods$WrappedIndexedSeq')
f(24,25842,203,1,'scala/collection/mutable/AbstractBuffer.$plus$plus$eq')
f(25,25842,203,1,'scala/collection/mutable/Growable.$plus$plus$eq$')
f(26,25842,203,1,'scala/collection/mutable/Growable.$plus$plus$eq')
f(27,25842,203,1,'scala/collection/mutable/ArrayBuffer.addAll')
f(28,25842,203,1,'scala/collection/mutable/ArrayBuffer.addAll')
f(29,25842,203,1,'scala/collection/mutable/Growable.addAll$')
f(30,25842,203,1,'scala/collection/mutable/Growable.addAll')
f(31,25842,1,1,'scala/collection/immutable/List.iterator')
f(32,25842,1,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator$')
f(33,25842,1,1,'scala/collection/StrictOptimizedLinearSeqOps.iterator')
f(34,25842,1,2,'scala.collection.StrictOptimizedLinearSeqOps$$anon$1')
f(31,25843,202,1,'scala/collection/mutable/ArrayBuffer.addOne')
f(32,25843,202,1,'scala/collection/mutable/ArrayBuffer.addOne')
f(33,25843,202,1,'scala/collection/mutable/ArrayBuffer.ensureAdditionalSize')
f(34,25843,202,1,'scala/collection/mutable/ArrayBuffer$.scala$collection$mutable$ArrayBuffer$$ensureSize')
f(35,25843,202,2,'java.lang.Object[]')
f(16,26045,1,1,'cats/effect/IO.map')
f(17,26045,1,1,'cats/effect/IO$Map$.apply')
f(18,26045,1,2,'cats.effect.IO$Map')
f(16,26046,551,1,'scala/collection/AbstractIterable.toList')
f(17,26046,551,1,'scala/collection/IterableOnceOps.toList$')
f(18,26046,551,1,'scala/collection/IterableOnceOps.toList')
f(19,26046,551,1,'scala/collection/immutable/List.prependedAll')
f(20,26046,547,2,'scala.collection.immutable.$colon$colon')
f(20,26593,4,1,'scala/collection/immutable/Vector.iterator')
f(21,26593,4,2,'scala.collection.immutable.NewVectorIterator')
f(16,26597,659,1,'scala/collection/immutable/Range.map')
f(17,26597,543,1,'kyo/bench/CollectAllBench$$Lambda$39.0x0000000800cbdc70.apply')
f(18,26597,543,1,'kyo/bench/CollectAllBench.$anonfun$adapted$2')
f(19,26597,543,1,'kyo/bench/CollectAllBench.$anonfun$3')
f(20,26597,543,1,'cats/effect/IO$.apply')
f(21,26597,543,1,'cats/effect/IO$.delay')
f(22,26597,543,1,'cats/effect/IO$Delay$.apply')
f(23,26597,543,2,'cats.effect.IO$Delay')
f(17,27140,2,1,'scala/collection/SeqFactory$Delegate.newBuilder')
f(18,27140,2,1,'scala/collection/immutable/Vector$.newBuilder')
f(19,27140,2,1,'scala/collection/immutable/Vector$.newBuilder')
f(20,27140,2,1,'scala/collection/immutable/VectorBuilder.<init>')
f(21,27140,2,2,'java.lang.Object[]')
f(17,27142,105,1,'scala/collection/immutable/VectorBuilder.addOne')
f(18,27142,105,1,'scala/collection/immutable/VectorBuilder.addOne')
f(19,27142,105,1,'scala/collection/immutable/VectorBuilder.advance')
f(20,27142,105,1,'scala/collection/immutable/VectorBuilder.advance1')
f(21,27142,2,2,'java.lang.Object[][]')
f(21,27144,103,2,'java.lang.Object[]')
f(17,27247,9,1,'scala/collection/immutable/VectorBuilder.result')
f(18,27247,9,1,'scala/collection/immutable/VectorBuilder.result')
f(19,27247,1,1,'java/util/Arrays.copyOf')
f(20,27247,1,2,'java.lang.Object[]')
f(19,27248,5,1,'java/util/Arrays.copyOfRange')
f(20,27248,5,2,'java.lang.Object[][]')
f(19,27253,3,2,'scala.collection.immutable.Vector2')
f(1,27256,24,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,27256,24,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,27256,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,27256,24,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,27256,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,27256,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,27256,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,27256,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,27256,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,27256,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,27256,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,27256,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,27256,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,27256,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,27256,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,27256,1,2,'java.lang.Object[]')
f(7,27257,9,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,27257,2,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,27257,2,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,27259,1,5,'org.openjdk.jmh.runner.InfraControl')
f(8,27260,1,1,'org/openjdk/jmh/runner/InfraControl.<init>')
f(9,27260,1,1,'org/openjdk/jmh/runner/InfraControlL4.<init>')
f(10,27260,1,1,'org/openjdk/jmh/runner/InfraControlL3.<init>')
f(11,27260,1,1,'org/openjdk/jmh/runner/InfraControlL2.<init>')
f(12,27260,1,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,27261,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,27261,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,27261,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,27261,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,27261,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,27261,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,27266,14,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,27266,14,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,27266,3,1,'java/lang/ClassLoader.loadClass')
f(10,27266,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,27266,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,27266,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,27266,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,27266,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,27266,1,1,'java/security/CodeSource.<init>')
f(16,27266,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,27266,1,1,'java/lang/StringBuilder.append')
f(18,27266,1,1,'java/lang/AbstractStringBuilder.append')
f(19,27266,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,27266,1,1,'java/util/Arrays.copyOf')
f(21,27266,1,2,'byte[]')
f(15,27267,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,27267,1,1,'java/util/Arrays.copyOf')
f(17,27267,1,5,'byte[]')
f(14,27268,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,27268,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,27268,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,27268,1,1,'java/net/URL.<init>')
f(18,27268,1,1,'java/net/URL.<init>')
f(19,27268,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,27268,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,27268,1,1,'java/lang/StringBuilder.toString')
f(22,27268,1,1,'java/lang/StringLatin1.newString')
f(23,27268,1,2,'java.lang.String')
f(9,27269,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,27269,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,27269,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,27269,11,1,'java/io/ObjectStreamClass.lookup')
f(13,27269,11,1,'java/io/ObjectStreamClass.<init>')
f(14,27269,11,1,'java/security/AccessController.doPrivileged')
f(15,27269,11,1,'java/security/AccessController.executePrivileged')
f(16,27269,11,1,'java/io/ObjectStreamClass$2.run')
f(17,27269,11,1,'java/io/ObjectStreamClass$2.run')
f(18,27269,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,27269,2,1,'java/lang/Class.getDeclaredMethod')
f(20,27269,1,1,'java/lang/Class.methodToString')
f(21,27269,1,1,'java/lang/StringBuilder.append')
f(22,27269,1,1,'java/lang/AbstractStringBuilder.append')
f(23,27269,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,27269,1,1,'java/util/Arrays.copyOf')
f(25,27269,1,2,'byte[]')
f(20,27270,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,27270,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,27270,1,1,'java/lang/Exception.<init>')
f(23,27270,1,1,'java/lang/Throwable.<init>')
f(24,27270,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,27270,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,27270,1,2,'short[]')
f(18,27271,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,27271,3,1,'java/lang/Class.getDeclaredMethod')
f(20,27271,2,1,'java/lang/Class.methodToString')
f(21,27271,1,1,'java/lang/StringBuilder.append')
f(22,27271,1,1,'java/lang/AbstractStringBuilder.append')
f(23,27271,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,27271,1,1,'java/util/Arrays.copyOf')
f(25,27271,1,2,'byte[]')
f(21,27272,1,1,'java/lang/StringBuilder.toString')
f(22,27272,1,1,'java/lang/StringLatin1.newString')
f(23,27272,1,1,'java/util/Arrays.copyOfRange')
f(24,27272,1,2,'byte[]')
f(20,27273,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,27273,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,27273,1,1,'java/lang/Exception.<init>')
f(23,27273,1,1,'java/lang/Throwable.<init>')
f(24,27273,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,27273,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,27273,1,5,'long[]')
f(18,27274,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,27274,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,27274,1,1,'java/lang/Class.getDeclaredField')
f(21,27274,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,27274,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,27274,1,1,'java/lang/Exception.<init>')
f(24,27274,1,1,'java/lang/Throwable.<init>')
f(25,27274,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,27274,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,27274,1,2,'long[]')
f(18,27275,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,27275,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,27275,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,27275,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,27275,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,27275,1,1,'java/security/AccessController.doPrivileged')
f(24,27275,1,1,'java/security/AccessController.executePrivileged')
f(25,27275,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,27275,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,27275,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,27275,1,1,'java/security/AccessController.doPrivileged')
f(29,27275,1,1,'java/security/AccessController.executePrivileged')
f(30,27275,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,27275,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,27275,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,27275,1,1,'java/lang/ClassLoader.<init>')
f(34,27275,1,1,'java/lang/ClassLoader.<init>')
f(35,27275,1,1,'java/lang/ClassLoader.nameAndId')
f(36,27275,1,1,'java/lang/StringBuilder.<init>')
f(37,27275,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,27275,1,2,'byte[]')
f(23,27276,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,27276,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,27276,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,27276,1,2,'byte[]')
f(23,27277,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,27277,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,27277,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,27277,1,2,'byte[]')
f(23,27278,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,27278,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,27278,1,1,'java/lang/String.replace')
f(26,27278,1,1,'java/lang/StringLatin1.replace')
f(27,27278,1,2,'java.lang.String')
f(23,27279,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,27279,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 672px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(42);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,464,3,'all')
f(1,0,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,1,3,'thread_native_entry(Thread*)')
f(3,0,1,4,'Thread::call_run()')
f(4,0,1,4,'VMThread::run()')
f(5,0,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,0,1,4,'VMThread::evaluate_operation(VM_Operation*)')
f(7,0,1,4,'VM_Operation::evaluate()')
f(8,0,1,4,'VM_G1CollectForAllocation::doit()')
f(9,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint_helper(double)')
f(11,0,1,4,'G1CollectedHeap::pre_evacuate_collection_set(G1EvacuationInfo&, G1ParScanThreadStateSet*)')
f(12,0,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(13,0,1,3,'sem_post')
f(14,0,1,5,'entry_SYSCALL_64_after_hwframe')
f(15,0,1,5,'do_syscall_64')
f(16,0,1,5,'__x64_sys_futex')
f(17,0,1,5,'do_futex')
f(18,0,1,5,'futex_wake')
f(19,0,1,5,'wake_up_q')
f(20,0,1,5,'_raw_spin_unlock_irqrestore')
f(1,1,7,3,'[unknown_Java]')
f(2,1,1,1,'cats/Eval$.loop$1')
f(2,2,1,1,'cats/effect/IO$$$Lambda$110.0x0000000800dc64f0.apply')
f(2,3,4,6,'cats/effect/IO$FlatMap.tag',0,4,0)
f(2,7,1,6,'cats/effect/IO$Map.tag',0,1,0)
f(1,8,308,1,'cats/effect/unsafe/WorkerThread.run')
f(2,8,299,1,'cats/effect/IOFiber.run')
f(3,8,240,1,'cats/effect/IOFiber.autoCedeR')
f(4,8,240,1,'cats/effect/IOFiber.runLoop')
f(5,11,7,2,'cats/effect/ArrayStack.push',7,0,0)
f(6,15,3,2,'cats/effect/ArrayStack.checkAndGrow',3,0,0)
f(5,18,2,2,'cats/effect/ByteStack$.push',2,0,0)
f(5,20,55,1,'cats/effect/IO$$anon$2$$Lambda$55.0x0000000800d975b0.apply',3,0,0)
f(6,20,55,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1',3,0,0)
f(7,22,46,1,'cats/Eval$Defer.value')
f(8,23,45,1,'cats/Eval$.cats$Eval$$$evaluate')
f(9,23,45,1,'cats/Eval$.loop$1')
f(10,26,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(11,26,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(12,26,1,4,'MemAllocator::allocate() const')
f(13,26,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(14,26,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(10,27,24,2,'cats/Eval$$anon$2$$Lambda$57.0x0000000800d96a20.apply',24,0,0)
f(11,28,23,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',23,0,0)
f(12,28,6,2,'cats/Eval$$anon$1$$Lambda$53.0x0000000800d93930.apply',6,0,0)
f(13,28,6,2,'cats/Eval$$anon$1.$init$$$anonfun$1',6,0,0)
f(14,28,6,2,'cats/Eval$$anon$2.<init>',6,0,0)
f(12,34,17,2,'cats/data/Chain$$$Lambda$52.0x0000000800d93320.apply',17,0,0)
f(13,34,17,2,'cats/data/Chain$.loop$4$$anonfun$3',17,0,0)
f(14,34,17,2,'cats/effect/IO$$anon$2.map2Eval',17,0,0)
f(15,41,10,2,'cats/effect/IO$$anon$2.map2Eval',10,0,0)
f(16,41,1,2,'cats/Eval$.now',1,0,0)
f(17,41,1,2,'cats/Now$.apply',1,0,0)
f(18,41,1,2,'cats/Now.<init>',1,0,0)
f(19,41,1,2,'cats/Eval$Leaf.<init>',1,0,0)
f(20,41,1,2,'cats/Eval.<init>',1,0,0)
f(16,42,9,2,'cats/effect/IO.flatMap',9,0,0)
f(17,42,9,2,'cats/effect/IO$FlatMap$.apply',9,0,0)
f(18,42,9,2,'cats/effect/IO$FlatMap.<init>',9,0,0)
f(19,42,9,2,'cats/effect/IO.<init>',9,0,0)
f(20,43,8,2,'cats/effect/IOPlatform.<init>',8,0,0)
f(10,51,17,2,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply',17,0,0)
f(11,52,16,2,'cats/data/Chain$.loop$4$$anonfun$1',16,0,0)
f(12,53,12,2,'cats/effect/IO$$anon$2.map2Eval',12,0,0)
f(13,55,10,2,'cats/effect/IO$$anon$2.map2Eval',10,0,0)
f(12,65,3,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',3,0,0)
f(13,66,2,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',2,0,0)
f(7,68,6,1,'cats/Later.value')
f(8,70,2,2,'cats/data/Chain$$$Lambda$48.0x0000000800d92600.apply',2,0,0)
f(9,70,2,2,'cats/data/Chain$.$anonfun$1',2,0,0)
f(10,70,2,2,'cats/kernel/instances/StaticMethods$WrappedIndexedSeq.apply',2,0,0)
f(11,71,1,2,'scala/collection/mutable/ArrayBuffer.apply',1,0,0)
f(8,72,1,2,'scala/runtime/LazyVals$.CAS',1,0,0)
f(9,72,1,2,'sun/misc/Unsafe.compareAndSwapLong',1,0,0)
f(8,73,1,2,'scala/runtime/LazyVals$.get',1,0,0)
f(9,73,1,2,'sun/misc/Unsafe.getLongVolatile',1,0,0)
f(7,74,1,3,'vtable stub')
f(5,75,2,6,'cats/effect/IO$Delay.tag',0,2,0)
f(5,77,4,6,'cats/effect/IO$FlatMap.tag',0,4,0)
f(5,81,2,6,'cats/effect/IO$Map.tag',0,2,0)
f(5,83,1,2,'cats/effect/IOFiber.rescheduleFiber',1,0,0)
f(5,84,122,1,'cats/effect/IOFiber.succeeded')
f(6,92,2,1,'cats/data/Chain$$$Lambda$56.0x0000000800d97ba0.apply')
f(6,94,2,2,'cats/effect/ArrayStack.pop',2,0,0)
f(6,96,3,2,'cats/effect/ByteStack$.pop',3,0,0)
f(7,98,1,2,'cats/effect/ByteStack$.peek',1,0,0)
f(6,99,8,1,'cats/effect/IO$$$Lambda$110.0x0000000800dc64f0.apply')
f(7,103,4,2,'cats/effect/IO$.map2Eval$$anonfun$1$$anonfun$1',4,0,0)
f(8,106,1,2,'cats/data/Chain$$$Lambda$54.0x0000000800d97000.apply',1,0,0)
f(9,106,1,2,'cats/data/Chain$.loop$4$$anonfun$1$$anonfun$1',1,0,0)
f(10,106,1,2,'scala/collection/immutable/List.$colon$colon',1,0,0)
f(6,107,7,1,'cats/effect/IO$$anon$2$$Lambda$55.0x0000000800d975b0.apply',1,0,0)
f(7,107,7,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1',1,0,0)
f(8,108,6,1,'cats/Eval$FlatMap.value')
f(9,108,6,1,'cats/Eval$.cats$Eval$$$evaluate',1,0,0)
f(10,108,5,1,'cats/Eval$.loop$1')
f(11,108,3,2,'cats/Eval$$anon$2$$Lambda$57.0x0000000800d96a20.apply',3,0,0)
f(12,108,3,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',3,0,0)
f(13,108,3,2,'cats/data/Chain$$$Lambda$52.0x0000000800d93320.apply',3,0,0)
f(14,108,3,2,'cats/data/Chain$.loop$4$$anonfun$3',3,0,0)
f(15,108,3,2,'cats/effect/IO$$anon$2.map2Eval',3,0,0)
f(16,108,3,2,'cats/effect/IO$$anon$2.map2Eval',3,0,0)
f(17,108,3,2,'cats/effect/IO.flatMap',3,0,0)
f(18,108,3,2,'cats/effect/IO$FlatMap$.apply',3,0,0)
f(19,108,3,2,'cats/effect/IO$FlatMap.<init>',3,0,0)
f(20,109,2,2,'cats/effect/IO.<init>',2,0,0)
f(21,109,2,2,'cats/effect/IOPlatform.<init>',2,0,0)
f(11,111,1,2,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply',1,0,0)
f(12,111,1,2,'cats/data/Chain$.loop$4$$anonfun$1',1,0,0)
f(13,111,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(14,111,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(15,111,1,2,'cats/data/Chain$$$Lambda$54.0x0000000800d97000.<init>',1,0,0)
f(16,111,1,2,'java/lang/Object.<init>',1,0,0)
f(11,112,1,3,'itable stub')
f(10,113,1,2,'cats/Eval$Ident$.apply',1,0,0)
f(6,114,17,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,114,16,1,'cats/effect/IOFiber.done')
f(8,114,16,1,'cats/effect/CallbackStack.apply')
f(9,114,16,1,'scala/runtime/function/JProcedure1.apply')
f(10,114,16,1,'scala/runtime/function/JProcedure1.apply')
f(11,114,16,1,'cats/effect/IO$$Lambda$106.0x0000000800dc4000.applyVoid')
f(12,114,16,1,'cats/effect/IO.$anonfun$6')
f(13,114,16,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,114,16,1,'cats/effect/kernel/Outcome.fold$',2,0,0)
f(15,114,16,1,'cats/effect/kernel/Outcome.fold',2,0,0)
f(16,114,16,1,'scala/runtime/function/JProcedure1.apply',2,0,0)
f(17,114,16,1,'scala/runtime/function/JProcedure1.apply',2,0,0)
f(18,114,16,1,'cats/effect/IO$$Lambda$115.0x0000000800dc1000.applyVoid',2,0,0)
f(19,114,16,1,'cats/effect/IO.$anonfun$6$$anonfun$3',2,0,0)
f(20,114,2,2,'cats/effect/unsafe/StripedHashtable.remove',2,0,0)
f(21,115,1,2,'cats/effect/unsafe/ThreadSafeHashtable.remove',1,0,0)
f(20,116,14,1,'scala/runtime/function/JProcedure1.apply')
f(21,116,14,1,'scala/runtime/function/JProcedure1.apply')
f(22,116,14,1,'cats/effect/IO$$Lambda$105.0x0000000800dbd408.applyVoid')
f(23,116,14,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,116,14,1,'scala/runtime/function/JProcedure1.apply')
f(25,116,14,1,'scala/runtime/function/JProcedure1.apply')
f(26,116,14,1,'cats/effect/IOPlatform$$Lambda$102.0x0000000800dbf878.applyVoid')
f(27,116,14,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,116,14,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,116,1,2,'java/util/concurrent/ArrayBlockingQueue.enqueue',1,0,0)
f(30,116,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal',1,0,0)
f(31,116,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal',1,0,0)
f(32,116,1,2,'java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.getAndUnsetStatus',1,0,0)
f(33,116,1,2,'jdk/internal/misc/Unsafe.getAndBitwiseAndInt',1,0,0)
f(29,117,13,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(30,117,13,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(31,117,13,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(32,117,13,1,'java/util/concurrent/locks/LockSupport.unpark')
f(33,117,13,1,'jdk/internal/misc/Unsafe.unpark')
f(34,117,13,3,'pthread_cond_signal')
f(35,117,13,5,'entry_SYSCALL_64_after_hwframe')
f(36,117,13,5,'do_syscall_64')
f(37,117,13,5,'__x64_sys_futex')
f(38,117,13,5,'do_futex')
f(39,117,1,5,'_raw_spin_lock')
f(39,118,12,5,'futex_wake')
f(40,119,1,5,'get_futex_key')
f(40,120,10,5,'wake_up_q')
f(41,120,10,5,'_raw_spin_unlock_irqrestore')
f(7,130,1,2,'cats/effect/kernel/Outcome$Succeeded$.apply',1,0,0)
f(6,131,47,1,'cats/instances/ListInstances$$anon$1$$Lambda$59.0x0000000800d985b0.apply')
f(7,131,47,1,'cats/instances/ListInstances.cats$instances$ListInstances$$anon$1$$_$traverse$$anonfun$1')
f(8,131,47,1,'cats/data/Chain.toList')
f(9,131,47,1,'cats/data/Chain$ChainIterator.toList')
f(10,131,47,1,'scala/collection/IterableOnceOps.toList$')
f(11,131,47,1,'scala/collection/IterableOnceOps.toList')
f(12,131,47,1,'scala/collection/immutable/List.prependedAll')
f(13,134,3,2,'cats/data/Chain$ChainIterator.hasNext',3,0,0)
f(14,136,1,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.hasNext',1,0,0)
f(13,137,26,1,'cats/data/Chain$ChainIterator.next')
f(14,137,26,2,'cats/data/Chain$ChainIterator.go$3',26,0,0)
f(15,144,18,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.next',18,0,0)
f(15,162,1,2,'scala/collection/immutable/List.iterator',1,0,0)
f(16,162,1,2,'scala/collection/StrictOptimizedLinearSeqOps.iterator$',1,0,0)
f(17,162,1,2,'scala/collection/StrictOptimizedLinearSeqOps.iterator',1,0,0)
f(18,162,1,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.<init>',1,0,0)
f(13,163,4,2,'scala/collection/immutable/$colon$colon.<init>',4,0,0)
f(14,164,1,2,'scala/collection/immutable/List.<init>',1,0,0)
f(15,164,1,2,'scala/collection/immutable/AbstractSeq.<init>',1,0,0)
f(14,165,2,2,'scala/runtime/Statics.releaseFence',2,0,0)
f(15,165,2,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d20000.invoke_MT',2,0,0)
f(13,167,11,2,'scala/collection/immutable/NewVectorIterator.next',11,0,0)
f(14,167,11,2,'scala/collection/immutable/NewVectorIterator.advance',11,0,0)
f(15,167,11,2,'scala/collection/immutable/NewVectorIterator.advanceSlice',11,0,0)
f(16,177,1,5,'asm_sysvec_hyperv_stimer0')
f(17,177,1,5,'sysvec_hyperv_stimer0')
f(18,177,1,5,'irq_exit_rcu')
f(19,177,1,5,'__irq_exit_rcu')
f(20,177,1,5,'__softirqentry_text_start')
f(21,177,1,5,'run_rebalance_domains')
f(22,177,1,5,'update_blocked_averages')
f(6,178,8,3,'itable stub')
f(6,186,20,1,'kyo/bench/CollectAllBench$$Lambda$60.0x0000000800d98978.apply')
f(7,186,20,2,'kyo/bench/CollectAllBench.catsBench$$anonfun$1',14,0,0)
f(8,186,20,2,'scala/collection/AbstractIterable.sum',14,0,0)
f(9,186,20,2,'scala/collection/IterableOnceOps.sum$',14,0,0)
f(10,186,20,2,'scala/collection/IterableOnceOps.sum',14,0,0)
f(11,186,20,2,'scala/collection/AbstractIterable.reduce',14,0,0)
f(12,186,20,2,'scala/collection/IterableOnceOps.reduce$',14,0,0)
f(13,186,20,2,'scala/collection/IterableOnceOps.reduce',14,0,0)
f(14,186,20,2,'scala/collection/AbstractIterable.reduceLeft',14,0,0)
f(15,186,20,2,'scala/collection/IterableOnceOps.reduceLeft$',14,0,0)
f(16,186,20,2,'scala/collection/IterableOnceOps.reduceLeft',14,0,0)
f(17,187,16,2,'scala/collection/IterableOnceOps$$Lambda$112.0x0000000800dc2c70.apply',10,0,0)
f(18,187,16,2,'scala/collection/IterableOnceOps.$anonfun$sum$1',10,0,0)
f(19,187,16,2,'scala/math/Numeric$IntIsIntegral$.plus',10,0,0)
f(20,187,15,2,'scala/runtime/BoxesRunTime.boxToInteger',9,0,0)
f(21,194,8,1,'java/lang/Integer.valueOf',2,0,0)
f(22,196,6,1,'java/lang/Integer.<init>')
f(23,196,6,1,'java/lang/Number.<init>')
f(20,202,1,2,'scala/runtime/BoxesRunTime.unboxToInt',1,0,0)
f(17,203,3,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.next',3,0,0)
f(5,206,26,2,'kyo/bench/CollectAllBench$$Lambda$43.0x0000000800d37cb0.apply',26,0,0)
f(5,232,16,3,'vtable stub')
f(3,248,59,1,'cats/effect/IOFiber.execR')
f(4,248,59,1,'cats/effect/IOFiber.runLoop')
f(5,253,1,2,'cats/effect/ArrayStack.push',1,0,0)
f(5,254,1,2,'cats/effect/ByteStack$.push',1,0,0)
f(5,255,16,1,'cats/effect/IO$$anon$2$$Lambda$55.0x0000000800d975b0.apply',2,0,0)
f(6,255,16,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1',2,0,0)
f(7,256,11,1,'cats/Eval$Defer.value')
f(8,257,10,1,'cats/Eval$.cats$Eval$$$evaluate')
f(9,257,10,1,'cats/Eval$.loop$1')
f(10,258,5,2,'cats/Eval$$anon$2$$Lambda$57.0x0000000800d96a20.apply',5,0,0)
f(11,258,5,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',5,0,0)
f(12,258,2,2,'cats/Eval$$anon$1$$Lambda$53.0x0000000800d93930.apply',2,0,0)
f(13,258,2,2,'cats/Eval$$anon$1.$init$$$anonfun$1',2,0,0)
f(14,258,2,2,'cats/Eval$$anon$2.<init>',2,0,0)
f(12,260,3,2,'cats/data/Chain$$$Lambda$52.0x0000000800d93320.apply',3,0,0)
f(13,260,3,2,'cats/data/Chain$.loop$4$$anonfun$3',3,0,0)
f(14,260,3,2,'cats/effect/IO$$anon$2.map2Eval',3,0,0)
f(15,261,2,2,'cats/effect/IO$$anon$2.map2Eval',2,0,0)
f(16,262,1,2,'cats/Eval$.now',1,0,0)
f(17,262,1,2,'cats/Now$.apply',1,0,0)
f(18,262,1,2,'cats/Now.<init>',1,0,0)
f(19,262,1,2,'cats/Eval$Leaf.<init>',1,0,0)
f(20,262,1,2,'cats/Eval.<init>',1,0,0)
f(10,263,4,2,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply',4,0,0)
f(11,264,3,2,'cats/data/Chain$.loop$4$$anonfun$1',3,0,0)
f(12,264,2,2,'cats/effect/IO$$anon$2.map2Eval',2,0,0)
f(13,265,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(12,266,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(13,266,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(7,267,3,1,'cats/Later.value')
f(8,269,1,2,'scala/runtime/LazyVals$.CAS',1,0,0)
f(9,269,1,2,'sun/misc/Unsafe.compareAndSwapLong',1,0,0)
f(7,270,1,3,'vtable stub')
f(5,271,5,6,'cats/effect/IO$FlatMap.tag',0,5,0)
f(5,276,3,6,'cats/effect/IO$Map.tag',0,3,0)
f(5,279,15,1,'cats/effect/IOFiber.succeeded')
f(6,281,1,2,'cats/effect/ByteStack$.pop',1,0,0)
f(6,282,4,1,'cats/effect/IO$$$Lambda$110.0x0000000800dc64f0.apply')
f(7,285,1,2,'cats/effect/IO$.map2Eval$$anonfun$1$$anonfun$1',1,0,0)
f(8,285,1,2,'cats/data/Chain$$$Lambda$54.0x0000000800d97000.apply',1,0,0)
f(9,285,1,2,'cats/data/Chain$.loop$4$$anonfun$1$$anonfun$1',1,0,0)
f(10,285,1,2,'scala/collection/immutable/List.$colon$colon',1,0,0)
f(11,285,1,2,'scala/collection/immutable/$colon$colon.<init>',1,0,0)
f(6,286,2,1,'cats/effect/IO$$anon$2$$Lambda$55.0x0000000800d975b0.apply')
f(7,286,2,1,'cats/effect/IO$.cats$effect$IO$$anon$2$$_$map2Eval$$anonfun$1')
f(8,286,2,1,'cats/Eval$FlatMap.value')
f(9,286,2,1,'cats/Eval$.cats$Eval$$$evaluate')
f(10,286,2,1,'cats/Eval$.loop$1')
f(11,286,2,2,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply',2,0,0)
f(12,286,2,2,'cats/data/Chain$.loop$4$$anonfun$1',2,0,0)
f(13,286,2,2,'cats/effect/IO$$anon$2.map2Eval',2,0,0)
f(14,287,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(6,288,6,3,'itable stub')
f(5,294,9,2,'kyo/bench/CollectAllBench$$Lambda$43.0x0000000800d37cb0.apply',9,0,0)
f(5,303,4,3,'vtable stub')
f(2,307,9,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,307,9,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,307,9,1,'java/util/concurrent/locks/LockSupport.park')
f(5,307,9,1,'jdk/internal/misc/Unsafe.park')
f(6,307,9,3,'[unknown]')
f(7,307,8,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,307,8,5,'entry_SYSCALL_64_after_hwframe')
f(9,307,8,5,'do_syscall_64')
f(10,307,8,5,'__x64_sys_futex')
f(11,307,8,5,'do_futex')
f(12,307,8,5,'futex_wait')
f(13,308,1,5,'__get_user_nocheck_4')
f(13,309,6,5,'futex_wait_queue_me')
f(14,310,5,5,'schedule')
f(15,310,5,5,'__schedule')
f(16,310,5,5,'finish_task_switch.isra.0')
f(7,315,1,3,'pthread_mutex_trylock')
f(1,316,148,1,'java/lang/Thread.run')
f(2,316,148,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,316,148,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,316,148,1,'java/util/concurrent/FutureTask.run')
f(5,316,148,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,316,148,1,'java/util/concurrent/FutureTask.run')
f(7,316,148,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,316,148,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,316,148,1,'java/lang/reflect/Method.invoke')
f(10,316,148,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,316,148,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,316,148,1,'kyo/bench/jmh_generated/CollectAllBench_syncCats_jmhTest.syncCats_Throughput')
f(13,316,148,1,'kyo/bench/jmh_generated/CollectAllBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,316,148,1,'kyo/bench/Bench.syncCats')
f(15,316,19,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,316,19,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,316,7,1,'cats/effect/IO.unsafeRunAsync')
f(18,316,7,1,'cats/effect/IO.unsafeRunFiber')
f(19,316,7,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,316,7,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,316,7,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,316,7,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,316,7,1,'jdk/internal/misc/Unsafe.unpark')
f(24,316,7,3,'pthread_cond_signal')
f(25,316,7,5,'entry_SYSCALL_64_after_hwframe')
f(26,316,7,5,'do_syscall_64')
f(27,316,7,5,'__x64_sys_futex')
f(28,316,7,5,'do_futex')
f(29,316,7,5,'futex_wake')
f(30,316,7,5,'wake_up_q')
f(31,316,7,5,'_raw_spin_unlock_irqrestore')
f(17,323,12,1,'scala/concurrent/package$.blocking')
f(18,323,12,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,323,12,1,'cats/effect/IOPlatform$$Lambda$109.0x0000000800dc5c00.apply')
f(20,323,12,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,323,12,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,323,12,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,325,10,1,'java/util/concurrent/locks/LockSupport.parkNanos',1,0,0)
f(24,325,1,2,'java/util/concurrent/locks/LockSupport.setBlocker',1,0,0)
f(25,325,1,4,'os::javaTimeNanos()')
f(24,326,9,1,'jdk/internal/misc/Unsafe.park')
f(25,326,1,3,'Unsafe_Park')
f(26,326,1,3,'clock_gettime')
f(27,326,1,3,'[vdso]')
f(25,327,8,3,'[unknown]')
f(26,327,8,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,328,7,5,'entry_SYSCALL_64_after_hwframe')
f(28,328,7,5,'do_syscall_64')
f(29,328,6,5,'__x64_sys_futex')
f(30,328,6,5,'do_futex')
f(31,328,6,5,'futex_wait')
f(32,328,6,5,'futex_wait_queue_me')
f(33,328,6,5,'schedule')
f(34,328,6,5,'__schedule')
f(35,328,6,5,'finish_task_switch.isra.0')
f(29,334,1,5,'syscall_enter_from_user_mode')
f(15,335,129,1,'kyo/bench/CollectAllBench.catsBench')
f(16,341,74,1,'cats/Traverse$ToTraverseOps$$anon$3.sequence',5,0,0)
f(17,341,74,1,'cats/Traverse$Ops.sequence$',5,0,0)
f(18,341,74,1,'cats/Traverse$Ops.sequence',5,0,0)
f(19,341,74,1,'cats/instances/ListInstances$$anon$1.sequence',5,0,0)
f(20,341,74,1,'cats/Traverse.sequence$',5,0,0)
f(21,341,74,1,'cats/Traverse.sequence',5,0,0)
f(22,341,74,1,'cats/instances/ListInstances$$anon$1.traverse',5,0,0)
f(23,341,74,1,'cats/instances/ListInstances$$anon$1.traverse',5,0,0)
f(24,341,47,1,'cats/data/Chain$.traverseViaChain')
f(25,341,12,1,'cats/Eval$FlatMap.value')
f(26,341,12,1,'cats/Eval$.cats$Eval$$$evaluate')
f(27,341,12,1,'cats/Eval$.loop$1')
f(28,342,1,2,'cats/Eval$$anon$2$$Lambda$57.0x0000000800d96a20.apply',1,0,0)
f(29,342,1,2,'cats/Eval.cats$Eval$$anon$2$$_$$lessinit$greater$$anonfun$2',1,0,0)
f(30,342,1,2,'cats/Eval$$anon$3.run',1,0,0)
f(28,343,1,6,'cats/Eval$$anon$2.start',0,1,0)
f(28,344,1,1,'cats/data/Chain$$$Lambda$47.0x0000000800d92040.apply')
f(29,344,1,1,'cats/data/Chain$.$anonfun$2')
f(30,344,1,1,'cats/data/Chain$.loop$4')
f(31,344,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(28,345,2,2,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.apply',2,0,0)
f(29,345,2,2,'cats/data/Chain$.loop$4$$anonfun$1',2,0,0)
f(30,345,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(31,345,1,2,'cats/effect/IO$$anon$2.map2Eval',1,0,0)
f(30,346,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(31,346,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(28,347,3,1,'cats/data/Chain$$$Lambda$52.0x0000000800d93320.apply')
f(29,349,1,5,'asm_sysvec_hyperv_stimer0')
f(30,349,1,5,'sysvec_hyperv_stimer0')
f(31,349,1,5,'irq_exit_rcu')
f(32,349,1,5,'__irq_exit_rcu')
f(33,349,1,5,'__softirqentry_text_start')
f(28,350,3,3,'itable stub')
f(25,353,35,1,'cats/data/Chain$.loop$4')
f(26,353,1,2,'cats/Eval$.defer',1,0,0)
f(27,353,1,2,'cats/Eval$$anon$5.<init>',1,0,0)
f(28,353,1,2,'cats/Eval$Defer.<init>',1,0,0)
f(26,354,4,2,'cats/Eval$.later',4,0,0)
f(27,356,2,2,'cats/Later.<init>',2,0,0)
f(26,358,11,2,'cats/Eval.map',11,0,0)
f(27,358,8,2,'cats/Eval.flatMap',8,0,0)
f(28,365,1,2,'cats/Eval$$anon$3.<init>',1,0,0)
f(27,366,3,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',3,0,0)
f(28,366,3,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',3,0,0)
f(29,366,2,2,'cats/Eval$$Lambda$51.0x0000000800d92f50.<init>',2,0,0)
f(29,368,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(26,369,12,1,'cats/data/Chain$.loop$4')
f(27,369,2,2,'cats/Eval$.later',2,0,0)
f(28,370,1,2,'cats/Later.<init>',1,0,0)
f(27,371,8,2,'cats/Eval.flatMap',8,0,0)
f(28,371,8,2,'cats/Eval$$anon$1.<init>',8,0,0)
f(27,379,1,2,'cats/Eval.map',1,0,0)
f(27,380,1,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d95c00.linkToTargetMethod',1,0,0)
f(28,380,1,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d95400.newInvokeSpecial',1,0,0)
f(29,380,1,2,'cats/data/Chain$$$Lambda$48.0x0000000800d92600.<init>',1,0,0)
f(26,381,4,2,'cats/kernel/instances/StaticMethods$WrappedIndexedSeq.apply',4,0,0)
f(26,385,2,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',2,0,0)
f(27,385,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(28,385,1,2,'cats/data/Chain$$$Lambda$50.0x0000000800d92b80.<init>',1,0,0)
f(27,386,1,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d96000.newInvokeSpecial',1,0,0)
f(28,386,1,2,'cats/data/Chain$$$Lambda$49.0x0000000800d928c0.<init>',1,0,0)
f(26,387,1,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d94c00.linkToTargetMethod',1,0,0)
f(27,387,1,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d94400.newInvokeSpecial',1,0,0)
f(24,388,27,1,'scala/collection/mutable/AbstractBuffer.$plus$plus$eq',5,0,0)
f(25,388,27,1,'scala/collection/mutable/Growable.$plus$plus$eq$',5,0,0)
f(26,388,27,1,'scala/collection/mutable/Growable.$plus$plus$eq',5,0,0)
f(27,388,27,1,'scala/collection/mutable/ArrayBuffer.addAll',5,0,0)
f(28,388,27,1,'scala/collection/mutable/ArrayBuffer.addAll',5,0,0)
f(29,388,27,1,'scala/collection/mutable/Growable.addAll$',5,0,0)
f(30,388,27,1,'scala/collection/mutable/Growable.addAll',5,0,0)
f(31,390,8,1,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.hasNext',1,0,0)
f(32,391,7,1,'scala/collection/immutable/List.isEmpty')
f(31,398,1,2,'scala/collection/StrictOptimizedLinearSeqOps$$anon$1.next',1,0,0)
f(31,399,16,1,'scala/collection/mutable/ArrayBuffer.addOne',1,0,0)
f(32,400,15,1,'scala/collection/mutable/ArrayBuffer.addOne')
f(33,402,9,2,'scala/collection/mutable/ArrayBuffer.ensureAdditionalSize',9,0,0)
f(34,403,1,2,'scala/collection/mutable/ArrayBuffer$.scala$collection$mutable$ArrayBuffer$$ensureSize',1,0,0)
f(35,403,1,3,'jint_disjoint_arraycopy')
f(34,404,1,2,'scala/collection/mutable/ArrayBuffer.array',1,0,0)
f(34,405,3,2,'scala/collection/mutable/ArrayBuffer.array_$eq',3,0,0)
f(34,408,3,2,'scala/collection/mutable/ArrayBuffer.size0',3,0,0)
f(33,411,4,2,'scala/collection/mutable/ArrayBuffer.update',4,0,0)
f(16,415,2,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',2,0,0)
f(17,415,2,2,'java/lang/invoke/LambdaForm$MH.0x0000000800c02400.invoke',2,0,0)
f(16,417,37,1,'scala/collection/AbstractIterable.toList')
f(17,417,37,1,'scala/collection/IterableOnceOps.toList$')
f(18,417,37,1,'scala/collection/IterableOnceOps.toList')
f(19,417,37,1,'scala/collection/immutable/List.prependedAll')
f(20,422,5,2,'cats/data/Chain$ChainIterator.hasNext',5,0,0)
f(20,427,1,2,'scala/collection/immutable/$colon$colon.<init>',1,0,0)
f(21,427,1,2,'scala/runtime/Statics.releaseFence',1,0,0)
f(22,427,1,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d20000.invoke_MT',1,0,0)
f(20,428,25,2,'scala/collection/immutable/NewVectorIterator.next',25,0,0)
f(21,428,25,2,'scala/collection/immutable/NewVectorIterator.advance',25,0,0)
f(22,428,25,2,'scala/collection/immutable/NewVectorIterator.advanceSlice',25,0,0)
f(23,451,2,2,'scala/collection/Iterator$$anon$19.next',2,0,0)
f(20,453,1,1,'scala/collection/immutable/Vector.iterator')
f(21,453,1,2,'scala/collection/immutable/NewVectorIterator.<init>',1,0,0)
f(16,454,6,2,'scala/collection/immutable/Range.map',6,0,0)
f(17,454,2,2,'scala/collection/SeqFactory$Delegate.newBuilder',2,0,0)
f(18,455,1,2,'scala/collection/immutable/Vector$.newBuilder',1,0,0)
f(17,456,1,2,'scala/collection/immutable/Range.iterator',1,0,0)
f(17,457,3,2,'scala/collection/immutable/VectorBuilder.addOne',3,0,0)
f(18,457,3,2,'scala/collection/immutable/VectorBuilder.addOne',3,0,0)
f(19,457,3,2,'scala/collection/immutable/VectorBuilder.advance',3,0,0)
f(16,460,4,2,'scala/runtime/RichInt$.until$extension',4,0,0)
f(17,460,4,2,'scala/collection/immutable/Range$Exclusive.<init>',4,0,0)
f(18,460,4,2,'scala/collection/immutable/Range.<init>',4,0,0)
f(19,460,4,2,'scala/collection/immutable/Range.longLength',4,0,0)
f(20,460,1,2,'scala/collection/immutable/Range.gap',1,0,0)
f(21,460,1,2,'scala/collection/immutable/Range.start',1,0,0)
f(20,461,3,2,'scala/collection/immutable/Range.hasStub',3,0,0)
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,34292,3,'all')
f(1,0,32004,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,32004,1,'cats/effect/IOFiber.run')
f(3,0,2,1,'cats/effect/IOFiber.asyncContinueSuccessfulR')
f(4,0,2,1,'cats/effect/IOFiber.succeeded')
f(5,0,2,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(6,0,1,1,'cats/effect/IOFiber.done')
f(7,0,1,1,'cats/effect/CallbackStack.apply')
f(8,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(9,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(10,0,1,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cfe8.applyVoid')
f(11,0,1,1,'cats/effect/IO.$anonfun$6')
f(12,0,1,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(13,0,1,1,'cats/effect/kernel/Outcome.fold$')
f(14,0,1,1,'cats/effect/kernel/Outcome.fold')
f(15,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(16,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(17,0,1,1,'cats/effect/IO$$Lambda$121.0x0000000800d84000.applyVoid')
f(18,0,1,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(19,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(20,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(21,0,1,1,'cats/effect/IO$$Lambda$87.0x0000000800d5c000.applyVoid')
f(22,0,1,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(23,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(24,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(25,0,1,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d57348.applyVoid')
f(26,0,1,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(27,0,1,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(28,0,1,1,'java/util/concurrent/ArrayBlockingQueue.enqueue')
f(29,0,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal')
f(30,0,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal')
f(31,0,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.enqueue')
f(32,0,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.tryInitializeHead')
f(33,0,1,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ExclusiveNode')
f(6,1,1,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(7,1,1,2,'cats.effect.kernel.Outcome$Succeeded')
f(3,2,30922,1,'cats/effect/IOFiber.autoCedeR')
f(4,2,30922,1,'cats/effect/IOFiber.runLoop')
f(5,2,3130,2,'cats.effect.IOFiber$$anon$1')
f(5,3132,12718,1,'cats/effect/IOFiber.succeeded')
f(6,3132,1,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,3132,1,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,3132,1,2,'cats.effect.kernel.Outcome$Succeeded')
f(6,3133,12717,1,'kyo/bench/CountdownLatchBench$$Lambda$103.0x0000000800d74bd0.apply')
f(7,3133,12717,1,'kyo/bench/CountdownLatchBench.iterate$1$$anonfun$1')
f(8,3133,12717,1,'kyo/bench/CountdownLatchBench.iterate$1')
f(9,3133,2647,1,'cats/effect/IO.flatMap')
f(10,3133,2647,1,'cats/effect/IO$FlatMap$.apply')
f(11,3133,2647,2,'cats.effect.IO$FlatMap')
f(9,5780,7412,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release')
f(10,5780,5527,1,'cats/effect/kernel/Ref.flatModify')
f(11,5780,2677,1,'cats/effect/IO$$anon$2.uncancelable')
f(12,5780,2677,1,'cats/effect/IO$$anon$2.uncancelable')
f(13,5780,2677,1,'cats/effect/IO$.uncancelable')
f(14,5780,2677,1,'cats/effect/IO$Uncancelable$.apply')
f(15,5780,2677,2,'cats.effect.IO$Uncancelable')
f(11,8457,2850,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,8457,2850,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,8457,2850,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,8457,2850,2,'cats.effect.kernel.Ref$$Lambda$102+0x0000000800d74800')
f(10,11307,1885,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,11307,1885,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,11307,1885,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,11307,1885,2,'cats.effect.std.CountDownLatch$ConcurrentCountDownLatch$$Lambda$101+0x0000000800d758c0')
f(9,13192,2658,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,13192,2658,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d74000.newInvokeSpecial')
f(11,13192,2658,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,13192,2658,2,'kyo.bench.CountdownLatchBench$$Lambda$103+0x0000000800d74bd0')
f(5,15850,8038,1,'cats/effect/kernel/Ref$$Lambda$102.0x0000000800d74800.apply')
f(6,15850,8038,1,'cats/effect/kernel/Ref.flatModify$$anonfun$1')
f(7,15850,2713,1,'cats/effect/IO$$anon$2.flatten')
f(8,15850,2713,1,'cats/FlatMap.flatten$')
f(9,15850,2713,1,'cats/FlatMap.flatten')
f(10,15850,2713,1,'cats/effect/IO$$anon$2.flatMap')
f(11,15850,2713,1,'cats/effect/IO$$anon$2.flatMap')
f(12,15850,2713,1,'cats/effect/IO.flatMap')
f(13,15850,2713,1,'cats/effect/IO$FlatMap$.apply')
f(14,15850,2713,2,'cats.effect.IO$FlatMap')
f(7,18563,5325,1,'cats/effect/kernel/SyncRef.modify')
f(8,18563,2692,1,'cats/effect/IO$$anon$2.delay')
f(9,18563,2692,1,'cats/effect/IO$$anon$2.delay')
f(10,18563,2692,1,'cats/effect/IO$.apply')
f(11,18563,2692,1,'cats/effect/IO$.delay')
f(12,18563,2692,1,'cats/effect/IO$Delay$.apply')
f(13,18563,2692,2,'cats.effect.IO$Delay')
f(8,21255,2633,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,21255,2633,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,21255,2633,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,21255,2633,2,'cats.effect.kernel.SyncRef$$Lambda$107+0x0000000800d78e28')
f(5,23888,7036,1,'cats/effect/kernel/SyncRef$$Lambda$107.0x0000000800d78e28.apply')
f(6,23888,7036,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,23888,7036,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,23888,7036,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch$$Lambda$101.0x0000000800d758c0.apply')
f(9,23888,7036,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release$$anonfun$1')
f(10,23888,1515,1,'cats/effect/IO$$anon$2.unit')
f(11,23888,1515,1,'cats/Applicative.unit$')
f(12,23888,1515,1,'cats/Applicative.unit')
f(13,23888,1515,1,'cats/effect/IO$$anon$2.pure')
f(14,23888,1515,1,'cats/effect/IO$$anon$2.pure')
f(15,23888,1515,1,'cats/effect/IO$.pure')
f(16,23888,1515,1,'cats/effect/IO$Pure$.apply')
f(17,23888,1515,2,'cats.effect.IO$Pure')
f(10,25403,2773,1,'cats/effect/std/CountDownLatch$Awaiting$.apply')
f(11,25403,2773,2,'cats.effect.std.CountDownLatch$Awaiting')
f(10,28176,2748,1,'scala/Tuple2$.apply')
f(11,28176,2748,2,'scala.Tuple2')
f(3,30924,53,1,'cats/effect/IOFiber.cedeR')
f(4,30924,48,1,'cats/effect/IOFiber.runLoop')
f(5,30924,1,2,'cats.effect.IOFiber$$anon$1')
f(5,30925,3,1,'cats/effect/IO$$$Lambda$92.0x0000000800d72f00.apply')
f(6,30925,3,1,'cats/effect/IO$.deferred$$anonfun$1')
f(7,30925,1,2,'cats.effect.IODeferred')
f(7,30926,2,1,'cats/effect/IODeferred.<init>')
f(8,30926,2,1,'cats/effect/IO$.asyncCheckAttempt')
f(9,30926,1,2,'cats.effect.IO$$anon$3')
f(9,30927,1,1,'cats/effect/IO$IOCont$.apply')
f(10,30927,1,2,'cats.effect.IO$IOCont')
f(5,30928,1,1,'cats/effect/IO$$anon$3$$Lambda$111.0x0000000800d7adb8.apply')
f(6,30928,1,1,'cats/effect/IO$$anon$3.apply$$anonfun$1')
f(7,30928,1,1,'cats/effect/IO$$anon$2.uncancelable')
f(8,30928,1,1,'cats/effect/IO$$anon$2.uncancelable')
f(9,30928,1,1,'cats/effect/IO$.uncancelable')
f(10,30928,1,1,'cats/effect/IO$Uncancelable$.apply')
f(11,30928,1,2,'cats.effect.IO$Uncancelable')
f(5,30929,37,1,'cats/effect/IO$$anon$3$$Lambda$112.0x0000000800d7b678.apply')
f(6,30929,37,1,'cats/effect/IO$$anon$3.apply$$anonfun$1$$anonfun$1')
f(7,30929,37,1,'cats/effect/IODeferred$$Lambda$97.0x0000000800d76e88.apply')
f(8,30929,37,1,'cats/effect/IODeferred.$anonfun$1')
f(9,30929,1,1,'cats/effect/IO$.apply')
f(10,30929,1,1,'cats/effect/IO$.delay')
f(11,30929,1,1,'cats/effect/IO$Delay$.apply')
f(12,30929,1,2,'cats.effect.IO$Delay')
f(9,30930,36,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,30930,36,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(11,30930,36,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,30930,36,2,'cats.effect.IODeferred$$Lambda$113+0x0000000800d7ba48')
f(5,30966,5,1,'cats/effect/IOFiber.succeeded')
f(6,30966,1,1,'cats/effect/std/CountDownLatch$$$Lambda$95.0x0000000800d76480.apply')
f(7,30966,1,1,'cats/effect/std/CountDownLatch$.apply$$anonfun$1')
f(8,30966,1,1,'cats/effect/IO$$anon$2.ref')
f(9,30966,1,1,'cats/effect/IO$$anon$2.ref')
f(10,30966,1,1,'cats/effect/IO$.ref')
f(11,30966,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,30966,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,30966,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,30966,1,2,'cats.effect.IO$$$Lambda$99+0x0000000800d77c48')
f(6,30967,2,1,'kyo/bench/CountdownLatchBench$$Lambda$104.0x0000000800d78000.apply')
f(7,30967,2,1,'kyo/bench/CountdownLatchBench.catsBench$$anonfun$1$$anonfun$1')
f(8,30967,2,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.await')
f(9,30967,2,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(10,30967,2,1,'cats/FlatMap$Ops.flatMap$')
f(11,30967,2,1,'cats/FlatMap$Ops.flatMap')
f(12,30967,2,1,'cats/effect/IO$$anon$2.flatMap')
f(13,30967,2,1,'cats/effect/IO$$anon$2.flatMap')
f(14,30967,2,1,'cats/effect/IO.flatMap')
f(15,30967,2,1,'cats/effect/IO$FlatMap$.apply')
f(16,30967,2,2,'cats.effect.IO$FlatMap')
f(6,30969,2,1,'kyo/bench/CountdownLatchBench$$Lambda$96.0x0000000800d76850.apply')
f(7,30969,2,1,'kyo/bench/CountdownLatchBench.catsBench$$anonfun$1')
f(8,30969,2,1,'kyo/bench/CountdownLatchBench.iterate$1')
f(9,30969,1,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release')
f(10,30969,1,1,'cats/effect/kernel/Ref.flatModify')
f(11,30969,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,30969,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,30969,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,30969,1,2,'cats.effect.kernel.Ref$$Lambda$102+0x0000000800d74800')
f(9,30970,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,30970,1,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d74000.newInvokeSpecial')
f(11,30970,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,30970,1,2,'kyo.bench.CountdownLatchBench$$Lambda$103+0x0000000800d74bd0')
f(5,30971,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(6,30971,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(7,30971,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(8,30971,1,2,'cats.effect.IOFiber$$Lambda$116+0x0000000800d7ecf0')
f(4,30972,5,1,'cats/effect/IOFiber.succeeded')
f(5,30972,5,1,'kyo/bench/Bench$$Lambda$40.0x0000000800d12a18.apply')
f(6,30972,5,1,'kyo/bench/Bench.forkCats$$anonfun$1')
f(7,30972,5,1,'kyo/bench/CountdownLatchBench.catsBench')
f(8,30972,2,1,'cats/effect/IO.flatMap')
f(9,30972,2,1,'cats/effect/IO$FlatMap$.apply')
f(10,30972,2,2,'cats.effect.IO$FlatMap')
f(8,30974,3,1,'cats/effect/std/CountDownLatch$.apply')
f(9,30974,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,30974,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(11,30974,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,30974,3,2,'cats.effect.std.CountDownLatch$$$Lambda$95+0x0000000800d76480')
f(3,30977,1027,1,'cats/effect/IOFiber.execR')
f(4,30977,2,1,'cats/effect/ArrayStack.init')
f(5,30977,2,2,'java.lang.Object[]')
f(4,30979,435,1,'cats/effect/ByteStack$.create')
f(5,30979,435,2,'int[]')
f(4,31414,590,1,'cats/effect/IOFiber.runLoop')
f(5,31414,54,2,'cats.effect.IOFiber$$anon$1')
f(5,31468,233,1,'cats/effect/IOFiber.succeeded')
f(6,31468,233,1,'kyo/bench/CountdownLatchBench$$Lambda$103.0x0000000800d74bd0.apply')
f(7,31468,233,1,'kyo/bench/CountdownLatchBench.iterate$1$$anonfun$1')
f(8,31468,233,1,'kyo/bench/CountdownLatchBench.iterate$1')
f(9,31468,44,1,'cats/effect/IO.flatMap')
f(10,31468,44,1,'cats/effect/IO$FlatMap$.apply')
f(11,31468,44,2,'cats.effect.IO$FlatMap')
f(9,31512,148,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release')
f(10,31512,112,1,'cats/effect/kernel/Ref.flatModify')
f(11,31512,56,1,'cats/effect/IO$$anon$2.uncancelable')
f(12,31512,56,1,'cats/effect/IO$$anon$2.uncancelable')
f(13,31512,56,1,'cats/effect/IO$.uncancelable')
f(14,31512,56,1,'cats/effect/IO$Uncancelable$.apply')
f(15,31512,56,2,'cats.effect.IO$Uncancelable')
f(11,31568,56,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,31568,56,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,31568,56,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,31568,56,2,'cats.effect.kernel.Ref$$Lambda$102+0x0000000800d74800')
f(10,31624,36,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,31624,36,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,31624,36,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,31624,36,2,'cats.effect.std.CountDownLatch$ConcurrentCountDownLatch$$Lambda$101+0x0000000800d758c0')
f(9,31660,41,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,31660,41,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d74000.newInvokeSpecial')
f(11,31660,41,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,31660,41,2,'kyo.bench.CountdownLatchBench$$Lambda$103+0x0000000800d74bd0')
f(5,31701,170,1,'cats/effect/kernel/Ref$$Lambda$102.0x0000000800d74800.apply')
f(6,31701,170,1,'cats/effect/kernel/Ref.flatModify$$anonfun$1')
f(7,31701,42,1,'cats/effect/IO$$anon$2.flatten')
f(8,31701,42,1,'cats/FlatMap.flatten$')
f(9,31701,42,1,'cats/FlatMap.flatten')
f(10,31701,42,1,'cats/effect/IO$$anon$2.flatMap')
f(11,31701,42,1,'cats/effect/IO$$anon$2.flatMap')
f(12,31701,42,1,'cats/effect/IO.flatMap')
f(13,31701,42,1,'cats/effect/IO$FlatMap$.apply')
f(14,31701,42,2,'cats.effect.IO$FlatMap')
f(7,31743,128,1,'cats/effect/kernel/SyncRef.modify')
f(8,31743,68,1,'cats/effect/IO$$anon$2.delay')
f(9,31743,68,1,'cats/effect/IO$$anon$2.delay')
f(10,31743,68,1,'cats/effect/IO$.apply')
f(11,31743,68,1,'cats/effect/IO$.delay')
f(12,31743,68,1,'cats/effect/IO$Delay$.apply')
f(13,31743,68,2,'cats.effect.IO$Delay')
f(8,31811,60,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,31811,60,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,31811,60,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,31811,60,2,'cats.effect.kernel.SyncRef$$Lambda$107+0x0000000800d78e28')
f(5,31871,133,1,'cats/effect/kernel/SyncRef$$Lambda$107.0x0000000800d78e28.apply')
f(6,31871,133,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,31871,133,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,31871,133,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch$$Lambda$101.0x0000000800d758c0.apply')
f(9,31871,133,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release$$anonfun$1')
f(10,31871,33,1,'cats/effect/IO$$anon$2.unit')
f(11,31871,33,1,'cats/Applicative.unit$')
f(12,31871,33,1,'cats/Applicative.unit')
f(13,31871,33,1,'cats/effect/IO$$anon$2.pure')
f(14,31871,33,1,'cats/effect/IO$$anon$2.pure')
f(15,31871,33,1,'cats/effect/IO$.pure')
f(16,31871,33,1,'cats/effect/IO$Pure$.apply')
f(17,31871,33,2,'cats.effect.IO$Pure')
f(10,31904,42,1,'cats/effect/std/CountDownLatch$Awaiting$.apply')
f(11,31904,42,2,'cats.effect.std.CountDownLatch$Awaiting')
f(10,31946,58,1,'scala/Tuple2$.apply')
f(11,31946,58,2,'scala.Tuple2')
f(1,32004,1,2,'java.lang.String')
f(1,32005,2263,1,'java/lang/Thread.run')
f(2,32005,2263,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,32005,2263,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,32005,2263,1,'java/util/concurrent/FutureTask.run')
f(5,32005,2263,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,32005,2263,1,'java/util/concurrent/FutureTask.run')
f(7,32005,2263,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,32005,2263,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,32005,2263,1,'java/lang/reflect/Method.invoke')
f(10,32005,2263,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,32005,2263,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,32005,2263,1,'kyo/bench/jmh_generated/CountdownLatchBench_forkCats_jmhTest.forkCats_Throughput')
f(13,32005,2261,1,'kyo/bench/jmh_generated/CountdownLatchBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,32005,2261,1,'kyo/bench/Bench.forkCats')
f(15,32005,97,1,'cats/effect/IO.flatMap')
f(16,32005,97,1,'cats/effect/IO$FlatMap$.apply')
f(17,32005,97,2,'cats.effect.IO$FlatMap')
f(15,32102,2003,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,32102,1910,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,32102,1217,1,'cats/effect/IO.unsafeRunAsync')
f(18,32102,996,1,'cats/effect/IO.unsafeRunFiber')
f(19,32102,173,2,'cats.effect.IOFiber')
f(19,32275,14,5,'cats.effect.IOFiber')
f(19,32289,580,1,'cats/effect/IOFiber.<init>')
f(20,32289,207,1,'cats/effect/ArrayStack$.apply')
f(21,32289,207,2,'cats.effect.ArrayStack')
f(20,32496,2,1,'cats/effect/CallbackStack$.apply')
f(21,32496,2,2,'cats.effect.CallbackStack')
f(20,32498,190,1,'cats/effect/IO$.async')
f(21,32498,100,2,'cats.effect.IO$$anon$4')
f(21,32598,90,1,'cats/effect/IO$IOCont$.apply')
f(22,32598,90,2,'cats.effect.IO$IOCont')
f(20,32688,171,1,'cats/effect/IO$.uncancelable')
f(21,32688,171,1,'cats/effect/IO$Uncancelable$.apply')
f(22,32688,171,2,'cats.effect.IO$Uncancelable')
f(20,32859,10,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,32859,10,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,32859,10,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,32859,10,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5de20')
f(19,32869,119,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,32869,119,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,32869,119,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,32869,119,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,32869,119,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,32988,110,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,32988,110,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,32988,110,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,32988,110,2,'cats.effect.IO$$Lambda$88+0x0000000800d5cfe8')
f(18,33098,221,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,33098,221,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,33098,221,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,33098,21,2,'cats.effect.IO$$Lambda$85+0x0000000800d57750')
f(21,33119,80,2,'cats.effect.IO$$Lambda$86+0x0000000800d57a10')
f(21,33199,120,2,'cats.effect.IO$$Lambda$87+0x0000000800d5c000')
f(17,33319,115,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,33434,95,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,33434,95,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,33434,95,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,33434,95,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d57348')
f(17,33529,403,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,33529,403,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,33529,87,2,'java.lang.Object[]')
f(19,33616,134,2,'java.util.concurrent.locks.ReentrantLock')
f(19,33750,74,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,33750,74,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,33824,108,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,33824,108,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,33824,108,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,33932,18,1,'scala/concurrent/package$.blocking')
f(18,33932,18,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,33932,18,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5edf0.apply')
f(20,33932,18,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,33932,18,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,33932,18,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,33932,18,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,33950,62,1,'scala/util/Either.fold')
f(18,33950,62,1,'cats/effect/IOPlatform$$Lambda$123.0x0000000800d847d0.apply')
f(19,33950,62,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,33950,62,1,'scala/Some$.apply')
f(21,33950,62,2,'scala.Some')
f(16,34012,93,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,34012,93,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,34012,93,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,34012,93,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,34012,93,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,34012,93,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,34012,93,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,34012,93,2,'scala.concurrent.duration.FiniteDuration')
f(15,34105,161,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,34105,161,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,34105,161,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,34105,161,2,'kyo.bench.Bench$$Lambda$40+0x0000000800d12a18')
f(13,34266,1,2,'org.openjdk.jmh.results.ThroughputResult')
f(13,34267,1,1,'org/openjdk/jmh/results/BenchmarkTaskResult.<init>')
f(14,34267,1,2,'java.util.ArrayList')
f(1,34268,24,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,34268,24,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,34268,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,34268,24,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,34268,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,34268,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,34268,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,34268,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,34268,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,34268,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,34268,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,34268,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,34268,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,34268,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,34268,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,34268,1,2,'java.lang.Object[]')
f(7,34269,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,34269,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,34269,3,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,34272,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,34272,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,34272,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,34272,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,34272,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,34272,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,34277,15,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,34277,15,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,34277,4,1,'java/lang/ClassLoader.loadClass')
f(10,34277,4,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,34277,4,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,34277,4,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,34277,4,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,34277,3,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,34277,1,1,'java/security/CodeSource.<init>')
f(16,34277,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,34277,1,1,'java/lang/StringBuilder.append')
f(18,34277,1,1,'java/lang/AbstractStringBuilder.append')
f(19,34277,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,34277,1,1,'java/util/Arrays.copyOf')
f(21,34277,1,2,'byte[]')
f(15,34278,1,1,'jdk/internal/loader/Resource.getByteBuffer')
f(16,34278,1,1,'jdk/internal/loader/Resource.cachedInputStream')
f(17,34278,1,1,'jdk/internal/loader/URLClassPath$JarLoader$2.getInputStream')
f(18,34278,1,1,'java/util/jar/JarFile.getInputStream')
f(19,34278,1,1,'java/util/zip/ZipFile.getInputStream')
f(20,34278,1,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(21,34278,1,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(22,34278,1,1,'java/util/zip/InflaterInputStream.<init>')
f(23,34278,1,5,'byte[]')
f(15,34279,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,34279,1,1,'java/util/Arrays.copyOf')
f(17,34279,1,5,'byte[]')
f(14,34280,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,34280,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,34280,1,1,'java/util/jar/JarFile.getJarEntry')
f(17,34280,1,1,'java/util/jar/JarFile.getEntry')
f(18,34280,1,1,'java/util/zip/ZipFile.getEntry')
f(19,34280,1,1,'java/util/zip/ZipFile$Source.getEntryPos')
f(20,34280,1,1,'java/util/zip/ZipCoder$UTF8ZipCoder.toString')
f(21,34280,1,1,'java/lang/System$2.newStringUTF8NoRepl')
f(22,34280,1,1,'java/lang/String.newStringUTF8NoRepl')
f(23,34280,1,1,'java/util/Arrays.copyOfRange')
f(24,34280,1,2,'byte[]')
f(9,34281,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,34281,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,34281,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,34281,11,1,'java/io/ObjectStreamClass.lookup')
f(13,34281,11,1,'java/io/ObjectStreamClass.<init>')
f(14,34281,11,1,'java/security/AccessController.doPrivileged')
f(15,34281,11,1,'java/security/AccessController.executePrivileged')
f(16,34281,11,1,'java/io/ObjectStreamClass$2.run')
f(17,34281,11,1,'java/io/ObjectStreamClass$2.run')
f(18,34281,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,34281,2,1,'java/lang/Class.getDeclaredMethod')
f(20,34281,1,1,'java/lang/Class.methodToString')
f(21,34281,1,1,'java/lang/StringBuilder.append')
f(22,34281,1,1,'java/lang/AbstractStringBuilder.append')
f(23,34281,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,34281,1,1,'java/util/Arrays.copyOf')
f(25,34281,1,2,'byte[]')
f(20,34282,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,34282,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,34282,1,1,'java/lang/Exception.<init>')
f(23,34282,1,1,'java/lang/Throwable.<init>')
f(24,34282,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,34282,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,34282,1,2,'short[]')
f(18,34283,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,34283,3,1,'java/lang/Class.getDeclaredMethod')
f(20,34283,2,1,'java/lang/Class.methodToString')
f(21,34283,1,1,'java/lang/StringBuilder.append')
f(22,34283,1,1,'java/lang/AbstractStringBuilder.append')
f(23,34283,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,34283,1,1,'java/util/Arrays.copyOf')
f(25,34283,1,2,'byte[]')
f(21,34284,1,1,'java/lang/StringBuilder.toString')
f(22,34284,1,1,'java/lang/StringLatin1.newString')
f(23,34284,1,1,'java/util/Arrays.copyOfRange')
f(24,34284,1,2,'byte[]')
f(20,34285,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,34285,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,34285,1,1,'java/lang/Exception.<init>')
f(23,34285,1,1,'java/lang/Throwable.<init>')
f(24,34285,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,34285,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,34285,1,5,'long[]')
f(18,34286,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,34286,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,34286,1,1,'java/lang/Class.getDeclaredField')
f(21,34286,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,34286,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,34286,1,1,'java/lang/Exception.<init>')
f(24,34286,1,1,'java/lang/Throwable.<init>')
f(25,34286,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,34286,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,34286,1,2,'long[]')
f(18,34287,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,34287,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,34287,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,34287,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,34287,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,34287,1,1,'java/security/AccessController.doPrivileged')
f(24,34287,1,1,'java/security/AccessController.executePrivileged')
f(25,34287,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,34287,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,34287,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,34287,1,1,'java/security/AccessController.doPrivileged')
f(29,34287,1,1,'java/security/AccessController.executePrivileged')
f(30,34287,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,34287,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,34287,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,34287,1,1,'java/lang/ClassLoader.<init>')
f(34,34287,1,1,'java/lang/ClassLoader.<init>')
f(35,34287,1,1,'java/lang/ClassLoader.nameAndId')
f(36,34287,1,1,'java/lang/StringBuilder.<init>')
f(37,34287,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,34287,1,2,'byte[]')
f(23,34288,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,34288,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,34288,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,34288,1,2,'byte[]')
f(23,34289,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,34289,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,34289,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,34289,1,2,'byte[]')
f(23,34290,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,34290,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,34290,1,1,'java/lang/String.replace')
f(26,34290,1,1,'java/lang/StringLatin1.replace')
f(27,34290,1,2,'java.lang.String')
f(23,34291,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,34291,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 656px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(41);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,494,3,'all')
f(1,0,1,3,'[unknown]')
f(2,0,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(1,1,9,3,'[unknown_Java]')
f(2,1,1,6,'cats/effect/IO$Delay.tag',0,1,0)
f(2,2,3,6,'cats/effect/IO$FlatMap.tag',0,3,0)
f(2,5,2,6,'cats/effect/IO$Pure.tag',0,2,0)
f(2,7,3,6,'cats/effect/IO$Uncancelable.tag',0,3,0)
f(1,10,480,1,'cats/effect/unsafe/WorkerThread.run')
f(2,10,471,1,'cats/effect/IOFiber.run',1,0,0)
f(3,10,5,1,'cats/effect/IOFiber.asyncContinueSuccessfulR',1,0,0)
f(4,10,4,1,'cats/effect/IOFiber.succeeded')
f(5,10,4,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(6,10,4,1,'cats/effect/IOFiber.done')
f(7,10,4,1,'cats/effect/CallbackStack.apply')
f(8,10,4,1,'scala/runtime/function/JProcedure1.apply')
f(9,10,4,1,'scala/runtime/function/JProcedure1.apply')
f(10,10,4,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cfe8.applyVoid')
f(11,10,4,1,'cats/effect/IO.$anonfun$6')
f(12,10,4,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(13,10,4,1,'cats/effect/kernel/Outcome.fold$')
f(14,10,4,1,'cats/effect/kernel/Outcome.fold')
f(15,10,4,1,'scala/runtime/function/JProcedure1.apply')
f(16,10,4,1,'scala/runtime/function/JProcedure1.apply')
f(17,10,4,1,'cats/effect/IO$$Lambda$121.0x0000000800d84000.applyVoid')
f(18,10,4,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(19,10,4,1,'scala/runtime/function/JProcedure1.apply')
f(20,10,4,1,'scala/runtime/function/JProcedure1.apply')
f(21,10,4,1,'cats/effect/IO$$Lambda$87.0x0000000800d5c000.applyVoid')
f(22,10,4,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(23,10,4,1,'scala/runtime/function/JProcedure1.apply')
f(24,10,4,1,'scala/runtime/function/JProcedure1.apply')
f(25,10,4,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d57348.applyVoid')
f(26,10,4,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(27,10,4,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(28,10,4,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(29,10,4,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(30,10,4,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(31,10,4,1,'java/util/concurrent/locks/LockSupport.unpark')
f(32,10,4,1,'jdk/internal/misc/Unsafe.unpark')
f(33,10,4,3,'pthread_cond_signal')
f(34,10,4,5,'entry_SYSCALL_64_after_hwframe')
f(35,10,4,5,'do_syscall_64')
f(36,10,4,5,'__x64_sys_futex')
f(37,10,4,5,'do_futex')
f(38,10,4,5,'futex_wake')
f(39,10,4,5,'wake_up_q')
f(40,10,4,5,'_raw_spin_unlock_irqrestore')
f(4,14,1,3,'clock_gettime')
f(5,14,1,3,'[vdso]')
f(3,15,456,1,'cats/effect/IOFiber.autoCedeR')
f(4,15,456,1,'cats/effect/IOFiber.runLoop')
f(5,114,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(6,114,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(7,114,1,4,'MemAllocator::allocate() const')
f(8,114,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(9,114,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(5,115,1,2,'cats/effect/ContState.<init>',1,0,0)
f(5,116,10,2,'cats/effect/IO$.apply',10,0,0)
f(6,122,4,2,'cats/effect/IO$.delay',4,0,0)
f(7,122,4,2,'cats/effect/IO$Delay$.apply',4,0,0)
f(8,123,3,2,'cats/effect/IO$Delay.<init>',3,0,0)
f(5,126,8,6,'cats/effect/IO$Delay.tag',0,8,0)
f(5,134,18,6,'cats/effect/IO$FlatMap.tag',0,18,0)
f(5,152,6,6,'cats/effect/IO$Pure.tag',0,6,0)
f(5,158,10,6,'cats/effect/IO$Uncancelable.tag',0,10,0)
f(5,168,5,1,'cats/effect/IODeferred$$Lambda$117.0x0000000800d7f480.apply')
f(6,169,4,1,'cats/effect/IODeferred.complete$$anonfun$1',1,0,0)
f(7,170,3,1,'cats/effect/CallbackStack.apply')
f(8,170,3,1,'scala/runtime/function/JProcedure1.apply')
f(9,170,3,1,'scala/runtime/function/JProcedure1.apply')
f(10,170,3,1,'cats/effect/IOFiber$$Lambda$110.0x0000000800d7a068.applyVoid')
f(11,170,3,1,'cats/effect/IOFiber.$anonfun$2')
f(12,170,3,1,'cats/effect/IOFiber.stateLoop$1')
f(13,170,3,1,'cats/effect/IOFiber.loop$1')
f(14,170,3,1,'cats/effect/IOFiber.scheduleFiber')
f(15,170,3,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(16,170,3,1,'cats/effect/unsafe/WorkerThread.schedule')
f(17,170,3,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(18,170,3,1,'java/util/concurrent/locks/LockSupport.unpark')
f(19,170,3,1,'jdk/internal/misc/Unsafe.unpark')
f(20,170,3,3,'pthread_cond_signal')
f(21,170,3,5,'entry_SYSCALL_64_after_hwframe')
f(22,170,3,5,'do_syscall_64')
f(23,170,3,5,'__x64_sys_futex')
f(24,170,3,5,'do_futex')
f(25,170,3,5,'futex_wake')
f(26,170,3,5,'wake_up_q')
f(27,170,3,5,'_raw_spin_unlock_irqrestore')
f(5,173,89,2,'cats/effect/IOFiber.rescheduleFiber',89,0,0)
f(6,175,87,2,'cats/effect/unsafe/WorkStealingThreadPool.reschedule',87,0,0)
f(7,190,72,2,'cats/effect/unsafe/WorkerThread.reschedule',72,0,0)
f(8,243,19,2,'cats/effect/unsafe/LocalQueue.isEmpty',19,0,0)
f(9,251,11,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',11,0,0)
f(10,255,7,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.accessCheck',7,0,0)
f(5,262,127,1,'cats/effect/IOFiber.succeeded')
f(6,335,5,2,'cats/effect/ArrayStack.pop',5,0,0)
f(6,340,22,2,'cats/effect/ByteStack$.pop',22,0,0)
f(7,348,14,2,'cats/effect/ByteStack$.peek',14,0,0)
f(6,362,27,2,'kyo/bench/CountdownLatchBench$$Lambda$103.0x0000000800d74bd0.apply',26,0,0)
f(7,364,25,2,'kyo/bench/CountdownLatchBench.iterate$1$$anonfun$1',24,0,0)
f(8,364,25,2,'kyo/bench/CountdownLatchBench.iterate$1',24,0,0)
f(9,367,8,2,'cats/effect/IO.flatMap',7,0,0)
f(10,367,8,2,'cats/effect/IO$FlatMap$.apply',7,0,0)
f(11,374,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(12,374,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(13,374,1,4,'MemAllocator::allocate() const')
f(14,374,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(15,374,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(16,374,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(17,374,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(18,374,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool, unsigned int)')
f(19,374,1,4,'HeapRegionType::get_trace_type()')
f(9,375,7,2,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release',7,0,0)
f(10,376,6,2,'cats/effect/kernel/Ref.flatModify',6,0,0)
f(11,376,4,2,'cats/effect/IO$$anon$2.uncancelable',4,0,0)
f(12,376,4,2,'cats/effect/IO$$anon$2.uncancelable',4,0,0)
f(13,376,4,2,'cats/effect/IO$.uncancelable',4,0,0)
f(14,376,4,2,'cats/effect/IO$Uncancelable$.apply',4,0,0)
f(11,380,2,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',2,0,0)
f(12,380,2,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',2,0,0)
f(13,380,2,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',2,0,0)
f(9,382,7,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',7,0,0)
f(10,382,7,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d74000.newInvokeSpecial',7,0,0)
f(11,382,6,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',6,0,0)
f(11,388,1,2,'kyo/bench/CountdownLatchBench$$Lambda$103.0x0000000800d74bd0.<init>',1,0,0)
f(5,389,35,2,'cats/effect/kernel/Ref$$Lambda$102.0x0000000800d74800.apply',35,0,0)
f(6,393,31,2,'cats/effect/kernel/Ref.flatModify$$anonfun$1',31,0,0)
f(7,395,16,2,'cats/effect/IO$$anon$2.flatten',16,0,0)
f(8,395,16,2,'cats/FlatMap.flatten$',16,0,0)
f(9,396,15,2,'cats/FlatMap.flatten',15,0,0)
f(10,399,12,2,'cats/effect/IO$$anon$2.flatMap',12,0,0)
f(11,399,12,2,'cats/effect/IO$$anon$2.flatMap',12,0,0)
f(12,401,10,2,'cats/effect/IO.flatMap',10,0,0)
f(13,401,10,2,'cats/effect/IO$FlatMap$.apply',10,0,0)
f(14,407,4,2,'cats/effect/IO$FlatMap.<init>',4,0,0)
f(15,408,3,2,'cats/effect/IO.<init>',3,0,0)
f(16,410,1,2,'cats/effect/IOPlatform.<init>',1,0,0)
f(17,410,1,2,'java/lang/Object.<init>',1,0,0)
f(7,411,13,2,'cats/effect/kernel/SyncRef.modify',13,0,0)
f(8,411,12,2,'cats/effect/IO$$anon$2.delay',12,0,0)
f(9,419,4,2,'cats/effect/IO$$anon$2.delay',4,0,0)
f(10,421,2,2,'cats/effect/IO$.apply',2,0,0)
f(11,421,2,2,'cats/effect/IO$.delay',2,0,0)
f(8,423,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(9,423,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(5,424,1,2,'cats/effect/kernel/SyncRef$$Lambda$108.0x0000000800d795c0.apply',1,0,0)
f(6,424,1,2,'cats/effect/kernel/SyncRef.modify$$anonfun$1',1,0,0)
f(7,424,1,2,'cats/effect/kernel/SyncRef.spin$4',1,0,0)
f(8,424,1,2,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch$$Lambda$101.0x0000000800d758c0.apply',1,0,0)
f(9,424,1,2,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release$$anonfun$1',1,0,0)
f(10,424,1,2,'cats/effect/std/CountDownLatch$Awaiting$.apply',1,0,0)
f(5,425,27,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',27,0,0)
f(6,425,27,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',27,0,0)
f(7,425,6,2,'cats/effect/IOFiber$$Lambda$110.0x0000000800d7a068.<init>',6,0,0)
f(7,431,21,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',21,0,0)
f(5,452,19,3,'vtable stub')
f(3,471,3,1,'cats/effect/IOFiber.cedeR')
f(4,471,3,1,'cats/effect/IOFiber.runLoop')
f(5,471,1,6,'cats/effect/IO$Map.tag',0,1,0)
f(5,472,1,1,'cats/effect/IOFiber.scheduleFiber')
f(6,472,1,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(7,472,1,1,'cats/effect/unsafe/WorkerThread.schedule')
f(8,472,1,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(9,472,1,1,'java/util/concurrent/locks/LockSupport.unpark')
f(10,472,1,1,'jdk/internal/misc/Unsafe.unpark')
f(11,472,1,3,'pthread_cond_signal')
f(12,472,1,5,'entry_SYSCALL_64_after_hwframe')
f(13,472,1,5,'do_syscall_64')
f(14,472,1,5,'__x64_sys_futex')
f(15,472,1,5,'do_futex')
f(16,472,1,5,'futex_wake')
f(17,472,1,5,'wake_up_q')
f(18,472,1,5,'_raw_spin_unlock_irqrestore')
f(5,473,1,1,'cats/effect/IOFiber.succeeded')
f(6,473,1,1,'kyo/bench/CountdownLatchBench$$Lambda$96.0x0000000800d76850.apply')
f(3,474,7,1,'cats/effect/IOFiber.execR')
f(4,474,7,1,'cats/effect/IOFiber.runLoop')
f(5,476,1,2,'cats/effect/ArrayStack.push',1,0,0)
f(5,477,1,2,'cats/effect/IOFiber.rescheduleFiber',1,0,0)
f(6,477,1,2,'cats/effect/unsafe/WorkStealingThreadPool.reschedule',1,0,0)
f(7,477,1,2,'cats/effect/unsafe/WorkerThread.reschedule',1,0,0)
f(5,478,2,1,'cats/effect/IOFiber.succeeded')
f(6,479,1,2,'kyo/bench/CountdownLatchBench$$Lambda$103.0x0000000800d74bd0.apply',1,0,0)
f(7,479,1,2,'kyo/bench/CountdownLatchBench.iterate$1$$anonfun$1',1,0,0)
f(8,479,1,2,'kyo/bench/CountdownLatchBench.iterate$1',1,0,0)
f(9,479,1,2,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release',1,0,0)
f(10,479,1,2,'cats/effect/kernel/Ref.flatModify',1,0,0)
f(11,479,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(12,479,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(13,479,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(5,480,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(6,480,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(7,480,1,2,'cats/effect/IOFiber$$Lambda$110.0x0000000800d7a068.<init>',1,0,0)
f(8,480,1,2,'java/lang/Object.<init>',1,0,0)
f(2,481,9,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,481,9,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,481,9,1,'java/util/concurrent/locks/LockSupport.park')
f(5,481,9,1,'jdk/internal/misc/Unsafe.park')
f(6,481,3,3,'Unsafe_Park')
f(7,482,2,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,482,2,5,'entry_SYSCALL_64_after_hwframe')
f(9,482,1,5,'__x64_sys_futex')
f(9,483,1,5,'do_syscall_64')
f(10,483,1,5,'__x64_sys_futex')
f(11,483,1,5,'do_futex')
f(12,483,1,5,'get_futex_key')
f(6,484,6,3,'[unknown]')
f(7,484,6,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,484,6,5,'entry_SYSCALL_64_after_hwframe')
f(9,484,6,5,'do_syscall_64')
f(10,484,6,5,'__x64_sys_futex')
f(11,484,6,5,'do_futex')
f(12,484,6,5,'futex_wait')
f(13,484,6,5,'futex_wait_queue_me')
f(14,485,5,5,'schedule')
f(15,485,5,5,'__schedule')
f(16,485,5,5,'finish_task_switch.isra.0')
f(1,490,4,1,'java/lang/Thread.run')
f(2,490,4,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,490,4,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,490,4,1,'java/util/concurrent/FutureTask.run')
f(5,490,4,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,490,4,1,'java/util/concurrent/FutureTask.run')
f(7,490,4,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,490,4,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,490,4,1,'java/lang/reflect/Method.invoke')
f(10,490,4,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,490,4,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,490,4,1,'kyo/bench/jmh_generated/CountdownLatchBench_forkCats_jmhTest.forkCats_Throughput')
f(13,490,4,1,'kyo/bench/jmh_generated/CountdownLatchBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,490,4,1,'kyo/bench/Bench.forkCats')
f(15,490,4,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,490,4,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,490,2,1,'cats/effect/IO.unsafeRunAsync')
f(18,490,2,1,'cats/effect/IO.unsafeRunFiber')
f(19,490,2,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,490,2,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,490,2,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,490,2,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,490,2,1,'jdk/internal/misc/Unsafe.unpark')
f(24,490,2,3,'pthread_cond_signal')
f(25,490,2,5,'entry_SYSCALL_64_after_hwframe')
f(26,490,2,5,'do_syscall_64')
f(27,490,2,5,'__x64_sys_futex')
f(28,490,2,5,'do_futex')
f(29,490,2,5,'futex_wake')
f(30,490,2,5,'wake_up_q')
f(31,490,2,5,'_raw_spin_unlock_irqrestore')
f(17,492,2,1,'scala/concurrent/package$.blocking')
f(18,492,2,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,492,2,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5edf0.apply')
f(20,492,2,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,492,2,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,492,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,492,2,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,492,2,1,'jdk/internal/misc/Unsafe.park')
f(25,492,1,4,'AccessInternal::PostRuntimeDispatch<G1BarrierSet::AccessBarrier<548964ul, G1BarrierSet>, (AccessInternal::BarrierType)2, 548964ul>::oop_access_barrier(void*)')
f(25,493,1,3,'[unknown]')
f(26,493,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,493,1,5,'entry_SYSCALL_64_after_hwframe')
f(28,493,1,5,'do_syscall_64')
f(29,493,1,5,'__x64_sys_futex')
f(30,493,1,5,'do_futex')
f(31,493,1,5,'futex_wait')
f(32,493,1,5,'futex_wait_queue_me')
f(33,493,1,5,'schedule')
f(34,493,1,5,'__schedule')
f(35,493,1,5,'finish_task_switch.isra.0')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,35367,3,'all')
f(1,0,32328,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,32328,1,'cats/effect/IOFiber.run')
f(3,0,2,1,'cats/effect/IOFiber.asyncContinueSuccessfulR')
f(4,0,2,1,'cats/effect/IOFiber.succeeded')
f(5,0,2,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(6,0,2,1,'cats/effect/IOFiber.done')
f(7,0,2,1,'cats/effect/CallbackStack.apply')
f(8,0,2,1,'scala/runtime/function/JProcedure1.apply')
f(9,0,2,1,'scala/runtime/function/JProcedure1.apply')
f(10,0,2,1,'cats/effect/IO$$Lambda$92.0x0000000800d74fe8.applyVoid')
f(11,0,2,1,'cats/effect/IO.$anonfun$6')
f(12,0,1,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(13,0,1,1,'cats/effect/kernel/Outcome.fold$')
f(14,0,1,1,'cats/effect/kernel/Outcome.fold')
f(15,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(16,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(17,0,1,1,'cats/effect/IO$$Lambda$120.0x0000000800d80000.applyVoid')
f(18,0,1,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(19,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(20,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(21,0,1,1,'cats/effect/IO$$Lambda$91.0x0000000800d74000.applyVoid')
f(22,0,1,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(23,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(24,0,1,1,'scala/runtime/function/JProcedure1.apply')
f(25,0,1,1,'cats/effect/IOPlatform$$Lambda$88.0x0000000800d6f348.applyVoid')
f(26,0,1,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(27,0,1,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(28,0,1,1,'java/util/concurrent/ArrayBlockingQueue.enqueue')
f(29,0,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal')
f(30,0,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal')
f(31,0,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.enqueue')
f(32,0,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.tryInitializeHead')
f(33,0,1,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ExclusiveNode')
f(12,1,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(13,1,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(14,1,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(15,1,1,2,'cats.effect.IO$$Lambda$119+0x0000000800d7d800')
f(3,2,31268,1,'cats/effect/IOFiber.autoCedeR')
f(4,2,31268,1,'cats/effect/IOFiber.runLoop')
f(5,2,2945,2,'cats.effect.IOFiber$$anon$1')
f(5,2947,12858,1,'cats/effect/IOFiber.succeeded')
f(6,2947,12858,1,'kyo/bench/CountdownLatchBench$$Lambda$102.0x0000000800d73ae8.apply')
f(7,2947,12858,1,'kyo/bench/CountdownLatchBench.iterate$1$$anonfun$1')
f(8,2947,12858,1,'kyo/bench/CountdownLatchBench.iterate$1')
f(9,2947,2762,1,'cats/effect/IO.flatMap')
f(10,2947,2762,1,'cats/effect/IO$FlatMap$.apply')
f(11,2947,2762,2,'cats.effect.IO$FlatMap')
f(9,5709,7525,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release')
f(10,5709,5556,1,'cats/effect/kernel/Ref.flatModify')
f(11,5709,2832,1,'cats/effect/IO$$anon$2.uncancelable')
f(12,5709,2832,1,'cats/effect/IO$$anon$2.uncancelable')
f(13,5709,2832,1,'cats/effect/IO$.uncancelable')
f(14,5709,2832,1,'cats/effect/IO$Uncancelable$.apply')
f(15,5709,2832,2,'cats.effect.IO$Uncancelable')
f(11,8541,2724,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,8541,2724,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,8541,2724,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,8541,2724,2,'cats.effect.kernel.Ref$$Lambda$101+0x0000000800d73718')
f(10,11265,1969,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,11265,1969,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,11265,1969,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,11265,1969,2,'cats.effect.std.CountDownLatch$ConcurrentCountDownLatch$$Lambda$100+0x0000000800d73348')
f(9,13234,2571,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,13234,2571,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d2c000.newInvokeSpecial')
f(11,13234,2571,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,13234,2571,2,'kyo.bench.CountdownLatchBench$$Lambda$102+0x0000000800d73ae8')
f(5,15805,8274,1,'cats/effect/kernel/Ref$$Lambda$101.0x0000000800d73718.apply')
f(6,15805,8274,1,'cats/effect/kernel/Ref.flatModify$$anonfun$1')
f(7,15805,2650,1,'cats/effect/IO$$anon$2.flatten')
f(8,15805,2650,1,'cats/FlatMap.flatten$')
f(9,15805,2650,1,'cats/FlatMap.flatten')
f(10,15805,2650,1,'cats/effect/IO$$anon$2.flatMap')
f(11,15805,2650,1,'cats/effect/IO$$anon$2.flatMap')
f(12,15805,2650,1,'cats/effect/IO.flatMap')
f(13,15805,2650,1,'cats/effect/IO$FlatMap$.apply')
f(14,15805,2650,2,'cats.effect.IO$FlatMap')
f(7,18455,5624,1,'cats/effect/kernel/SyncRef.modify')
f(8,18455,2787,1,'cats/effect/IO$$anon$2.delay')
f(9,18455,2787,1,'cats/effect/IO$$anon$2.delay')
f(10,18455,2787,1,'cats/effect/IO$.apply')
f(11,18455,2787,1,'cats/effect/IO$.delay')
f(12,18455,2787,1,'cats/effect/IO$Delay$.apply')
f(13,18455,2787,2,'cats.effect.IO$Delay')
f(8,21242,2837,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,21242,2837,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,21242,2837,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,21242,2837,2,'cats.effect.kernel.SyncRef$$Lambda$106+0x0000000800d78bb8')
f(5,24079,7191,1,'cats/effect/kernel/SyncRef$$Lambda$106.0x0000000800d78bb8.apply')
f(6,24079,7191,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,24079,7191,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,24079,7191,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch$$Lambda$100.0x0000000800d73348.apply')
f(9,24079,7191,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release$$anonfun$1')
f(10,24079,1617,1,'cats/effect/IO$$anon$2.unit')
f(11,24079,1617,1,'cats/Applicative.unit$')
f(12,24079,1617,1,'cats/Applicative.unit')
f(13,24079,1617,1,'cats/effect/IO$$anon$2.pure')
f(14,24079,1617,1,'cats/effect/IO$$anon$2.pure')
f(15,24079,1617,1,'cats/effect/IO$.pure')
f(16,24079,1617,1,'cats/effect/IO$Pure$.apply')
f(17,24079,1617,2,'cats.effect.IO$Pure')
f(10,25696,2739,1,'cats/effect/std/CountDownLatch$Awaiting$.apply')
f(11,25696,2739,2,'cats.effect.std.CountDownLatch$Awaiting')
f(10,28435,2835,1,'scala/Tuple2$.apply')
f(11,28435,2835,2,'scala.Tuple2')
f(3,31270,1058,1,'cats/effect/IOFiber.execR')
f(4,31270,4,1,'cats/effect/ArrayStack.init')
f(5,31270,4,2,'java.lang.Object[]')
f(4,31274,444,1,'cats/effect/ByteStack$.create')
f(5,31274,444,2,'int[]')
f(4,31718,610,1,'cats/effect/IOFiber.runLoop')
f(5,31718,1,2,'cats.effect.ContState')
f(5,31719,54,2,'cats.effect.IOFiber$$anon$1')
f(5,31773,1,2,'cats.effect.IOFiber')
f(5,31774,1,1,'cats/effect/IO$$$Lambda$40.0x0000000800d29c88.apply')
f(6,31774,1,1,'cats/effect/IO$.deferred$$anonfun$1')
f(7,31774,1,1,'cats/effect/IODeferred.<init>')
f(8,31774,1,2,'java.util.concurrent.atomic.AtomicReference')
f(5,31775,1,1,'cats/effect/IO$$anon$3$$Lambda$110.0x0000000800d7a570.apply')
f(6,31775,1,1,'cats/effect/IO$$anon$3.apply$$anonfun$1')
f(7,31775,1,1,'cats/effect/IO$$anon$2.uncancelable')
f(8,31775,1,1,'cats/effect/IO$$anon$2.uncancelable')
f(9,31775,1,1,'cats/effect/IO$.uncancelable')
f(10,31775,1,1,'cats/effect/IO$Uncancelable$.apply')
f(11,31775,1,2,'cats.effect.IO$Uncancelable')
f(5,31776,3,1,'cats/effect/IO$$anon$3$$Lambda$111.0x0000000800d7ae30.apply')
f(6,31776,3,1,'cats/effect/IO$$anon$3.apply$$anonfun$1$$anonfun$1')
f(7,31776,2,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(8,31776,2,1,'cats/FlatMap$Ops.flatMap$')
f(9,31776,2,1,'cats/FlatMap$Ops.flatMap')
f(10,31776,2,1,'cats/effect/IO$$anon$2.flatMap')
f(11,31776,2,1,'cats/effect/IO$$anon$2.flatMap')
f(12,31776,2,1,'cats/effect/IO.flatMap')
f(13,31776,2,1,'cats/effect/IO$FlatMap$.apply')
f(14,31776,2,2,'cats.effect.IO$FlatMap')
f(7,31778,1,1,'cats/effect/IODeferred$$Lambda$96.0x0000000800d77948.apply')
f(8,31778,1,1,'cats/effect/IODeferred.$anonfun$1')
f(9,31778,1,1,'cats/effect/IO$.apply')
f(10,31778,1,1,'cats/effect/IO$.delay')
f(11,31778,1,1,'cats/effect/IO$Delay$.apply')
f(12,31778,1,2,'cats.effect.IO$Delay')
f(5,31779,15,1,'cats/effect/IODeferred$$Lambda$112.0x0000000800d7b200.apply')
f(6,31779,15,1,'cats/effect/IODeferred.$anonfun$1$$anonfun$1')
f(7,31779,1,1,'cats/effect/CallbackStack.push')
f(8,31779,1,2,'cats.effect.CallbackStack')
f(7,31780,14,1,'scala/Some$.apply')
f(8,31780,14,2,'scala.Some')
f(5,31794,2,1,'cats/effect/IOFiber.<init>')
f(6,31794,1,1,'cats/effect/ArrayStack$.apply')
f(7,31794,1,2,'cats.effect.ArrayStack')
f(6,31795,1,1,'cats/effect/IO$.async')
f(7,31795,1,2,'cats.effect.IO$$anon$4')
f(5,31796,248,1,'cats/effect/IOFiber.succeeded')
f(6,31796,1,1,'cats/effect/std/CountDownLatch$$$Lambda$43.0x0000000800d2b208.apply')
f(7,31796,1,1,'cats/effect/std/CountDownLatch$.apply$$anonfun$1')
f(8,31796,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,31796,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,31796,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,31796,1,2,'cats.effect.std.CountDownLatch$$$Lambda$99+0x0000000800d72a88')
f(6,31797,243,1,'kyo/bench/CountdownLatchBench$$Lambda$102.0x0000000800d73ae8.apply')
f(7,31797,243,1,'kyo/bench/CountdownLatchBench.iterate$1$$anonfun$1')
f(8,31797,243,1,'kyo/bench/CountdownLatchBench.iterate$1')
f(9,31797,58,1,'cats/effect/IO.flatMap')
f(10,31797,58,1,'cats/effect/IO$FlatMap$.apply')
f(11,31797,58,2,'cats.effect.IO$FlatMap')
f(9,31855,141,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release')
f(10,31855,102,1,'cats/effect/kernel/Ref.flatModify')
f(11,31855,52,1,'cats/effect/IO$$anon$2.uncancelable')
f(12,31855,52,1,'cats/effect/IO$$anon$2.uncancelable')
f(13,31855,52,1,'cats/effect/IO$.uncancelable')
f(14,31855,52,1,'cats/effect/IO$Uncancelable$.apply')
f(15,31855,52,2,'cats.effect.IO$Uncancelable')
f(11,31907,50,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,31907,50,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,31907,50,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,31907,50,2,'cats.effect.kernel.Ref$$Lambda$101+0x0000000800d73718')
f(10,31957,39,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,31957,39,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,31957,39,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,31957,39,2,'cats.effect.std.CountDownLatch$ConcurrentCountDownLatch$$Lambda$100+0x0000000800d73348')
f(9,31996,44,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,31996,44,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d2c000.newInvokeSpecial')
f(11,31996,44,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,31996,44,2,'kyo.bench.CountdownLatchBench$$Lambda$102+0x0000000800d73ae8')
f(6,32040,4,1,'kyo/bench/CountdownLatchBench$$Lambda$44.0x0000000800d2b7f8.apply')
f(7,32040,4,1,'kyo/bench/CountdownLatchBench.catsBench$$anonfun$1')
f(8,32040,2,1,'cats/effect/IO.flatMap')
f(9,32040,2,1,'cats/effect/IO$FlatMap$.apply')
f(10,32040,2,2,'cats.effect.IO$FlatMap')
f(8,32042,2,1,'kyo/bench/CountdownLatchBench.iterate$1')
f(9,32042,1,1,'cats/effect/IO.flatMap')
f(10,32042,1,1,'cats/effect/IO$FlatMap$.apply')
f(11,32042,1,2,'cats.effect.IO$FlatMap')
f(9,32043,1,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release')
f(10,32043,1,1,'cats/effect/kernel/Ref.flatModify')
f(11,32043,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(12,32043,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(13,32043,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(14,32043,1,2,'cats.effect.kernel.Ref$$Lambda$101+0x0000000800d73718')
f(5,32044,147,1,'cats/effect/kernel/Ref$$Lambda$101.0x0000000800d73718.apply')
f(6,32044,147,1,'cats/effect/kernel/Ref.flatModify$$anonfun$1')
f(7,32044,54,1,'cats/effect/IO$$anon$2.flatten')
f(8,32044,54,1,'cats/FlatMap.flatten$')
f(9,32044,54,1,'cats/FlatMap.flatten')
f(10,32044,54,1,'cats/effect/IO$$anon$2.flatMap')
f(11,32044,54,1,'cats/effect/IO$$anon$2.flatMap')
f(12,32044,54,1,'cats/effect/IO.flatMap')
f(13,32044,54,1,'cats/effect/IO$FlatMap$.apply')
f(14,32044,54,2,'cats.effect.IO$FlatMap')
f(7,32098,93,1,'cats/effect/kernel/SyncRef.modify')
f(8,32098,37,1,'cats/effect/IO$$anon$2.delay')
f(9,32098,37,1,'cats/effect/IO$$anon$2.delay')
f(10,32098,37,1,'cats/effect/IO$.apply')
f(11,32098,37,1,'cats/effect/IO$.delay')
f(12,32098,37,1,'cats/effect/IO$Delay$.apply')
f(13,32098,37,2,'cats.effect.IO$Delay')
f(8,32135,56,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,32135,56,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,32135,56,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,32135,56,2,'cats.effect.kernel.SyncRef$$Lambda$106+0x0000000800d78bb8')
f(5,32191,135,1,'cats/effect/kernel/SyncRef$$Lambda$106.0x0000000800d78bb8.apply')
f(6,32191,135,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,32191,135,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,32191,135,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch$$Lambda$100.0x0000000800d73348.apply')
f(9,32191,135,1,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release$$anonfun$1')
f(10,32191,24,1,'cats/effect/IO$$anon$2.unit')
f(11,32191,24,1,'cats/Applicative.unit$')
f(12,32191,24,1,'cats/Applicative.unit')
f(13,32191,24,1,'cats/effect/IO$$anon$2.pure')
f(14,32191,24,1,'cats/effect/IO$$anon$2.pure')
f(15,32191,24,1,'cats/effect/IO$.pure')
f(16,32191,24,1,'cats/effect/IO$Pure$.apply')
f(17,32191,24,2,'cats.effect.IO$Pure')
f(10,32215,45,1,'cats/effect/std/CountDownLatch$Awaiting$.apply')
f(11,32215,45,2,'cats.effect.std.CountDownLatch$Awaiting')
f(10,32260,66,1,'scala/Tuple2$.apply')
f(11,32260,66,2,'scala.Tuple2')
f(5,32326,2,1,'cats/effect/std/CountDownLatch$State$$$Lambda$42.0x0000000800d2a9b8.apply')
f(6,32326,2,1,'cats/effect/std/CountDownLatch$State$.initial$$anonfun$1')
f(7,32326,2,1,'cats/effect/std/CountDownLatch$Awaiting$.apply')
f(8,32326,2,2,'cats.effect.std.CountDownLatch$Awaiting')
f(1,32328,1,2,'java.lang.String')
f(1,32329,3014,1,'java/lang/Thread.run')
f(2,32329,3014,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,32329,3014,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,32329,3014,1,'java/util/concurrent/FutureTask.run')
f(5,32329,3014,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,32329,3014,1,'java/util/concurrent/FutureTask.run')
f(7,32329,3014,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,32329,3014,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,32329,3014,1,'java/lang/reflect/Method.invoke')
f(10,32329,3014,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,32329,3014,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,32329,3014,1,'kyo/bench/jmh_generated/CountdownLatchBench_syncCats_jmhTest.syncCats_Throughput')
f(13,32329,3012,1,'kyo/bench/jmh_generated/CountdownLatchBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,32329,3012,1,'kyo/bench/Bench.syncCats')
f(15,32329,2344,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,32329,2337,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,32329,1290,1,'cats/effect/IO.unsafeRunAsync')
f(18,32329,1217,1,'cats/effect/IO.unsafeRunFiber')
f(19,32329,284,5,'cats.effect.IOFiber')
f(19,32613,815,1,'cats/effect/IOFiber.<init>')
f(20,32613,662,1,'cats/effect/ArrayStack$.apply')
f(21,32613,662,2,'cats.effect.ArrayStack')
f(20,33275,13,1,'cats/effect/CallbackStack$.apply')
f(21,33275,13,2,'cats.effect.CallbackStack')
f(20,33288,52,1,'cats/effect/IO$.async')
f(21,33288,32,2,'cats.effect.IO$$anon$4')
f(21,33320,20,1,'cats/effect/IO$IOCont$.apply')
f(22,33320,20,2,'cats.effect.IO$IOCont')
f(20,33340,20,1,'cats/effect/IO$.uncancelable')
f(21,33340,20,1,'cats/effect/IO$Uncancelable$.apply')
f(22,33340,20,2,'cats.effect.IO$Uncancelable')
f(20,33360,68,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,33360,68,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,33360,68,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,33360,45,2,'cats.effect.IOFiber$$Lambda$93+0x0000000800d75e20')
f(23,33405,23,2,'cats.effect.IOFiber$$Lambda$94+0x0000000800d76410')
f(19,33428,118,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,33428,118,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d70c00.newInvokeSpecial')
f(21,33428,118,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,33428,118,2,'cats.effect.IO$$Lambda$92+0x0000000800d74fe8')
f(18,33546,73,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,33546,73,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,33546,73,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,33546,19,2,'cats.effect.IO$$Lambda$89+0x0000000800d6f750')
f(21,33565,26,2,'cats.effect.IO$$Lambda$90+0x0000000800d6fa10')
f(21,33591,28,2,'cats.effect.IO$$Lambda$91+0x0000000800d74000')
f(17,33619,47,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,33666,16,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,33666,16,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,33666,16,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,33666,16,2,'cats.effect.IOPlatform$$Lambda$88+0x0000000800d6f348')
f(17,33682,745,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,33682,745,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,33682,105,2,'java.lang.Object[]')
f(19,33787,127,2,'java.util.concurrent.locks.ReentrantLock')
f(19,33914,463,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,33914,463,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,34377,50,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,34377,50,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,34377,50,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,34427,79,1,'scala/concurrent/package$.blocking')
f(18,34427,79,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,34427,79,1,'cats/effect/IOPlatform$$Lambda$95.0x0000000800d76be8.apply')
f(20,34427,79,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,34427,79,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,34427,79,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,34427,79,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,34506,160,1,'scala/util/Either.fold')
f(18,34506,160,1,'cats/effect/IOPlatform$$Lambda$122.0x0000000800d80408.apply')
f(19,34506,160,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,34506,160,1,'scala/Some$.apply')
f(21,34506,160,2,'scala.Some')
f(16,34666,7,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,34666,7,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,34666,7,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,34666,7,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,34666,7,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,34666,7,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,34666,7,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,34666,7,2,'scala.concurrent.duration.FiniteDuration')
f(15,34673,668,1,'kyo/bench/CountdownLatchBench.catsBench')
f(16,34673,32,1,'cats/effect/IO.flatMap')
f(17,34673,32,1,'cats/effect/IO$FlatMap$.apply')
f(18,34673,32,2,'cats.effect.IO$FlatMap')
f(16,34705,611,1,'cats/effect/std/CountDownLatch$.apply')
f(17,34705,21,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(18,34705,21,1,'cats/FlatMap$Ops.flatMap$')
f(19,34705,21,1,'cats/FlatMap$Ops.flatMap')
f(20,34705,21,1,'cats/effect/IO$$anon$2.flatMap')
f(21,34705,21,1,'cats/effect/IO$$anon$2.flatMap')
f(22,34705,21,1,'cats/effect/IO.flatMap')
f(23,34705,21,1,'cats/effect/IO$FlatMap$.apply')
f(24,34705,21,2,'cats.effect.IO$FlatMap')
f(17,34726,542,1,'cats/effect/std/CountDownLatch$State$.initial')
f(18,34726,11,1,'cats/Functor$ToFunctorOps$$anon$4.map')
f(19,34726,11,1,'cats/Functor$Ops.map$')
f(20,34726,11,1,'cats/Functor$Ops.map')
f(21,34726,11,1,'cats/effect/IO$$anon$2.map')
f(22,34726,11,1,'cats/effect/IO$$anon$2.map')
f(23,34726,11,1,'cats/effect/IO.map')
f(24,34726,11,1,'cats/effect/IO$Map$.apply')
f(25,34726,11,2,'cats.effect.IO$Map')
f(18,34737,124,1,'cats/effect/IO$$anon$2.deferred')
f(19,34737,124,1,'cats/effect/IO$$anon$2.deferred')
f(20,34737,124,1,'cats/effect/IO$.deferred')
f(21,34737,1,1,'cats/effect/IO$.apply')
f(22,34737,1,1,'cats/effect/IO$.delay')
f(23,34737,1,1,'cats/effect/IO$Delay$.apply')
f(24,34737,1,2,'cats.effect.IO$Delay')
f(21,34738,123,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(22,34738,123,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(23,34738,123,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(24,34738,123,2,'cats.effect.IO$$$Lambda$40+0x0000000800d29c88')
f(18,34861,407,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,34861,407,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d2c000.newInvokeSpecial')
f(20,34861,407,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,34861,407,2,'cats.effect.std.CountDownLatch$State$$$Lambda$42+0x0000000800d2a9b8')
f(17,35268,48,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,35268,48,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,35268,48,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,35268,48,2,'cats.effect.std.CountDownLatch$$$Lambda$43+0x0000000800d2b208')
f(16,35316,25,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(17,35316,25,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(18,35316,25,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(19,35316,25,2,'kyo.bench.CountdownLatchBench$$Lambda$44+0x0000000800d2b7f8')
f(13,35341,1,1,'org/openjdk/jmh/results/BenchmarkTaskResult.<init>')
f(14,35341,1,2,'java.util.ArrayList')
f(13,35342,1,1,'org/openjdk/jmh/results/ThroughputResult.<init>')
f(14,35342,1,1,'java/lang/StringBuilder.toString')
f(15,35342,1,1,'java/lang/StringLatin1.newString')
f(16,35342,1,1,'java/util/Arrays.copyOfRange')
f(17,35342,1,2,'byte[]')
f(1,35343,24,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,35343,24,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,35343,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,35343,24,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,35343,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,35343,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,35343,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,35343,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,35343,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,35343,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,35343,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,35343,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,35343,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,35343,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,35343,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,35343,1,2,'java.lang.Object[]')
f(7,35344,9,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,35344,2,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,35344,2,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,35346,1,5,'org.openjdk.jmh.runner.InfraControl')
f(8,35347,1,1,'org/openjdk/jmh/runner/InfraControl.<init>')
f(9,35347,1,1,'org/openjdk/jmh/runner/InfraControlL4.<init>')
f(10,35347,1,1,'org/openjdk/jmh/runner/InfraControlL3.<init>')
f(11,35347,1,1,'org/openjdk/jmh/runner/InfraControlL2.<init>')
f(12,35347,1,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,35348,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,35348,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,35348,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,35348,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,35348,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,35348,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,35353,14,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,35353,14,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,35353,3,1,'java/lang/ClassLoader.loadClass')
f(10,35353,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,35353,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,35353,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,35353,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,35353,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,35353,1,1,'java/security/CodeSource.<init>')
f(16,35353,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,35353,1,1,'java/lang/StringBuilder.append')
f(18,35353,1,1,'java/lang/AbstractStringBuilder.append')
f(19,35353,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,35353,1,1,'java/util/Arrays.copyOf')
f(21,35353,1,2,'byte[]')
f(15,35354,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,35354,1,1,'java/util/Arrays.copyOf')
f(17,35354,1,5,'byte[]')
f(14,35355,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,35355,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,35355,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,35355,1,1,'java/net/URL.<init>')
f(18,35355,1,1,'java/net/URL.<init>')
f(19,35355,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,35355,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,35355,1,1,'java/lang/StringBuilder.toString')
f(22,35355,1,1,'java/lang/StringLatin1.newString')
f(23,35355,1,2,'java.lang.String')
f(9,35356,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,35356,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,35356,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,35356,11,1,'java/io/ObjectStreamClass.lookup')
f(13,35356,11,1,'java/io/ObjectStreamClass.<init>')
f(14,35356,11,1,'java/security/AccessController.doPrivileged')
f(15,35356,11,1,'java/security/AccessController.executePrivileged')
f(16,35356,11,1,'java/io/ObjectStreamClass$2.run')
f(17,35356,11,1,'java/io/ObjectStreamClass$2.run')
f(18,35356,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,35356,2,1,'java/lang/Class.getDeclaredMethod')
f(20,35356,1,1,'java/lang/Class.methodToString')
f(21,35356,1,1,'java/lang/StringBuilder.append')
f(22,35356,1,1,'java/lang/AbstractStringBuilder.append')
f(23,35356,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,35356,1,1,'java/util/Arrays.copyOf')
f(25,35356,1,2,'byte[]')
f(20,35357,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,35357,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,35357,1,1,'java/lang/Exception.<init>')
f(23,35357,1,1,'java/lang/Throwable.<init>')
f(24,35357,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,35357,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,35357,1,2,'short[]')
f(18,35358,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,35358,3,1,'java/lang/Class.getDeclaredMethod')
f(20,35358,2,1,'java/lang/Class.methodToString')
f(21,35358,1,1,'java/lang/StringBuilder.append')
f(22,35358,1,1,'java/lang/AbstractStringBuilder.append')
f(23,35358,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,35358,1,1,'java/util/Arrays.copyOf')
f(25,35358,1,2,'byte[]')
f(21,35359,1,1,'java/lang/StringBuilder.toString')
f(22,35359,1,1,'java/lang/StringLatin1.newString')
f(23,35359,1,1,'java/util/Arrays.copyOfRange')
f(24,35359,1,2,'byte[]')
f(20,35360,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,35360,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,35360,1,1,'java/lang/Exception.<init>')
f(23,35360,1,1,'java/lang/Throwable.<init>')
f(24,35360,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,35360,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,35360,1,5,'long[]')
f(18,35361,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,35361,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,35361,1,1,'java/lang/Class.getDeclaredField')
f(21,35361,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,35361,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,35361,1,1,'java/lang/Exception.<init>')
f(24,35361,1,1,'java/lang/Throwable.<init>')
f(25,35361,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,35361,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,35361,1,2,'long[]')
f(18,35362,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,35362,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,35362,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,35362,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,35362,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,35362,1,1,'java/security/AccessController.doPrivileged')
f(24,35362,1,1,'java/security/AccessController.executePrivileged')
f(25,35362,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,35362,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,35362,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,35362,1,1,'java/security/AccessController.doPrivileged')
f(29,35362,1,1,'java/security/AccessController.executePrivileged')
f(30,35362,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,35362,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,35362,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,35362,1,1,'java/lang/ClassLoader.<init>')
f(34,35362,1,1,'java/lang/ClassLoader.<init>')
f(35,35362,1,1,'java/lang/ClassLoader.nameAndId')
f(36,35362,1,1,'java/lang/StringBuilder.<init>')
f(37,35362,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,35362,1,2,'byte[]')
f(23,35363,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,35363,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,35363,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,35363,1,2,'byte[]')
f(23,35364,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,35364,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,35364,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,35364,1,2,'byte[]')
f(23,35365,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,35365,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,35365,1,1,'java/lang/String.replace')
f(26,35365,1,1,'java/lang/StringLatin1.replace')
f(27,35365,1,2,'java.lang.String')
f(23,35366,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,35366,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 656px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(41);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,494,3,'all')
f(1,0,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,1,3,'thread_native_entry(Thread*)')
f(3,0,1,4,'Thread::call_run()')
f(4,0,1,4,'VMThread::run()')
f(5,0,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,0,1,4,'VMThread::evaluate_operation(VM_Operation*)')
f(7,0,1,4,'VM_Operation::evaluate()')
f(8,0,1,4,'VM_G1CollectForAllocation::doit()')
f(9,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,0,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint_helper(double)')
f(11,0,1,4,'TraceMemoryManagerStats::~TraceMemoryManagerStats()')
f(12,0,1,4,'GCMemoryManager::gc_end(bool, bool, bool, bool, GCCause::Cause, bool)')
f(1,1,8,3,'[unknown_Java]')
f(2,1,1,6,'cats/effect/IO$Delay.tag',0,1,0)
f(2,2,4,6,'cats/effect/IO$Pure.tag',0,4,0)
f(2,6,3,6,'cats/effect/IO$Uncancelable.tag',0,3,0)
f(1,9,481,1,'cats/effect/unsafe/WorkerThread.run')
f(2,9,470,1,'cats/effect/IOFiber.run',1,0,0)
f(3,9,2,1,'cats/effect/IOFiber.asyncContinueSuccessfulR')
f(4,9,2,1,'cats/effect/IOFiber.succeeded')
f(5,9,2,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(6,9,2,1,'cats/effect/IOFiber.done')
f(7,9,2,1,'cats/effect/CallbackStack.apply')
f(8,9,2,1,'scala/runtime/function/JProcedure1.apply')
f(9,9,2,1,'scala/runtime/function/JProcedure1.apply')
f(10,9,2,1,'cats/effect/IO$$Lambda$92.0x0000000800d74fe8.applyVoid')
f(11,9,2,1,'cats/effect/IO.$anonfun$6')
f(12,9,2,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(13,9,2,1,'cats/effect/kernel/Outcome.fold$')
f(14,9,2,1,'cats/effect/kernel/Outcome.fold')
f(15,9,2,1,'scala/runtime/function/JProcedure1.apply')
f(16,9,2,1,'scala/runtime/function/JProcedure1.apply')
f(17,9,2,1,'cats/effect/IO$$Lambda$120.0x0000000800d80000.applyVoid')
f(18,9,2,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(19,9,2,1,'scala/runtime/function/JProcedure1.apply')
f(20,9,2,1,'scala/runtime/function/JProcedure1.apply')
f(21,9,2,1,'cats/effect/IO$$Lambda$91.0x0000000800d74000.applyVoid')
f(22,9,2,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(23,9,2,1,'scala/runtime/function/JProcedure1.apply')
f(24,9,2,1,'scala/runtime/function/JProcedure1.apply')
f(25,9,2,1,'cats/effect/IOPlatform$$Lambda$88.0x0000000800d6f348.applyVoid')
f(26,9,2,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(27,9,2,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(28,9,2,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(29,9,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(30,9,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(31,9,2,1,'java/util/concurrent/locks/LockSupport.unpark')
f(32,9,2,1,'jdk/internal/misc/Unsafe.unpark')
f(33,9,2,3,'pthread_cond_signal')
f(34,9,2,5,'entry_SYSCALL_64_after_hwframe')
f(35,9,2,5,'do_syscall_64')
f(36,9,1,5,'__x64_sys_futex')
f(37,9,1,5,'do_futex')
f(38,9,1,5,'futex_wake')
f(39,9,1,5,'wake_up_q')
f(40,9,1,5,'_raw_spin_unlock_irqrestore')
f(36,10,1,5,'syscall_enter_from_user_mode')
f(3,11,446,1,'cats/effect/IOFiber.autoCedeR')
f(4,11,446,1,'cats/effect/IOFiber.runLoop')
f(5,134,26,2,'cats/effect/ArrayStack.push',26,0,0)
f(6,138,22,2,'cats/effect/ArrayStack.checkAndGrow',22,0,0)
f(5,160,6,2,'cats/effect/ByteStack$.push',5,0,0)
f(6,165,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(7,165,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(8,165,1,4,'MemAllocator::Allocation::notify_allocation_jfr_sampler()')
f(5,166,18,2,'cats/effect/IO$.apply',18,0,0)
f(6,166,18,2,'cats/effect/IO$.delay',18,0,0)
f(7,173,9,2,'cats/effect/IO$Delay$.apply',9,0,0)
f(8,173,9,2,'cats/effect/IO$Delay.<init>',9,0,0)
f(9,173,9,2,'cats/effect/IO.<init>',9,0,0)
f(10,173,9,2,'cats/effect/IOPlatform.<init>',9,0,0)
f(7,182,2,2,'cats/effect/tracing/TracingPlatform.calculateTracingEvent',2,0,0)
f(5,184,11,6,'cats/effect/IO$Delay.tag',0,11,0)
f(5,195,21,6,'cats/effect/IO$FlatMap.tag',0,21,0)
f(5,216,5,6,'cats/effect/IO$Pure.tag',0,5,0)
f(5,221,13,6,'cats/effect/IO$Uncancelable.tag',0,13,0)
f(5,234,1,1,'cats/effect/IODeferred$$Lambda$116.0x0000000800d7ebd0.apply')
f(6,234,1,1,'cats/effect/IODeferred.complete$$anonfun$1')
f(7,234,1,1,'cats/effect/CallbackStack.apply')
f(8,234,1,1,'scala/runtime/function/JProcedure1.apply')
f(9,234,1,1,'scala/runtime/function/JProcedure1.apply')
f(10,234,1,1,'cats/effect/IOFiber$$Lambda$109.0x0000000800d79820.applyVoid')
f(11,234,1,1,'cats/effect/IOFiber.$anonfun$2')
f(12,234,1,1,'cats/effect/IOFiber.stateLoop$1')
f(13,234,1,1,'cats/effect/IOFiber.loop$1')
f(14,234,1,1,'cats/effect/IOFiber.scheduleFiber')
f(15,234,1,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(16,234,1,1,'cats/effect/unsafe/WorkerThread.schedule')
f(17,234,1,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(18,234,1,1,'java/util/concurrent/locks/LockSupport.unpark')
f(19,234,1,1,'jdk/internal/misc/Unsafe.unpark')
f(20,234,1,3,'pthread_cond_signal')
f(21,234,1,5,'entry_SYSCALL_64_after_hwframe')
f(22,234,1,5,'do_syscall_64')
f(23,234,1,5,'__x64_sys_futex')
f(24,234,1,5,'do_futex')
f(25,234,1,5,'futex_wake')
f(26,234,1,5,'wake_up_q')
f(27,234,1,5,'_raw_spin_unlock_irqrestore')
f(5,235,65,2,'cats/effect/IOFiber.rescheduleFiber',65,0,0)
f(6,236,64,2,'cats/effect/unsafe/WorkStealingThreadPool.reschedule',64,0,0)
f(7,249,2,2,'cats/effect/unsafe/WorkerThread.isOwnedBy',2,0,0)
f(7,251,49,2,'cats/effect/unsafe/WorkerThread.reschedule',49,0,0)
f(8,273,27,2,'cats/effect/unsafe/LocalQueue.isEmpty',27,0,0)
f(9,277,23,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',23,0,0)
f(10,299,1,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.accessCheck',1,0,0)
f(5,300,118,1,'cats/effect/IOFiber.succeeded')
f(6,384,10,2,'cats/effect/ByteStack$.pop',10,0,0)
f(7,390,4,2,'cats/effect/ByteStack$.peek',4,0,0)
f(6,394,24,2,'kyo/bench/CountdownLatchBench$$Lambda$102.0x0000000800d73ae8.apply',24,0,0)
f(7,396,22,2,'kyo/bench/CountdownLatchBench.iterate$1$$anonfun$1',22,0,0)
f(8,396,22,2,'kyo/bench/CountdownLatchBench.iterate$1',22,0,0)
f(9,397,8,2,'cats/effect/IO.flatMap',8,0,0)
f(10,397,8,2,'cats/effect/IO$FlatMap$.apply',8,0,0)
f(11,403,2,2,'cats/effect/IO$FlatMap.<init>',2,0,0)
f(9,405,6,2,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release',6,0,0)
f(10,405,5,2,'cats/effect/kernel/Ref.flatModify',5,0,0)
f(11,405,3,2,'cats/effect/IO$$anon$2.uncancelable',3,0,0)
f(12,405,3,2,'cats/effect/IO$$anon$2.uncancelable',3,0,0)
f(13,405,3,2,'cats/effect/IO$.uncancelable',3,0,0)
f(14,405,3,2,'cats/effect/IO$Uncancelable$.apply',3,0,0)
f(11,408,2,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',2,0,0)
f(12,408,2,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',2,0,0)
f(13,408,2,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',2,0,0)
f(10,410,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(11,410,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(12,410,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(9,411,7,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',7,0,0)
f(10,411,7,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d2c000.newInvokeSpecial',7,0,0)
f(11,411,6,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',6,0,0)
f(11,417,1,2,'kyo/bench/CountdownLatchBench$$Lambda$102.0x0000000800d73ae8.<init>',1,0,0)
f(5,418,11,2,'cats/effect/kernel/Ref$$Lambda$101.0x0000000800d73718.apply',11,0,0)
f(6,418,11,2,'cats/effect/kernel/Ref.flatModify$$anonfun$1',11,0,0)
f(7,418,10,2,'cats/effect/IO$$anon$2.flatten',10,0,0)
f(8,418,10,2,'cats/FlatMap.flatten$',10,0,0)
f(9,418,10,2,'cats/FlatMap.flatten',10,0,0)
f(10,418,10,2,'cats/effect/IO$$anon$2.flatMap',10,0,0)
f(11,420,8,2,'cats/effect/IO$$anon$2.flatMap',8,0,0)
f(12,420,8,2,'cats/effect/IO.flatMap',8,0,0)
f(13,421,7,2,'cats/effect/IO$FlatMap$.apply',7,0,0)
f(14,426,2,2,'cats/effect/IO$FlatMap.<init>',2,0,0)
f(15,426,2,2,'cats/effect/IO.<init>',2,0,0)
f(7,428,1,2,'cats/effect/kernel/SyncRef.modify',1,0,0)
f(5,429,3,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',3,0,0)
f(6,429,3,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',3,0,0)
f(5,432,8,2,'java/util/concurrent/atomic/AtomicReference.compareAndSet',8,0,0)
f(6,435,5,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',5,0,0)
f(7,435,5,2,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.compareAndSet',5,0,0)
f(5,440,17,3,'vtable stub')
f(3,457,22,1,'cats/effect/IOFiber.execR',1,0,0)
f(4,457,1,2,'cats/effect/ByteStack$.push',1,0,0)
f(5,457,1,3,'clock_gettime')
f(6,457,1,3,'[vdso]')
f(4,458,21,1,'cats/effect/IOFiber.runLoop')
f(5,462,1,6,'cats/effect/IO$Delay.tag',0,1,0)
f(5,463,1,6,'cats/effect/IO$FlatMap.tag',0,1,0)
f(5,464,1,6,'cats/effect/IO$Start.tag',0,1,0)
f(5,465,2,2,'cats/effect/IOFiber.rescheduleFiber',2,0,0)
f(6,465,2,2,'cats/effect/unsafe/WorkStealingThreadPool.reschedule',2,0,0)
f(7,465,2,2,'cats/effect/unsafe/WorkerThread.reschedule',2,0,0)
f(8,466,1,2,'cats/effect/unsafe/LocalQueue.isEmpty',1,0,0)
f(9,466,1,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',1,0,0)
f(5,467,2,1,'cats/effect/IOFiber.scheduleFiber')
f(6,467,2,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(7,467,2,1,'cats/effect/unsafe/WorkerThread.schedule')
f(8,467,2,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(9,467,2,1,'java/util/concurrent/locks/LockSupport.unpark')
f(10,467,2,1,'jdk/internal/misc/Unsafe.unpark')
f(11,467,2,3,'pthread_cond_signal')
f(12,467,2,5,'entry_SYSCALL_64_after_hwframe')
f(13,467,2,5,'do_syscall_64')
f(14,467,2,5,'__x64_sys_futex')
f(15,467,2,5,'do_futex')
f(16,467,2,5,'futex_wake')
f(17,467,2,5,'wake_up_q')
f(18,467,2,5,'_raw_spin_unlock_irqrestore')
f(5,469,7,1,'cats/effect/IOFiber.succeeded')
f(6,474,2,2,'kyo/bench/CountdownLatchBench$$Lambda$102.0x0000000800d73ae8.apply',2,0,0)
f(7,474,2,2,'kyo/bench/CountdownLatchBench.iterate$1$$anonfun$1',2,0,0)
f(8,474,2,2,'kyo/bench/CountdownLatchBench.iterate$1',2,0,0)
f(9,474,1,2,'cats/effect/IO.flatMap',1,0,0)
f(10,474,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(9,475,1,2,'cats/effect/std/CountDownLatch$ConcurrentCountDownLatch.release',1,0,0)
f(10,475,1,2,'cats/effect/kernel/Ref.flatModify',1,0,0)
f(11,475,1,2,'cats/effect/IO$$anon$2.uncancelable',1,0,0)
f(12,475,1,2,'cats/effect/IO$$anon$2.uncancelable',1,0,0)
f(13,475,1,2,'cats/effect/IO$.uncancelable',1,0,0)
f(14,475,1,2,'cats/effect/IO$Uncancelable$.apply',1,0,0)
f(5,476,1,2,'cats/effect/kernel/Ref$$Lambda$101.0x0000000800d73718.apply',1,0,0)
f(5,477,2,3,'vtable stub')
f(2,479,11,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,479,11,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,479,11,1,'java/util/concurrent/locks/LockSupport.park')
f(5,479,11,1,'jdk/internal/misc/Unsafe.park')
f(6,479,2,3,'Unsafe_Park')
f(7,479,1,4,'Parker::park(bool, long)')
f(7,480,1,3,'__tls_get_addr')
f(6,481,9,3,'[unknown]')
f(7,481,9,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,481,9,5,'entry_SYSCALL_64_after_hwframe')
f(9,481,9,5,'do_syscall_64')
f(10,481,7,5,'__x64_sys_futex')
f(11,482,6,5,'do_futex')
f(12,482,6,5,'futex_wait')
f(13,483,5,5,'futex_wait_queue_me')
f(14,483,5,5,'schedule')
f(15,484,4,5,'__schedule')
f(16,484,4,5,'finish_task_switch.isra.0')
f(10,488,1,5,'syscall_enter_from_user_mode')
f(10,489,1,5,'syscall_exit_to_user_mode')
f(11,489,1,5,'exit_to_user_mode_prepare')
f(12,489,1,5,'exit_to_user_mode_loop')
f(13,489,1,5,'__rseq_handle_notify_resume')
f(14,489,1,5,'__put_user_nocheck_8')
f(1,490,4,1,'java/lang/Thread.run')
f(2,490,4,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,490,4,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,490,4,1,'java/util/concurrent/FutureTask.run')
f(5,490,4,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,490,4,1,'java/util/concurrent/FutureTask.run')
f(7,490,4,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,490,4,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,490,4,1,'java/lang/reflect/Method.invoke')
f(10,490,4,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,490,4,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,490,4,1,'kyo/bench/jmh_generated/CountdownLatchBench_syncCats_jmhTest.syncCats_Throughput')
f(13,490,4,1,'kyo/bench/jmh_generated/CountdownLatchBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,490,4,1,'kyo/bench/Bench.syncCats')
f(15,490,4,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,490,4,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,490,3,1,'cats/effect/IO.unsafeRunAsync')
f(18,490,3,1,'cats/effect/IO.unsafeRunFiber')
f(19,490,3,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,490,3,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,490,3,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,490,3,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,490,3,1,'jdk/internal/misc/Unsafe.unpark')
f(24,490,1,3,'Unsafe_Unpark')
f(25,490,1,3,'pthread_mutex_lock')
f(24,491,2,3,'pthread_cond_signal')
f(25,491,2,5,'entry_SYSCALL_64_after_hwframe')
f(26,491,2,5,'do_syscall_64')
f(27,491,2,5,'__x64_sys_futex')
f(28,491,2,5,'do_futex')
f(29,491,2,5,'futex_wake')
f(30,491,2,5,'wake_up_q')
f(31,491,2,5,'_raw_spin_unlock_irqrestore')
f(17,493,1,1,'scala/concurrent/package$.blocking')
f(18,493,1,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,493,1,1,'cats/effect/IOPlatform$$Lambda$95.0x0000000800d76df0.apply')
f(20,493,1,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,493,1,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,493,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,493,1,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,493,1,1,'jdk/internal/misc/Unsafe.park')
f(25,493,1,3,'[unknown]')
f(26,493,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,493,1,5,'entry_SYSCALL_64_after_hwframe')
f(28,493,1,5,'do_syscall_64')
f(29,493,1,5,'__x64_sys_futex')
f(30,493,1,5,'do_futex')
f(31,493,1,5,'futex_wait')
f(32,493,1,5,'futex_wait_queue_me')
f(33,493,1,5,'schedule')
f(34,493,1,5,'__schedule')
f(35,493,1,5,'finish_task_switch.isra.0')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,48568,3,'all')
f(1,0,43629,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,43629,1,'cats/effect/IOFiber.run')
f(3,0,40820,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,40820,1,'cats/effect/IOFiber.runLoop')
f(5,0,40798,1,'cats/effect/IOFiber.next$2')
f(6,0,40798,1,'kyo/bench/DeepBindBench$$Lambda$92.0x0000000800d5eec0.apply')
f(7,0,40798,1,'kyo/bench/DeepBindBench.loop$2$$anonfun$1')
f(8,0,40798,1,'kyo/bench/DeepBindBench.loop$2')
f(9,0,20558,1,'cats/effect/IO.flatMap')
f(10,0,20558,1,'cats/effect/IO$FlatMap$.apply')
f(11,0,20558,2,'cats.effect.IO$FlatMap')
f(9,20558,20240,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,20558,20240,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d59000.newInvokeSpecial')
f(11,20558,20240,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,20558,20240,2,'kyo.bench.DeepBindBench$$Lambda$92+0x0000000800d5eec0')
f(5,40798,22,1,'cats/effect/IOFiber.succeeded')
f(6,40798,22,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,40798,6,1,'cats/effect/IO$.pure')
f(8,40798,6,1,'cats/effect/IO$Pure$.apply')
f(9,40798,6,2,'cats.effect.IO$Pure')
f(7,40804,14,1,'cats/effect/IOFiber.done')
f(8,40804,13,1,'cats/effect/CallbackStack.apply')
f(9,40804,13,1,'scala/runtime/function/JProcedure1.apply')
f(10,40804,13,1,'scala/runtime/function/JProcedure1.apply')
f(11,40804,13,1,'cats/effect/IO$$Lambda$88.0x0000000800d5c7c8.applyVoid')
f(12,40804,13,1,'cats/effect/IO.$anonfun$6')
f(13,40804,5,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,40804,5,1,'cats/effect/kernel/Outcome.fold$')
f(15,40804,5,1,'cats/effect/kernel/Outcome.fold')
f(16,40804,5,1,'scala/runtime/function/JProcedure1.apply')
f(17,40804,5,1,'scala/runtime/function/JProcedure1.apply')
f(18,40804,5,1,'cats/effect/IO$$Lambda$95.0x0000000800d5a000.applyVoid')
f(19,40804,5,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(20,40804,5,1,'scala/runtime/function/JProcedure1.apply')
f(21,40804,5,1,'scala/runtime/function/JProcedure1.apply')
f(22,40804,5,1,'cats/effect/IO$$Lambda$87.0x0000000800d57608.applyVoid')
f(23,40804,5,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,40804,5,1,'scala/runtime/function/JProcedure1.apply')
f(25,40804,5,1,'scala/runtime/function/JProcedure1.apply')
f(26,40804,5,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d56b38.applyVoid')
f(27,40804,5,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,40804,5,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,40804,5,1,'java/util/concurrent/ArrayBlockingQueue.enqueue')
f(30,40804,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal')
f(31,40804,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal')
f(32,40804,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.enqueue')
f(33,40804,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.tryInitializeHead')
f(34,40804,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ExclusiveNode')
f(13,40809,8,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,40809,8,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,40809,8,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,40809,2,2,'cats.effect.IO$$Lambda$93+0x0000000800d5f790')
f(16,40811,5,2,'cats.effect.IO$$Lambda$94+0x0000000800d5fa50')
f(16,40816,1,2,'cats.effect.IO$$Lambda$95+0x0000000800d5a000')
f(8,40817,1,1,'cats/effect/IO$.pure')
f(9,40817,1,1,'cats/effect/IO$Pure$.apply')
f(10,40817,1,2,'cats.effect.IO$Pure')
f(7,40818,2,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,40818,2,2,'cats.effect.kernel.Outcome$Succeeded')
f(3,40820,2202,1,'cats/effect/IOFiber.cedeR')
f(4,40820,2196,1,'cats/effect/IOFiber.runLoop')
f(5,40820,2196,1,'cats/effect/IOFiber.next$2')
f(6,40820,2196,1,'kyo/bench/DeepBindBench$$Lambda$92.0x0000000800d5eec0.apply')
f(7,40820,2196,1,'kyo/bench/DeepBindBench.loop$2$$anonfun$1')
f(8,40820,2196,1,'kyo/bench/DeepBindBench.loop$2')
f(9,40820,1125,1,'cats/effect/IO.flatMap')
f(10,40820,1125,1,'cats/effect/IO$FlatMap$.apply')
f(11,40820,1125,2,'cats.effect.IO$FlatMap')
f(9,41945,1071,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,41945,1071,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d59000.newInvokeSpecial')
f(11,41945,1071,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,41945,1071,2,'kyo.bench.DeepBindBench$$Lambda$92+0x0000000800d5eec0')
f(4,43016,6,1,'cats/effect/IOFiber.succeeded')
f(5,43016,6,1,'kyo/bench/Bench$$Lambda$40.0x0000000800d12648.apply')
f(6,43016,6,1,'kyo/bench/Bench.forkCats$$anonfun$1')
f(7,43016,6,1,'kyo/bench/DeepBindBench.catsBench')
f(8,43016,6,1,'kyo/bench/DeepBindBench.loop$2')
f(9,43016,2,1,'cats/effect/IO.flatMap')
f(10,43016,2,1,'cats/effect/IO$FlatMap$.apply')
f(11,43016,2,2,'cats.effect.IO$FlatMap')
f(9,43018,4,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,43018,4,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d59000.newInvokeSpecial')
f(11,43018,4,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,43018,4,2,'kyo.bench.DeepBindBench$$Lambda$92+0x0000000800d5eec0')
f(3,43022,607,1,'cats/effect/IOFiber.execR')
f(4,43022,27,1,'cats/effect/ArrayStack.init')
f(5,43022,27,2,'java.lang.Object[]')
f(4,43049,580,1,'cats/effect/ByteStack$.create')
f(5,43049,580,2,'int[]')
f(1,43629,1,2,'java.lang.String')
f(1,43630,4915,1,'java/lang/Thread.run')
f(2,43630,4915,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,43630,4915,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,43630,4915,1,'java/util/concurrent/FutureTask.run')
f(5,43630,4915,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,43630,4915,1,'java/util/concurrent/FutureTask.run')
f(7,43630,4915,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,43630,4915,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,43630,4915,1,'java/lang/reflect/Method.invoke')
f(10,43630,4915,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,43630,4915,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,43630,4915,1,'kyo/bench/jmh_generated/DeepBindBench_forkCats_jmhTest.forkCats_Throughput')
f(13,43630,4914,1,'kyo/bench/jmh_generated/DeepBindBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,43630,4914,1,'kyo/bench/Bench.forkCats')
f(15,43630,168,1,'cats/effect/IO.flatMap')
f(16,43630,168,1,'cats/effect/IO$FlatMap$.apply')
f(17,43630,168,2,'cats.effect.IO$FlatMap')
f(15,43798,4540,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,43798,4449,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,43798,2773,1,'cats/effect/IO.unsafeRunAsync')
f(18,43798,2301,1,'cats/effect/IO.unsafeRunFiber')
f(19,43798,648,2,'cats.effect.IOFiber')
f(19,44446,1366,1,'cats/effect/IOFiber.<init>')
f(20,44446,319,1,'cats/effect/ArrayStack$.apply')
f(21,44446,319,2,'cats.effect.ArrayStack')
f(20,44765,276,1,'cats/effect/CallbackStack$.apply')
f(21,44765,276,2,'cats.effect.CallbackStack')
f(20,45041,396,1,'cats/effect/IO$.async')
f(21,45041,146,2,'cats.effect.IO$$anon$4')
f(21,45187,250,1,'cats/effect/IO$IOCont$.apply')
f(22,45187,250,2,'cats.effect.IO$IOCont')
f(20,45437,198,1,'cats/effect/IO$.uncancelable')
f(21,45437,198,1,'cats/effect/IO$Uncancelable$.apply')
f(22,45437,198,2,'cats.effect.IO$Uncancelable')
f(20,45635,177,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,45635,177,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,45635,177,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,45635,88,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5d600')
f(23,45723,89,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5dbf0')
f(19,45812,38,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,45812,38,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,45812,38,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,45812,38,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,45812,38,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,45850,249,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,45850,249,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,45850,249,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,45850,249,2,'cats.effect.IO$$Lambda$88+0x0000000800d5c7c8')
f(18,46099,472,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,46099,472,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,46099,472,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,46099,192,2,'cats.effect.IO$$Lambda$85+0x0000000800d56f40')
f(21,46291,175,2,'cats.effect.IO$$Lambda$86+0x0000000800d57200')
f(21,46466,105,2,'cats.effect.IO$$Lambda$87+0x0000000800d57608')
f(17,46571,394,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,46965,90,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,46965,90,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,46965,90,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,46965,90,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d56b38')
f(17,47055,814,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,47055,814,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,47055,159,2,'java.lang.Object[]')
f(19,47214,155,2,'java.util.concurrent.locks.ReentrantLock')
f(19,47369,221,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,47369,221,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,47590,279,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,47590,279,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,47590,279,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,47869,224,1,'scala/concurrent/package$.blocking')
f(18,47869,224,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,47869,224,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5e5d0.apply')
f(20,47869,224,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,47869,224,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,47869,224,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,47869,224,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,48093,154,1,'scala/util/Either.fold')
f(18,48093,154,1,'cats/effect/IOPlatform$$Lambda$97.0x0000000800d5aab0.apply')
f(19,48093,154,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,48093,154,1,'scala/Some$.apply')
f(21,48093,154,2,'scala.Some')
f(16,48247,91,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,48247,91,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,48247,91,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,48247,91,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,48247,91,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,48247,91,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,48247,91,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,48247,91,2,'scala.concurrent.duration.FiniteDuration')
f(15,48338,206,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,48338,206,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,48338,206,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,48338,206,2,'kyo.bench.Bench$$Lambda$40+0x0000000800d12648')
f(13,48544,1,1,'org/openjdk/jmh/results/ThroughputResult.<init>')
f(14,48544,1,2,'java.lang.StringBuilder')
f(1,48545,23,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,48545,23,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,48545,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,48545,23,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,48545,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,48545,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,48545,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,48545,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,48545,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,48545,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,48545,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,48545,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,48545,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,48545,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,48545,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,48545,1,2,'java.lang.Object[]')
f(7,48546,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,48546,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,48546,3,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,48549,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,48549,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,48549,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,48549,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,48549,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,48549,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,48554,14,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,48554,14,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,48554,3,1,'java/lang/ClassLoader.loadClass')
f(10,48554,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,48554,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,48554,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,48554,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,48554,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,48554,1,1,'java/security/CodeSource.<init>')
f(16,48554,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,48554,1,1,'java/lang/StringBuilder.append')
f(18,48554,1,1,'java/lang/AbstractStringBuilder.append')
f(19,48554,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,48554,1,1,'java/util/Arrays.copyOf')
f(21,48554,1,2,'byte[]')
f(15,48555,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,48555,1,1,'java/util/Arrays.copyOf')
f(17,48555,1,5,'byte[]')
f(14,48556,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,48556,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,48556,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,48556,1,1,'java/net/URL.<init>')
f(18,48556,1,1,'java/net/URL.<init>')
f(19,48556,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,48556,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,48556,1,1,'java/lang/StringBuilder.toString')
f(22,48556,1,1,'java/lang/StringLatin1.newString')
f(23,48556,1,2,'java.lang.String')
f(9,48557,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,48557,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,48557,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,48557,11,1,'java/io/ObjectStreamClass.lookup')
f(13,48557,11,1,'java/io/ObjectStreamClass.<init>')
f(14,48557,11,1,'java/security/AccessController.doPrivileged')
f(15,48557,11,1,'java/security/AccessController.executePrivileged')
f(16,48557,11,1,'java/io/ObjectStreamClass$2.run')
f(17,48557,11,1,'java/io/ObjectStreamClass$2.run')
f(18,48557,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,48557,2,1,'java/lang/Class.getDeclaredMethod')
f(20,48557,1,1,'java/lang/Class.methodToString')
f(21,48557,1,1,'java/lang/StringBuilder.append')
f(22,48557,1,1,'java/lang/AbstractStringBuilder.append')
f(23,48557,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,48557,1,1,'java/util/Arrays.copyOf')
f(25,48557,1,2,'byte[]')
f(20,48558,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,48558,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,48558,1,1,'java/lang/Exception.<init>')
f(23,48558,1,1,'java/lang/Throwable.<init>')
f(24,48558,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,48558,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,48558,1,2,'short[]')
f(18,48559,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,48559,3,1,'java/lang/Class.getDeclaredMethod')
f(20,48559,2,1,'java/lang/Class.methodToString')
f(21,48559,1,1,'java/lang/StringBuilder.append')
f(22,48559,1,1,'java/lang/AbstractStringBuilder.append')
f(23,48559,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,48559,1,1,'java/util/Arrays.copyOf')
f(25,48559,1,2,'byte[]')
f(21,48560,1,1,'java/lang/StringBuilder.toString')
f(22,48560,1,1,'java/lang/StringLatin1.newString')
f(23,48560,1,1,'java/util/Arrays.copyOfRange')
f(24,48560,1,2,'byte[]')
f(20,48561,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,48561,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,48561,1,1,'java/lang/Exception.<init>')
f(23,48561,1,1,'java/lang/Throwable.<init>')
f(24,48561,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,48561,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,48561,1,5,'long[]')
f(18,48562,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,48562,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,48562,1,1,'java/lang/Class.getDeclaredField')
f(21,48562,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,48562,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,48562,1,1,'java/lang/Exception.<init>')
f(24,48562,1,1,'java/lang/Throwable.<init>')
f(25,48562,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,48562,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,48562,1,2,'long[]')
f(18,48563,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,48563,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,48563,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,48563,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,48563,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,48563,1,1,'java/security/AccessController.doPrivileged')
f(24,48563,1,1,'java/security/AccessController.executePrivileged')
f(25,48563,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,48563,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,48563,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,48563,1,1,'java/security/AccessController.doPrivileged')
f(29,48563,1,1,'java/security/AccessController.executePrivileged')
f(30,48563,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,48563,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,48563,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,48563,1,1,'java/lang/ClassLoader.<init>')
f(34,48563,1,1,'java/lang/ClassLoader.<init>')
f(35,48563,1,1,'java/lang/ClassLoader.nameAndId')
f(36,48563,1,1,'java/lang/StringBuilder.<init>')
f(37,48563,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,48563,1,2,'byte[]')
f(23,48564,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,48564,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,48564,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,48564,1,2,'byte[]')
f(23,48565,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,48565,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,48565,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,48565,1,2,'byte[]')
f(23,48566,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,48566,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,48566,1,1,'java/lang/String.replace')
f(26,48566,1,1,'java/lang/StringLatin1.replace')
f(27,48566,1,2,'java.lang.String')
f(23,48567,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,48567,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 672px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(42);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,444,3,'all')
f(1,0,4,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,1,5,'entry_SYSCALL_64_after_hwframe')
f(3,0,1,5,'do_syscall_64')
f(4,0,1,5,'__x64_sys_futex')
f(5,0,1,5,'do_futex')
f(6,0,1,5,'futex_wait')
f(7,0,1,5,'futex_wait_queue_me')
f(8,0,1,5,'schedule')
f(9,0,1,5,'__schedule')
f(10,0,1,5,'finish_task_switch.isra.0')
f(2,1,3,3,'thread_native_entry(Thread*)')
f(3,1,3,4,'Thread::call_run()')
f(4,1,2,4,'GangWorker::run()')
f(5,1,2,4,'GangWorker::loop()')
f(6,1,2,4,'G1EvacuateRegionsBaseTask::work(unsigned int)')
f(7,1,1,4,'G1EvacuateRegionsTask::evacuate_live_objects(G1ParScanThreadState*, unsigned int)')
f(8,1,1,4,'G1ParEvacuateFollowersClosure::do_void()')
f(9,1,1,4,'G1ParScanThreadState::steal_and_trim_queue(GenericTaskQueueSet<OverflowTaskQueue<ScannerTask, (MEMFLAGS)5, 131072u>, (MEMFLAGS)5>*)')
f(7,2,1,4,'G1EvacuateRegionsTask::scan_roots(G1ParScanThreadState*, unsigned int)')
f(8,2,1,4,'G1RootProcessor::evacuate_roots(G1ParScanThreadState*, unsigned int)')
f(9,2,1,4,'G1RootProcessor::process_java_roots(G1RootClosures*, G1GCPhaseTimes*, unsigned int)')
f(10,2,1,4,'Threads::possibly_parallel_oops_do(bool, OopClosure*, CodeBlobClosure*)')
f(11,2,1,4,'JavaThread::oops_do_frames(OopClosure*, CodeBlobClosure*) [clone .part.0]')
f(12,2,1,4,'frame::oops_interpreted_do(OopClosure*, RegisterMap const*, bool) const')
f(13,2,1,4,'InterpreterOopMap::iterate_oop(OffsetClosure*) const')
f(14,2,1,4,'G1ParCopyClosure<(G1Barrier)0, false>::do_oop(oopDesc**)')
f(15,2,1,4,'G1ParScanThreadState::copy_to_survivor_space(G1HeapRegionAttr, oopDesc*, markWord)')
f(4,3,1,4,'VMThread::run()')
f(5,3,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,3,1,4,'VMThread::evaluate_operation(VM_Operation*)')
f(7,3,1,4,'VM_Operation::evaluate()')
f(8,3,1,4,'VM_G1CollectForAllocation::doit()')
f(9,3,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,3,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint_helper(double)')
f(11,3,1,4,'G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo&, G1RedirtyCardsQueueSet*, G1ParScanThreadStateSet*)')
f(1,4,2,3,'[unknown_Java]')
f(2,4,1,3,'[unknown]')
f(3,4,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(2,5,1,1,'jdk/internal/misc/Unsafe.unpark')
f(1,6,403,1,'cats/effect/unsafe/WorkerThread.run')
f(2,7,379,1,'cats/effect/IOFiber.run',3,0,0)
f(3,7,348,1,'cats/effect/IOFiber.autoCedeR')
f(4,8,347,1,'cats/effect/IOFiber.runLoop')
f(5,200,2,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(6,200,2,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(7,200,2,4,'MemAllocator::allocate() const')
f(8,200,2,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(9,200,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(10,200,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(11,200,1,4,'MutatorAllocRegion::retire(bool)')
f(12,200,1,4,'G1CollectedHeap::retire_mutator_alloc_region(HeapRegion*, unsigned long)')
f(13,200,1,4,'OtherRegionsTable::occupied() const')
f(9,201,1,4,'G1NUMA::index_of_current_thread() const')
f(5,202,5,2,'cats/effect/IO$FlatMap.f',5,0,0)
f(5,207,1,6,'cats/effect/IO$Pure.tag',0,1,0)
f(5,208,84,2,'cats/effect/IOFiber.next$2',84,0,0)
f(6,218,74,2,'kyo/bench/DeepBindBench$$Lambda$92.0x0000000800d5eec0.apply',74,0,0)
f(7,246,46,2,'kyo/bench/DeepBindBench.loop$2$$anonfun$1',46,0,0)
f(8,246,46,2,'kyo/bench/DeepBindBench.loop$2',46,0,0)
f(9,246,24,2,'cats/effect/IO.flatMap',24,0,0)
f(10,246,24,2,'cats/effect/IO$FlatMap$.apply',24,0,0)
f(11,257,13,2,'cats/effect/IO$FlatMap.<init>',13,0,0)
f(9,270,22,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',22,0,0)
f(10,270,22,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d59000.newInvokeSpecial',22,0,0)
f(11,270,15,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',15,0,0)
f(11,285,7,2,'kyo/bench/DeepBindBench$$Lambda$92.0x0000000800d5eec0.<init>',7,0,0)
f(5,292,49,2,'cats/effect/IOFiber.rescheduleFiber',46,0,0)
f(6,338,3,1,'cats/effect/unsafe/WorkStealingThreadPool.reschedule')
f(5,341,14,1,'cats/effect/IOFiber.succeeded')
f(6,341,14,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,341,14,1,'cats/effect/IOFiber.done')
f(8,341,14,1,'cats/effect/CallbackStack.apply')
f(9,341,14,1,'scala/runtime/function/JProcedure1.apply')
f(10,341,14,1,'scala/runtime/function/JProcedure1.apply')
f(11,341,14,1,'cats/effect/IO$$Lambda$88.0x0000000800d5c7c8.applyVoid')
f(12,341,14,1,'cats/effect/IO.$anonfun$6')
f(13,341,14,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,341,14,1,'cats/effect/kernel/Outcome.fold$')
f(15,341,14,1,'cats/effect/kernel/Outcome.fold')
f(16,341,14,1,'scala/runtime/function/JProcedure1.apply')
f(17,341,14,1,'scala/runtime/function/JProcedure1.apply')
f(18,341,14,1,'cats/effect/IO$$Lambda$95.0x0000000800d5a000.applyVoid')
f(19,341,14,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(20,341,14,1,'scala/runtime/function/JProcedure1.apply')
f(21,341,14,1,'scala/runtime/function/JProcedure1.apply')
f(22,341,14,1,'cats/effect/IO$$Lambda$87.0x0000000800d57608.applyVoid')
f(23,341,14,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,341,14,1,'scala/runtime/function/JProcedure1.apply')
f(25,341,14,1,'scala/runtime/function/JProcedure1.apply')
f(26,341,14,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d56b38.applyVoid')
f(27,341,14,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,341,14,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,341,14,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(30,341,14,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(31,341,14,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(32,341,14,1,'java/util/concurrent/locks/LockSupport.unpark')
f(33,341,14,1,'jdk/internal/misc/Unsafe.unpark')
f(34,341,14,3,'pthread_cond_signal')
f(35,341,14,5,'entry_SYSCALL_64_after_hwframe')
f(36,341,14,5,'do_syscall_64')
f(37,341,14,5,'__x64_sys_futex')
f(38,341,14,5,'do_futex')
f(39,341,14,5,'futex_wake')
f(40,342,13,5,'wake_up_q')
f(41,342,13,5,'_raw_spin_unlock_irqrestore')
f(3,355,26,1,'cats/effect/IOFiber.cedeR')
f(4,355,26,1,'cats/effect/IOFiber.runLoop')
f(5,367,9,2,'cats/effect/IOFiber.next$2',9,0,0)
f(6,369,7,2,'kyo/bench/DeepBindBench$$Lambda$92.0x0000000800d5eec0.apply',7,0,0)
f(7,372,4,2,'kyo/bench/DeepBindBench.loop$2$$anonfun$1',4,0,0)
f(8,372,4,2,'kyo/bench/DeepBindBench.loop$2',4,0,0)
f(9,372,1,2,'cats/effect/IO.flatMap',1,0,0)
f(10,372,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(9,373,3,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',3,0,0)
f(10,373,3,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d59000.newInvokeSpecial',3,0,0)
f(11,373,2,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',2,0,0)
f(11,375,1,2,'kyo/bench/DeepBindBench$$Lambda$92.0x0000000800d5eec0.<init>',1,0,0)
f(5,376,4,2,'cats/effect/IOFiber.rescheduleFiber',4,0,0)
f(5,380,1,2,'cats/effect/IOFiber.shouldFinalize',1,0,0)
f(3,381,5,2,'cats/effect/IOFiber.execR',3,0,0)
f(4,383,1,2,'cats/effect/ArrayStack.init',1,0,0)
f(4,384,2,1,'cats/effect/IOFiber.runLoop')
f(5,384,1,1,'cats/effect/ArrayStack.push')
f(5,385,1,6,'cats/effect/IO$Cede$.tag',0,1,0)
f(2,386,1,2,'cats/effect/unsafe/LocalQueue.dequeue',1,0,0)
f(3,386,1,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',1,0,0)
f(2,387,5,2,'cats/effect/unsafe/ScalQueue.poll',2,0,0)
f(3,389,2,3,'clock_gettime')
f(4,389,2,3,'[vdso]')
f(3,391,1,1,'java/util/concurrent/ConcurrentLinkedQueue.poll')
f(4,391,1,1,'java/util/concurrent/ConcurrentLinkedQueue.updateHead')
f(5,391,1,1,'java/lang/invoke/VarHandleGuards.guard_LL_V')
f(2,392,2,1,'cats/effect/unsafe/WorkStealingThreadPool.stealFromOtherWorkerThread')
f(3,393,1,1,'cats/effect/unsafe/LocalQueue.stealInto')
f(4,393,1,2,'cats/effect/unsafe/LocalQueue.lsb',1,0,0)
f(2,394,15,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,394,15,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,394,15,1,'java/util/concurrent/locks/LockSupport.park')
f(5,394,15,1,'jdk/internal/misc/Unsafe.park')
f(6,394,1,3,'Unsafe_Park')
f(7,394,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,394,1,5,'entry_SYSCALL_64_after_hwframe')
f(9,394,1,5,'do_syscall_64')
f(10,394,1,5,'__x64_sys_futex')
f(11,394,1,5,'do_futex')
f(12,394,1,5,'hash_futex')
f(6,395,14,3,'[unknown]')
f(7,395,14,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,396,13,5,'entry_SYSCALL_64_after_hwframe')
f(9,396,13,5,'do_syscall_64')
f(10,396,11,5,'__x64_sys_futex')
f(11,396,11,5,'do_futex')
f(12,396,11,5,'futex_wait')
f(13,397,10,5,'futex_wait_queue_me')
f(14,397,10,5,'schedule')
f(15,397,10,5,'__schedule')
f(16,398,9,5,'finish_task_switch.isra.0')
f(10,407,2,5,'syscall_exit_to_user_mode')
f(11,407,2,5,'exit_to_user_mode_prepare')
f(12,407,2,5,'exit_to_user_mode_loop')
f(13,407,1,5,'__rseq_handle_notify_resume')
f(14,407,1,5,'rseq_ip_fixup')
f(15,407,1,5,'__get_user_8')
f(13,408,1,5,'mem_cgroup_handle_over_high')
f(1,409,35,1,'java/lang/Thread.run')
f(2,409,35,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,409,35,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,409,35,1,'java/util/concurrent/FutureTask.run')
f(5,409,35,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,409,35,1,'java/util/concurrent/FutureTask.run')
f(7,409,35,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,409,35,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,409,35,1,'java/lang/reflect/Method.invoke')
f(10,409,35,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,409,35,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,409,35,1,'kyo/bench/jmh_generated/DeepBindBench_forkCats_jmhTest.forkCats_Throughput')
f(13,409,35,1,'kyo/bench/jmh_generated/DeepBindBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,409,35,1,'kyo/bench/Bench.forkCats')
f(15,409,35,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,409,35,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,409,19,1,'cats/effect/IO.unsafeRunAsync')
f(18,409,19,1,'cats/effect/IO.unsafeRunFiber')
f(19,409,1,1,'cats/effect/IOFiber.<init>')
f(20,409,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,409,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,409,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,409,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(24,409,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(25,409,1,4,'MemAllocator::allocate() const')
f(26,409,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(27,409,1,4,'G1Allocator::unsafe_max_tlab_alloc()')
f(19,410,18,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,410,18,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,410,18,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,410,18,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,410,18,1,'jdk/internal/misc/Unsafe.unpark')
f(24,410,2,3,'Unsafe_Unpark')
f(25,410,1,4,'SafeThreadsListPtr::release_stable_list()')
f(25,411,1,3,'pthread_mutex_lock')
f(24,412,16,3,'pthread_cond_signal')
f(25,413,15,5,'entry_SYSCALL_64_after_hwframe')
f(26,413,15,5,'do_syscall_64')
f(27,414,14,5,'__x64_sys_futex')
f(28,415,13,5,'do_futex')
f(29,415,13,5,'futex_wake')
f(30,415,13,5,'wake_up_q')
f(31,415,13,5,'_raw_spin_unlock_irqrestore')
f(17,428,16,1,'scala/concurrent/package$.blocking')
f(18,428,16,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,428,16,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5e5d0.apply')
f(20,428,16,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,428,16,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,428,16,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,428,16,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,428,16,1,'jdk/internal/misc/Unsafe.park')
f(25,429,3,3,'Unsafe_Park')
f(26,429,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(26,430,1,4,'Parker::park(bool, long)')
f(26,431,1,3,'clock_gettime')
f(27,431,1,3,'[vdso]')
f(25,432,11,3,'[unknown]')
f(26,432,11,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,433,10,5,'entry_SYSCALL_64_after_hwframe')
f(28,433,10,5,'do_syscall_64')
f(29,433,9,5,'__x64_sys_futex')
f(30,433,9,5,'do_futex')
f(31,433,9,5,'futex_wait')
f(32,433,1,5,'_raw_spin_lock')
f(32,434,6,5,'futex_wait_queue_me')
f(33,434,6,5,'schedule')
f(34,434,6,5,'__schedule')
f(35,434,6,5,'finish_task_switch.isra.0')
f(32,440,1,5,'hrtimer_cancel')
f(33,440,1,5,'hrtimer_active')
f(32,441,1,5,'hrtimer_init_sleeper')
f(33,441,1,5,'__hrtimer_init')
f(29,442,1,5,'syscall_exit_to_user_mode')
f(30,442,1,5,'exit_to_user_mode_prepare')
f(31,442,1,5,'exit_to_user_mode_loop')
f(32,442,1,5,'__rseq_handle_notify_resume')
f(33,442,1,5,'rseq_ip_fixup')
f(34,442,1,5,'__get_user_8')
f(25,443,1,4,'java_lang_Thread::get_thread_status(oopDesc*)')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,50013,3,'all')
f(1,0,44900,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,44900,1,'cats/effect/IOFiber.run')
f(3,0,41898,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,41898,1,'cats/effect/IOFiber.runLoop')
f(5,0,41880,1,'cats/effect/IOFiber.next$2')
f(6,0,41880,1,'kyo/bench/DeepBindBench$$Lambda$40.0x0000000800d12648.apply')
f(7,0,41880,1,'kyo/bench/DeepBindBench.loop$2$$anonfun$1')
f(8,0,41880,1,'kyo/bench/DeepBindBench.loop$2')
f(9,0,20891,1,'cats/effect/IO.flatMap')
f(10,0,20891,1,'cats/effect/IO$FlatMap$.apply')
f(11,0,20891,2,'cats.effect.IO$FlatMap')
f(9,20891,20989,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,20891,20989,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d14800.newInvokeSpecial')
f(11,20891,20989,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,20891,20989,2,'kyo.bench.DeepBindBench$$Lambda$40+0x0000000800d12648')
f(5,41880,18,1,'cats/effect/IOFiber.succeeded')
f(6,41880,18,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,41880,4,1,'cats/effect/IO$.pure')
f(8,41880,4,1,'cats/effect/IO$Pure$.apply')
f(9,41880,4,2,'cats.effect.IO$Pure')
f(7,41884,14,1,'cats/effect/IOFiber.done')
f(8,41884,8,1,'cats/effect/CallbackStack.apply')
f(9,41884,8,1,'scala/runtime/function/JProcedure1.apply')
f(10,41884,8,1,'scala/runtime/function/JProcedure1.apply')
f(11,41884,8,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cfe8.applyVoid')
f(12,41884,8,1,'cats/effect/IO.$anonfun$6')
f(13,41884,4,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,41884,4,1,'cats/effect/kernel/Outcome.fold$')
f(15,41884,4,1,'cats/effect/kernel/Outcome.fold')
f(16,41884,4,1,'scala/runtime/function/JProcedure1.apply')
f(17,41884,4,1,'scala/runtime/function/JProcedure1.apply')
f(18,41884,4,1,'cats/effect/IO$$Lambda$94.0x0000000800d5a408.applyVoid')
f(19,41884,4,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(20,41884,4,1,'scala/runtime/function/JProcedure1.apply')
f(21,41884,4,1,'scala/runtime/function/JProcedure1.apply')
f(22,41884,4,1,'cats/effect/IO$$Lambda$87.0x0000000800d5c000.applyVoid')
f(23,41884,4,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,41884,1,1,'scala/runtime/function/JProcedure1.apply')
f(25,41884,1,1,'scala/runtime/function/JProcedure1.apply')
f(26,41884,1,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d57348.applyVoid')
f(27,41884,1,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,41884,1,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,41884,1,1,'java/util/concurrent/ArrayBlockingQueue.enqueue')
f(30,41884,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.signal')
f(31,41884,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.doSignal')
f(32,41884,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.enqueue')
f(33,41884,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.tryInitializeHead')
f(34,41884,1,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ExclusiveNode')
f(24,41885,3,1,'scala/util/Right$.apply')
f(25,41885,3,2,'scala.util.Right')
f(13,41888,4,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,41888,4,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,41888,4,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,41888,1,2,'cats.effect.IO$$Lambda$92+0x0000000800d5fbe0')
f(16,41889,1,2,'cats.effect.IO$$Lambda$93+0x0000000800d5a000')
f(16,41890,2,2,'cats.effect.IO$$Lambda$94+0x0000000800d5a408')
f(8,41892,6,1,'cats/effect/IO$.pure')
f(9,41892,6,1,'cats/effect/IO$Pure$.apply')
f(10,41892,6,2,'cats.effect.IO$Pure')
f(3,41898,3002,1,'cats/effect/IOFiber.execR')
f(4,41898,19,1,'cats/effect/ArrayStack.init')
f(5,41898,19,2,'java.lang.Object[]')
f(4,41917,596,1,'cats/effect/ByteStack$.create')
f(5,41917,596,2,'int[]')
f(4,42513,2387,1,'cats/effect/IOFiber.runLoop')
f(5,42513,2387,1,'cats/effect/IOFiber.next$2')
f(6,42513,2387,1,'kyo/bench/DeepBindBench$$Lambda$40.0x0000000800d12648.apply')
f(7,42513,2387,1,'kyo/bench/DeepBindBench.loop$2$$anonfun$1')
f(8,42513,2387,1,'kyo/bench/DeepBindBench.loop$2')
f(9,42513,1169,1,'cats/effect/IO.flatMap')
f(10,42513,1169,1,'cats/effect/IO$FlatMap$.apply')
f(11,42513,1169,2,'cats.effect.IO$FlatMap')
f(9,43682,1218,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,43682,1218,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d14800.newInvokeSpecial')
f(11,43682,1218,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,43682,1218,2,'kyo.bench.DeepBindBench$$Lambda$40+0x0000000800d12648')
f(1,44900,1,2,'java.lang.String')
f(1,44901,5089,1,'java/lang/Thread.run')
f(2,44901,5089,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,44901,5089,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,44901,5089,1,'java/util/concurrent/FutureTask.run')
f(5,44901,5089,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,44901,5089,1,'java/util/concurrent/FutureTask.run')
f(7,44901,5089,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,44901,5089,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,44901,5089,1,'java/lang/reflect/Method.invoke')
f(10,44901,5089,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,44901,5089,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,44901,5089,1,'kyo/bench/jmh_generated/DeepBindBench_syncCats_jmhTest.syncCats_Throughput')
f(13,44901,5089,1,'kyo/bench/jmh_generated/DeepBindBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,44901,5089,1,'kyo/bench/Bench.syncCats')
f(15,44901,4688,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,44901,4535,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,44901,2958,1,'cats/effect/IO.unsafeRunAsync')
f(18,44901,2552,1,'cats/effect/IO.unsafeRunFiber')
f(19,44901,747,2,'cats.effect.IOFiber')
f(19,45648,1436,1,'cats/effect/IOFiber.<init>')
f(20,45648,355,1,'cats/effect/ArrayStack$.apply')
f(21,45648,355,2,'cats.effect.ArrayStack')
f(20,46003,270,1,'cats/effect/CallbackStack$.apply')
f(21,46003,270,2,'cats.effect.CallbackStack')
f(20,46273,433,1,'cats/effect/IO$.async')
f(21,46273,172,2,'cats.effect.IO$$anon$4')
f(21,46445,261,1,'cats/effect/IO$IOCont$.apply')
f(22,46445,261,2,'cats.effect.IO$IOCont')
f(20,46706,76,1,'cats/effect/IO$.uncancelable')
f(21,46706,76,1,'cats/effect/IO$Uncancelable$.apply')
f(22,46706,76,2,'cats.effect.IO$Uncancelable')
f(20,46782,302,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,46782,302,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,46782,302,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,46782,203,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5de20')
f(23,46985,99,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5e410')
f(19,47084,136,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,47084,136,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,47084,136,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,47084,136,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,47084,136,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,47220,233,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,47220,233,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,47220,233,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,47220,233,2,'cats.effect.IO$$Lambda$88+0x0000000800d5cfe8')
f(18,47453,406,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,47453,406,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,47453,406,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,47453,120,2,'cats.effect.IO$$Lambda$85+0x0000000800d57750')
f(21,47573,132,2,'cats.effect.IO$$Lambda$86+0x0000000800d57a10')
f(21,47705,154,2,'cats.effect.IO$$Lambda$87+0x0000000800d5c000')
f(17,47859,328,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,48187,191,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,48187,191,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,48187,191,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,48187,191,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d57348')
f(17,48378,735,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,48378,735,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,48378,189,2,'java.lang.Object[]')
f(19,48567,98,2,'java.util.concurrent.locks.ReentrantLock')
f(19,48665,273,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,48665,273,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,48938,175,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,48938,175,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,48938,175,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,49113,172,1,'scala/concurrent/package$.blocking')
f(18,49113,172,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,49113,172,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5edf0.apply')
f(20,49113,172,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,49113,172,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,49113,172,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,49113,172,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,49285,151,1,'scala/util/Either.fold')
f(18,49285,151,1,'cats/effect/IOPlatform$$Lambda$96.0x0000000800d5aeb8.apply')
f(19,49285,151,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,49285,151,1,'scala/Some$.apply')
f(21,49285,151,2,'scala.Some')
f(16,49436,153,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,49436,153,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,49436,153,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,49436,153,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,49436,153,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,49436,153,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,49436,153,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,49436,153,2,'scala.concurrent.duration.FiniteDuration')
f(15,49589,401,1,'kyo/bench/DeepBindBench.catsBench')
f(16,49589,401,1,'kyo/bench/DeepBindBench.loop$2')
f(17,49589,105,1,'cats/effect/IO.flatMap')
f(18,49589,105,1,'cats/effect/IO$FlatMap$.apply')
f(19,49589,105,2,'cats.effect.IO$FlatMap')
f(17,49694,296,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,49694,296,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d14800.newInvokeSpecial')
f(19,49694,296,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,49694,296,2,'kyo.bench.DeepBindBench$$Lambda$40+0x0000000800d12648')
f(1,49990,23,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,49990,23,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,49990,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,49990,23,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,49990,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,49990,23,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,49990,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,49990,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,49990,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,49990,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,49990,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,49990,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,49990,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,49990,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,49990,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,49990,1,2,'java.lang.Object[]')
f(7,49991,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,49991,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,49991,2,2,'java.util.concurrent.LinkedBlockingQueue')
f(9,49993,1,1,'java/util/concurrent/LinkedBlockingQueue.<init>')
f(10,49993,1,1,'java/util/concurrent/LinkedBlockingQueue.<init>')
f(11,49993,1,2,'java.util.concurrent.locks.ReentrantLock')
f(8,49994,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,49994,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,49994,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,49994,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,49994,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,49994,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,49999,14,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,49999,14,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,49999,3,1,'java/lang/ClassLoader.loadClass')
f(10,49999,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,49999,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,49999,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,49999,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,49999,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,49999,1,1,'java/security/CodeSource.<init>')
f(16,49999,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,49999,1,1,'java/lang/StringBuilder.append')
f(18,49999,1,1,'java/lang/AbstractStringBuilder.append')
f(19,49999,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,49999,1,1,'java/util/Arrays.copyOf')
f(21,49999,1,2,'byte[]')
f(15,50000,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,50000,1,1,'java/util/Arrays.copyOf')
f(17,50000,1,5,'byte[]')
f(14,50001,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,50001,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,50001,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,50001,1,1,'java/net/URL.<init>')
f(18,50001,1,1,'java/net/URL.<init>')
f(19,50001,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,50001,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,50001,1,1,'java/lang/StringBuilder.toString')
f(22,50001,1,1,'java/lang/StringLatin1.newString')
f(23,50001,1,2,'java.lang.String')
f(9,50002,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,50002,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,50002,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,50002,11,1,'java/io/ObjectStreamClass.lookup')
f(13,50002,11,1,'java/io/ObjectStreamClass.<init>')
f(14,50002,11,1,'java/security/AccessController.doPrivileged')
f(15,50002,11,1,'java/security/AccessController.executePrivileged')
f(16,50002,11,1,'java/io/ObjectStreamClass$2.run')
f(17,50002,11,1,'java/io/ObjectStreamClass$2.run')
f(18,50002,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,50002,2,1,'java/lang/Class.getDeclaredMethod')
f(20,50002,1,1,'java/lang/Class.methodToString')
f(21,50002,1,1,'java/lang/StringBuilder.append')
f(22,50002,1,1,'java/lang/AbstractStringBuilder.append')
f(23,50002,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,50002,1,1,'java/util/Arrays.copyOf')
f(25,50002,1,2,'byte[]')
f(20,50003,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,50003,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,50003,1,1,'java/lang/Exception.<init>')
f(23,50003,1,1,'java/lang/Throwable.<init>')
f(24,50003,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,50003,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,50003,1,2,'short[]')
f(18,50004,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,50004,3,1,'java/lang/Class.getDeclaredMethod')
f(20,50004,2,1,'java/lang/Class.methodToString')
f(21,50004,1,1,'java/lang/StringBuilder.append')
f(22,50004,1,1,'java/lang/AbstractStringBuilder.append')
f(23,50004,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,50004,1,1,'java/util/Arrays.copyOf')
f(25,50004,1,2,'byte[]')
f(21,50005,1,1,'java/lang/StringBuilder.toString')
f(22,50005,1,1,'java/lang/StringLatin1.newString')
f(23,50005,1,1,'java/util/Arrays.copyOfRange')
f(24,50005,1,2,'byte[]')
f(20,50006,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,50006,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,50006,1,1,'java/lang/Exception.<init>')
f(23,50006,1,1,'java/lang/Throwable.<init>')
f(24,50006,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,50006,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,50006,1,5,'long[]')
f(18,50007,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,50007,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,50007,1,1,'java/lang/Class.getDeclaredField')
f(21,50007,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,50007,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,50007,1,1,'java/lang/Exception.<init>')
f(24,50007,1,1,'java/lang/Throwable.<init>')
f(25,50007,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,50007,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,50007,1,2,'long[]')
f(18,50008,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,50008,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,50008,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,50008,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,50008,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,50008,1,1,'java/security/AccessController.doPrivileged')
f(24,50008,1,1,'java/security/AccessController.executePrivileged')
f(25,50008,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,50008,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,50008,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,50008,1,1,'java/security/AccessController.doPrivileged')
f(29,50008,1,1,'java/security/AccessController.executePrivileged')
f(30,50008,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,50008,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,50008,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,50008,1,1,'java/lang/ClassLoader.<init>')
f(34,50008,1,1,'java/lang/ClassLoader.<init>')
f(35,50008,1,1,'java/lang/ClassLoader.nameAndId')
f(36,50008,1,1,'java/lang/StringBuilder.<init>')
f(37,50008,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,50008,1,2,'byte[]')
f(23,50009,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,50009,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,50009,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,50009,1,2,'byte[]')
f(23,50010,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,50010,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,50010,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,50010,1,2,'byte[]')
f(23,50011,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,50011,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,50011,1,1,'java/lang/String.replace')
f(26,50011,1,1,'java/lang/StringLatin1.replace')
f(27,50011,1,2,'java.lang.String')
f(23,50012,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,50012,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 672px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(42);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,445,3,'all')
f(1,0,2,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,2,3,'thread_native_entry(Thread*)')
f(3,0,2,4,'Thread::call_run()')
f(4,0,2,4,'VMThread::run()')
f(5,0,2,4,'VMThread::inner_execute(VM_Operation*)')
f(6,0,2,4,'VMThread::evaluate_operation(VM_Operation*)')
f(7,0,2,4,'VM_Operation::evaluate()')
f(8,0,2,4,'VM_G1CollectForAllocation::doit()')
f(9,0,2,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,0,2,4,'G1CollectedHeap::do_collection_pause_at_safepoint_helper(double)')
f(11,0,2,4,'G1CollectedHeap::post_evacuate_collection_set(G1EvacuationInfo&, G1RedirtyCardsQueueSet*, G1ParScanThreadStateSet*)')
f(12,0,1,4,'G1CollectedHeap::post_evacuate_cleanup_2(PreservedMarksSet*, G1RedirtyCardsQueueSet*, G1EvacuationInfo*, unsigned long const*)')
f(13,0,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(14,0,1,3,'sem_post')
f(15,0,1,5,'entry_SYSCALL_64_after_hwframe')
f(16,0,1,5,'do_syscall_64')
f(17,0,1,5,'__x64_sys_futex')
f(18,0,1,5,'do_futex')
f(19,0,1,5,'futex_wake')
f(20,0,1,5,'wake_up_q')
f(21,0,1,5,'_raw_spin_unlock_irqrestore')
f(12,1,1,4,'HeapRegionManager::rebuild_free_list(WorkGang*)')
f(13,1,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(14,1,1,3,'sem_post')
f(15,1,1,5,'entry_SYSCALL_64_after_hwframe')
f(16,1,1,5,'do_syscall_64')
f(17,1,1,5,'__x64_sys_futex')
f(18,1,1,5,'do_futex')
f(19,1,1,5,'futex_wake')
f(20,1,1,5,'wake_up_q')
f(21,1,1,5,'_raw_spin_unlock_irqrestore')
f(1,2,1,3,'[unknown_Java]')
f(2,2,1,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(1,3,408,1,'cats/effect/unsafe/WorkerThread.run')
f(2,3,384,1,'cats/effect/IOFiber.run',2,0,0)
f(3,3,364,1,'cats/effect/IOFiber.autoCedeR',1,0,0)
f(4,4,363,1,'cats/effect/IOFiber.runLoop')
f(5,219,19,2,'cats/effect/IO$FlatMap.ioe',19,0,0)
f(5,238,72,2,'cats/effect/IOFiber.next$2',71,0,0)
f(6,240,70,2,'kyo/bench/DeepBindBench$$Lambda$40.0x0000000800d12648.apply',69,0,0)
f(7,271,39,2,'kyo/bench/DeepBindBench.loop$2$$anonfun$1',38,0,0)
f(8,271,39,2,'kyo/bench/DeepBindBench.loop$2',38,0,0)
f(9,271,22,2,'cats/effect/IO.flatMap',21,0,0)
f(10,271,22,2,'cats/effect/IO$FlatMap$.apply',21,0,0)
f(11,286,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(12,286,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(13,286,1,4,'MemAllocator::allocate() const')
f(14,286,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(15,286,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(11,287,6,2,'cats/effect/IO$FlatMap.<init>',6,0,0)
f(9,293,17,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',17,0,0)
f(10,293,17,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d14800.newInvokeSpecial',17,0,0)
f(11,293,11,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',11,0,0)
f(11,304,6,2,'kyo/bench/DeepBindBench$$Lambda$40.0x0000000800d12648.<init>',6,0,0)
f(5,310,2,1,'cats/effect/IOFiber.rescheduleFiber')
f(6,310,2,1,'cats/effect/unsafe/WorkStealingThreadPool.reschedule')
f(5,312,30,2,'cats/effect/IOFiber.shouldFinalize',30,0,0)
f(5,342,24,1,'cats/effect/IOFiber.succeeded')
f(6,343,1,2,'cats/effect/ByteStack$.pop',1,0,0)
f(7,343,1,2,'cats/effect/ByteStack$.peek',1,0,0)
f(6,344,22,1,'cats/effect/IOFiber.runTerminusSuccessK',1,0,0)
f(7,344,1,2,'cats/effect/IO$.pure',1,0,0)
f(8,344,1,2,'cats/effect/IO$Pure$.apply',1,0,0)
f(9,344,1,2,'cats/effect/IO$Pure.<init>',1,0,0)
f(10,344,1,2,'cats/effect/IO.<init>',1,0,0)
f(7,345,21,1,'cats/effect/IOFiber.done')
f(8,345,21,1,'cats/effect/CallbackStack.apply')
f(9,345,21,1,'scala/runtime/function/JProcedure1.apply')
f(10,345,21,1,'scala/runtime/function/JProcedure1.apply')
f(11,345,21,1,'cats/effect/IO$$Lambda$88.0x0000000800d5cfe8.applyVoid')
f(12,345,21,1,'cats/effect/IO.$anonfun$6')
f(13,345,21,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,345,21,1,'cats/effect/kernel/Outcome.fold$')
f(15,345,21,1,'cats/effect/kernel/Outcome.fold')
f(16,345,21,1,'scala/runtime/function/JProcedure1.apply')
f(17,345,21,1,'scala/runtime/function/JProcedure1.apply')
f(18,345,21,1,'cats/effect/IO$$Lambda$94.0x0000000800d5a408.applyVoid')
f(19,345,21,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(20,345,21,1,'scala/runtime/function/JProcedure1.apply')
f(21,345,21,1,'scala/runtime/function/JProcedure1.apply')
f(22,345,21,1,'cats/effect/IO$$Lambda$87.0x0000000800d5c000.applyVoid')
f(23,345,21,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,345,21,1,'scala/runtime/function/JProcedure1.apply')
f(25,345,21,1,'scala/runtime/function/JProcedure1.apply')
f(26,345,21,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d57348.applyVoid')
f(27,346,20,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,346,20,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,346,20,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(30,346,20,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(31,346,20,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(32,346,20,1,'java/util/concurrent/locks/LockSupport.unpark')
f(33,346,20,1,'jdk/internal/misc/Unsafe.unpark')
f(34,346,1,3,'Unsafe_Unpark')
f(35,346,1,4,'ThreadsListHandle::cv_internal_thread_to_JavaThread(_jobject*, JavaThread**, oopDesc**)')
f(34,347,19,3,'pthread_cond_signal')
f(35,348,18,5,'entry_SYSCALL_64_after_hwframe')
f(36,348,18,5,'do_syscall_64')
f(37,348,16,5,'__x64_sys_futex')
f(38,348,16,5,'do_futex')
f(39,348,16,5,'futex_wake')
f(40,348,16,5,'wake_up_q')
f(41,348,16,5,'_raw_spin_unlock_irqrestore')
f(37,364,2,5,'syscall_enter_from_user_mode')
f(5,366,1,2,'cats/effect/unsafe/IORuntime.cancelationCheckThreshold',1,0,0)
f(3,367,19,1,'cats/effect/IOFiber.execR',1,0,0)
f(4,368,1,1,'cats/effect/ByteStack$.push')
f(4,369,17,1,'cats/effect/IOFiber.runLoop')
f(5,378,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(6,378,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(7,378,1,4,'MemAllocator::allocate() const')
f(8,378,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(9,378,1,4,'ThreadLocalAllocBuffer::retire_before_allocation()')
f(10,378,1,4,'ThreadLocalAllocBuffer::insert_filler()')
f(5,379,7,2,'cats/effect/IOFiber.next$2',7,0,0)
f(6,380,6,2,'kyo/bench/DeepBindBench$$Lambda$40.0x0000000800d12648.apply',6,0,0)
f(7,381,5,2,'kyo/bench/DeepBindBench.loop$2$$anonfun$1',5,0,0)
f(8,381,5,2,'kyo/bench/DeepBindBench.loop$2',5,0,0)
f(9,381,3,2,'cats/effect/IO.flatMap',3,0,0)
f(10,381,3,2,'cats/effect/IO$FlatMap$.apply',3,0,0)
f(9,384,2,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',2,0,0)
f(10,384,2,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d14800.newInvokeSpecial',2,0,0)
f(11,384,2,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',2,0,0)
f(3,386,1,3,'clock_gettime')
f(4,386,1,3,'[vdso]')
f(2,387,5,2,'cats/effect/unsafe/LocalQueue.dequeue',5,0,0)
f(3,387,5,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',5,0,0)
f(4,387,5,3,'clock_gettime')
f(5,387,5,3,'[vdso]')
f(2,392,1,2,'cats/effect/unsafe/ScalQueue.poll',1,0,0)
f(3,392,1,2,'java/util/concurrent/ThreadLocalRandom.nextInt',1,0,0)
f(4,392,1,2,'java/util/Random.nextInt',1,0,0)
f(2,393,5,1,'cats/effect/unsafe/WorkStealingThreadPool.stealFromOtherWorkerThread')
f(3,394,2,1,'cats/effect/unsafe/LocalQueue.stealInto')
f(4,394,1,2,'cats/effect/unsafe/LocalQueue.msb',1,0,0)
f(4,395,1,2,'cats/effect/unsafe/LocalQueue.unsignedShortSubtraction',1,0,0)
f(3,396,2,2,'cats/effect/unsafe/ScalQueue.poll',2,0,0)
f(4,397,1,2,'java/util/concurrent/ConcurrentLinkedQueue.poll',1,0,0)
f(2,398,13,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,398,13,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,398,13,1,'java/util/concurrent/locks/LockSupport.park')
f(5,398,13,1,'jdk/internal/misc/Unsafe.park')
f(6,399,12,3,'[unknown]')
f(7,399,10,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,399,10,5,'entry_SYSCALL_64_after_hwframe')
f(9,399,10,5,'do_syscall_64')
f(10,399,10,5,'__x64_sys_futex')
f(11,399,10,5,'do_futex')
f(12,399,10,5,'futex_wait')
f(13,399,10,5,'futex_wait_queue_me')
f(14,399,10,5,'schedule')
f(15,399,10,5,'__schedule')
f(16,399,10,5,'finish_task_switch.isra.0')
f(7,409,2,3,'pthread_mutex_trylock')
f(1,411,34,1,'java/lang/Thread.run')
f(2,411,34,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,411,34,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,411,34,1,'java/util/concurrent/FutureTask.run')
f(5,411,34,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,411,34,1,'java/util/concurrent/FutureTask.run')
f(7,411,34,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,411,34,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,411,34,1,'java/lang/reflect/Method.invoke')
f(10,411,34,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,411,34,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,411,34,1,'kyo/bench/jmh_generated/DeepBindBench_syncCats_jmhTest.syncCats_Throughput')
f(13,411,34,1,'kyo/bench/jmh_generated/DeepBindBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,411,34,1,'kyo/bench/Bench.syncCats')
f(15,411,34,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,411,34,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,411,20,1,'cats/effect/IO.unsafeRunAsync',1,0,0)
f(18,411,18,1,'cats/effect/IO.unsafeRunFiber')
f(19,411,18,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,411,18,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,411,18,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,411,18,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,411,18,1,'jdk/internal/misc/Unsafe.unpark')
f(24,411,1,3,'Unsafe_Unpark')
f(24,412,17,3,'pthread_cond_signal')
f(25,413,16,5,'entry_SYSCALL_64_after_hwframe')
f(26,413,16,5,'do_syscall_64')
f(27,413,15,5,'__x64_sys_futex')
f(28,413,15,5,'do_futex')
f(29,413,15,5,'futex_wake')
f(30,413,15,5,'wake_up_q')
f(31,413,15,5,'_raw_spin_unlock_irqrestore')
f(27,428,1,5,'syscall_enter_from_user_mode')
f(18,429,2,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(19,429,2,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(20,430,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(21,430,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(22,430,1,4,'MemAllocator::allocate() const')
f(23,430,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(24,430,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(25,430,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(26,430,1,4,'HSpaceCounters::update_used(unsigned long)')
f(17,431,1,2,'java/util/concurrent/ArrayBlockingQueue.<init>',1,0,0)
f(18,431,1,2,'java/util/concurrent/ArrayBlockingQueue.<init>',1,0,0)
f(17,432,13,1,'scala/concurrent/package$.blocking')
f(18,432,13,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,432,13,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5edf0.apply')
f(20,432,13,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,432,13,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,432,13,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,432,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.enableWait')
f(24,432,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(25,432,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(26,432,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$Node.getAndUnsetStatus')
f(27,432,1,1,'jdk/internal/misc/Unsafe.getAndBitwiseAndInt')
f(28,432,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(23,433,12,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,433,12,1,'jdk/internal/misc/Unsafe.park')
f(25,433,1,3,'Unsafe_Park')
f(26,433,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,433,1,5,'entry_SYSCALL_64_after_hwframe')
f(28,433,1,5,'do_syscall_64')
f(25,434,11,3,'[unknown]')
f(26,434,11,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,434,11,5,'entry_SYSCALL_64_after_hwframe')
f(28,434,11,5,'do_syscall_64')
f(29,434,8,5,'__x64_sys_futex')
f(30,434,8,5,'do_futex')
f(31,434,7,5,'futex_wait')
f(32,434,7,5,'futex_wait_queue_me')
f(33,434,7,5,'schedule')
f(34,434,7,5,'__schedule')
f(35,434,7,5,'finish_task_switch.isra.0')
f(31,441,1,5,'ktime_add_safe')
f(29,442,3,5,'syscall_exit_to_user_mode')
f(30,442,3,5,'exit_to_user_mode_prepare')
f(31,442,1,5,'blkcg_maybe_throttle_current')
f(31,443,2,5,'exit_to_user_mode_loop')
f(32,444,1,5,'mem_cgroup_handle_over_high')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,17490,3,'all')
f(1,0,16822,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,16822,1,'cats/effect/IOFiber.run')
f(3,0,16505,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,16505,1,'cats/effect/IOFiber.runLoop')
f(5,0,10081,1,'cats/effect/IOFiber.next$2')
f(6,0,10081,1,'kyo/bench/DeepBindMapBench$$Lambda$92.0x0000000800d5ea98.apply')
f(7,0,10081,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1')
f(8,0,735,1,'cats/effect/IO$.apply')
f(9,0,735,1,'cats/effect/IO$.delay')
f(10,0,735,1,'cats/effect/IO$Delay$.apply')
f(11,0,735,2,'cats.effect.IO$Delay')
f(8,735,731,1,'cats/effect/IO.flatMap')
f(9,735,731,1,'cats/effect/IO$FlatMap$.apply')
f(10,735,731,2,'cats.effect.IO$FlatMap')
f(8,1466,7556,1,'cats/effect/IO.map')
f(9,1466,7556,1,'cats/effect/IO$Map$.apply')
f(10,1466,7556,2,'cats.effect.IO$Map')
f(8,9022,1059,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,9022,1059,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,9022,1059,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,9022,519,2,'kyo.bench.DeepBindMapBench$$Lambda$105+0x0000000800d60000')
f(11,9541,540,2,'kyo.bench.DeepBindMapBench$$Lambda$93+0x0000000800d5f290')
f(5,10081,5957,1,'cats/effect/IOFiber.succeeded')
f(6,10081,1,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,10081,1,1,'cats/effect/IOFiber.done')
f(8,10081,1,1,'cats/effect/CallbackStack.apply')
f(9,10081,1,1,'scala/runtime/function/JProcedure1.apply')
f(10,10081,1,1,'scala/runtime/function/JProcedure1.apply')
f(11,10081,1,1,'cats/effect/IO$$Lambda$88.0x0000000800d5c7c8.applyVoid')
f(12,10081,1,1,'cats/effect/IO.$anonfun$6')
f(13,10081,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(14,10081,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(15,10081,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(16,10081,1,2,'cats.effect.IO$$Lambda$106+0x0000000800d606b0')
f(6,10082,1430,1,'kyo/bench/DeepBindMapBench$$Lambda$105.0x0000000800d60000.apply')
f(7,10082,1430,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$adapted$1')
f(8,10082,1430,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$12')
f(9,10082,1430,1,'kyo/bench/DeepBindMapBench.loop$2')
f(10,10082,703,1,'cats/effect/IO.flatMap')
f(11,10082,703,1,'cats/effect/IO$FlatMap$.apply')
f(12,10082,703,2,'cats.effect.IO$FlatMap')
f(10,10785,727,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,10785,727,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d59000.newInvokeSpecial')
f(12,10785,727,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,10785,727,2,'kyo.bench.DeepBindMapBench$$Lambda$92+0x0000000800d5ea98')
f(6,11512,4526,1,'scala/runtime/java8/JFunction1$mcII$sp.apply')
f(7,11512,4526,1,'java/lang/Integer.valueOf')
f(8,11512,4526,2,'java.lang.Integer')
f(5,16038,467,1,'scala/runtime/java8/JFunction1$mcII$sp.apply')
f(6,16038,467,1,'java/lang/Integer.valueOf')
f(7,16038,467,2,'java.lang.Integer')
f(3,16505,93,1,'cats/effect/IOFiber.cedeR')
f(4,16505,93,1,'cats/effect/IOFiber.runLoop')
f(5,16505,82,1,'cats/effect/IOFiber.next$2')
f(6,16505,82,1,'kyo/bench/DeepBindMapBench$$Lambda$92.0x0000000800d5ea98.apply')
f(7,16505,82,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1')
f(8,16505,2,1,'cats/effect/IO$.apply')
f(9,16505,2,1,'cats/effect/IO$.delay')
f(10,16505,2,1,'cats/effect/IO$Delay$.apply')
f(11,16505,2,2,'cats.effect.IO$Delay')
f(8,16507,3,1,'cats/effect/IO.flatMap')
f(9,16507,3,1,'cats/effect/IO$FlatMap$.apply')
f(10,16507,3,2,'cats.effect.IO$FlatMap')
f(8,16510,70,1,'cats/effect/IO.map')
f(9,16510,70,1,'cats/effect/IO$Map$.apply')
f(10,16510,70,2,'cats.effect.IO$Map')
f(8,16580,7,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,16580,7,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,16580,7,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,16580,2,2,'kyo.bench.DeepBindMapBench$$Lambda$105+0x0000000800d60000')
f(11,16582,5,2,'kyo.bench.DeepBindMapBench$$Lambda$93+0x0000000800d5f290')
f(5,16587,11,1,'cats/effect/IOFiber.succeeded')
f(6,16587,11,1,'kyo/bench/DeepBindMapBench$$Lambda$105.0x0000000800d60000.apply')
f(7,16587,11,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$adapted$1')
f(8,16587,11,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$12')
f(9,16587,11,1,'kyo/bench/DeepBindMapBench.loop$2')
f(10,16587,3,1,'cats/effect/IO.flatMap')
f(11,16587,3,1,'cats/effect/IO$FlatMap$.apply')
f(12,16587,3,2,'cats.effect.IO$FlatMap')
f(10,16590,8,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,16590,8,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d59000.newInvokeSpecial')
f(12,16590,8,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,16590,8,2,'kyo.bench.DeepBindMapBench$$Lambda$92+0x0000000800d5ea98')
f(3,16598,224,1,'cats/effect/IOFiber.execR')
f(4,16598,224,1,'cats/effect/ByteStack$.create')
f(5,16598,224,2,'int[]')
f(1,16822,1,2,'java.lang.String')
f(1,16823,635,1,'java/lang/Thread.run')
f(2,16823,635,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,16823,635,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,16823,635,1,'java/util/concurrent/FutureTask.run')
f(5,16823,635,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,16823,635,1,'java/util/concurrent/FutureTask.run')
f(7,16823,635,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,16823,635,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,16823,635,1,'java/lang/reflect/Method.invoke')
f(10,16823,635,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,16823,635,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,16823,635,1,'kyo/bench/jmh_generated/DeepBindMapBench_forkCats_jmhTest.forkCats_Throughput')
f(13,16823,635,1,'kyo/bench/jmh_generated/DeepBindMapBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,16823,635,1,'kyo/bench/Bench.forkCats')
f(15,16823,1,1,'cats/effect/IO.flatMap')
f(16,16823,1,1,'cats/effect/IO$FlatMap$.apply')
f(17,16823,1,2,'cats.effect.IO$FlatMap')
f(15,16824,634,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,16824,550,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,16824,302,1,'cats/effect/IO.unsafeRunAsync')
f(18,16824,234,1,'cats/effect/IO.unsafeRunFiber')
f(19,16824,55,2,'cats.effect.IOFiber')
f(19,16879,1,5,'cats.effect.IOFiber')
f(19,16880,130,1,'cats/effect/IOFiber.<init>')
f(20,16880,61,1,'cats/effect/ArrayStack$.apply')
f(21,16880,61,2,'cats.effect.ArrayStack')
f(20,16941,11,1,'cats/effect/IO$.async')
f(21,16941,11,1,'cats/effect/IO$IOCont$.apply')
f(22,16941,11,2,'cats.effect.IO$IOCont')
f(20,16952,48,1,'cats/effect/IO$.uncancelable')
f(21,16952,48,1,'cats/effect/IO$Uncancelable$.apply')
f(22,16952,48,2,'cats.effect.IO$Uncancelable')
f(20,17000,10,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,17000,10,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,17000,10,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,17000,10,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5d600')
f(19,17010,48,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,17010,48,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,17010,48,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,17010,48,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,17010,48,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(18,17058,68,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,17058,68,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,17058,68,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,17058,7,2,'cats.effect.IO$$Lambda$85+0x0000000800d56f40')
f(21,17065,61,2,'cats.effect.IO$$Lambda$86+0x0000000800d57200')
f(17,17126,2,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,17128,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,17128,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,17128,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,17128,2,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d56b38')
f(17,17130,151,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,17130,151,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,17130,79,2,'java.lang.Object[]')
f(19,17209,2,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,17209,2,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,17211,70,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,17211,70,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,17211,70,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,17281,15,1,'scala/concurrent/package$.blocking')
f(18,17281,15,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,17281,15,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5e5d0.apply')
f(20,17281,15,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,17281,15,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,17281,15,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,17281,15,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,17296,78,1,'scala/util/Either.fold')
f(18,17296,78,1,'cats/effect/IOPlatform$$Lambda$110.0x0000000800d61828.apply')
f(19,17296,78,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,17296,78,1,'scala/Some$.apply')
f(21,17296,78,2,'scala.Some')
f(16,17374,84,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,17374,84,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,17374,84,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,17374,84,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,17374,84,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,17374,84,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,17374,84,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,17374,84,2,'scala.concurrent.duration.FiniteDuration')
f(1,17458,32,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,17458,32,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,17458,32,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,17458,32,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,17458,32,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,17458,32,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,17458,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,17458,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,17458,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,17458,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,17458,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,17458,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,17458,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,17458,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,17458,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,17458,1,2,'java.lang.Object[]')
f(7,17459,10,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,17459,1,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,17459,1,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,17460,2,5,'org.openjdk.jmh.runner.InfraControl')
f(8,17462,2,1,'org/openjdk/jmh/runner/InfraControl.<init>')
f(9,17462,2,1,'org/openjdk/jmh/runner/InfraControlL4.<init>')
f(10,17462,2,1,'org/openjdk/jmh/runner/InfraControlL3.<init>')
f(11,17462,2,1,'org/openjdk/jmh/runner/InfraControlL2.<init>')
f(12,17462,2,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,17464,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,17464,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,17464,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,17464,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,17464,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,17464,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,17469,21,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,17469,21,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,17469,6,1,'java/lang/ClassLoader.loadClass')
f(10,17469,6,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,17469,6,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,17469,6,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,17469,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,17469,3,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,17469,3,1,'jdk/internal/loader/Resource.getByteBuffer')
f(16,17469,3,1,'jdk/internal/loader/Resource.cachedInputStream')
f(17,17469,3,1,'jdk/internal/loader/URLClassPath$JarLoader$2.getInputStream')
f(18,17469,3,1,'java/util/jar/JarFile.getInputStream')
f(19,17469,3,1,'java/util/zip/ZipFile.getInputStream')
f(20,17469,1,1,'java/util/Collections$SetFromMap.add')
f(21,17469,1,1,'java/util/WeakHashMap.put')
f(22,17469,1,2,'java.util.WeakHashMap$Entry')
f(20,17470,2,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(21,17470,2,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(22,17470,2,1,'java/util/zip/InflaterInputStream.<init>')
f(23,17470,2,5,'byte[]')
f(13,17472,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(14,17472,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(15,17472,3,1,'java/lang/ClassLoader.getClassLoadingLock')
f(16,17472,3,1,'java/util/concurrent/ConcurrentHashMap.putIfAbsent')
f(17,17472,3,1,'java/util/concurrent/ConcurrentHashMap.putVal')
f(18,17472,3,1,'java/util/concurrent/ConcurrentHashMap.addCount')
f(19,17472,3,1,'java/util/concurrent/ConcurrentHashMap.transfer')
f(20,17472,1,5,'java.util.concurrent.ConcurrentHashMap$Node[]')
f(20,17473,2,2,'java.util.concurrent.ConcurrentHashMap$Node')
f(9,17475,15,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,17475,15,1,'java/io/ObjectOutputStream.writeObject')
f(11,17475,15,1,'java/io/ObjectOutputStream.writeObject0')
f(12,17475,15,1,'java/io/ObjectStreamClass.lookup')
f(13,17475,1,5,'java.io.ObjectStreamClass')
f(13,17476,14,1,'java/io/ObjectStreamClass.<init>')
f(14,17476,14,1,'java/security/AccessController.doPrivileged')
f(15,17476,14,1,'java/security/AccessController.executePrivileged')
f(16,17476,14,1,'java/io/ObjectStreamClass$2.run')
f(17,17476,14,1,'java/io/ObjectStreamClass$2.run')
f(18,17476,1,1,'java/io/ObjectStreamClass.getDeclaredSUID')
f(19,17476,1,1,'java/lang/Class.getDeclaredField')
f(20,17476,1,1,'java/lang/Class.privateGetDeclaredFields')
f(21,17476,1,1,'java/lang/Class.reflectionData')
f(22,17476,1,1,'java/lang/Class.newReflectionData')
f(23,17476,1,2,'java.lang.Class$ReflectionData')
f(18,17477,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,17477,2,1,'java/lang/Class.getDeclaredMethod')
f(20,17477,1,1,'java/lang/Class.methodToString')
f(21,17477,1,1,'java/lang/StringBuilder.append')
f(22,17477,1,1,'java/lang/AbstractStringBuilder.append')
f(23,17477,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,17477,1,1,'java/util/Arrays.copyOf')
f(25,17477,1,2,'byte[]')
f(20,17478,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,17478,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,17478,1,1,'java/lang/Exception.<init>')
f(23,17478,1,1,'java/lang/Throwable.<init>')
f(24,17478,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,17478,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,17478,1,2,'short[]')
f(18,17479,4,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,17479,4,1,'java/lang/Class.getDeclaredMethod')
f(20,17479,2,1,'java/lang/Class.methodToString')
f(21,17479,1,1,'java/lang/StringBuilder.append')
f(22,17479,1,1,'java/lang/AbstractStringBuilder.append')
f(23,17479,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,17479,1,1,'java/util/Arrays.copyOf')
f(25,17479,1,2,'byte[]')
f(21,17480,1,1,'java/util/stream/ReferencePipeline.collect')
f(22,17480,1,1,'java/util/stream/Collectors$$Lambda$46.0x800000054.apply')
f(23,17480,1,1,'java/util/StringJoiner.toString')
f(24,17480,1,1,'java/lang/System$2.join')
f(25,17480,1,1,'java/lang/String.join')
f(26,17480,1,1,'java/lang/StringConcatHelper.newArray')
f(27,17480,1,1,'jdk/internal/misc/Unsafe.allocateUninitializedArray')
f(28,17480,1,1,'jdk/internal/misc/Unsafe.allocateUninitializedArray0')
f(29,17480,1,2,'byte[]')
f(20,17481,2,1,'java/lang/NoSuchMethodException.<init>')
f(21,17481,2,1,'java/lang/ReflectiveOperationException.<init>')
f(22,17481,2,1,'java/lang/Exception.<init>')
f(23,17481,2,1,'java/lang/Throwable.<init>')
f(24,17481,2,1,'java/lang/Throwable.fillInStackTrace')
f(25,17481,2,1,'java/lang/Throwable.fillInStackTrace')
f(26,17481,1,5,'java.lang.Object[]')
f(26,17482,1,5,'long[]')
f(18,17483,7,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,17483,7,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,17483,7,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,17483,1,5,'jdk.internal.reflect.MethodAccessorGenerator')
f(21,17484,6,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,17484,6,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,17484,1,1,'java/security/AccessController.doPrivileged')
f(24,17484,1,1,'java/security/AccessController.executePrivileged')
f(25,17484,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,17484,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,17484,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,17484,1,1,'java/security/AccessController.doPrivileged')
f(29,17484,1,1,'java/security/AccessController.executePrivileged')
f(30,17484,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,17484,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,17484,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,17484,1,1,'java/lang/ClassLoader.<init>')
f(34,17484,1,1,'java/lang/ClassLoader.<init>')
f(35,17484,1,1,'java/lang/ClassLoader.nameAndId')
f(36,17484,1,1,'java/lang/Integer.toHexString')
f(37,17484,1,1,'java/lang/Integer.toUnsignedString0')
f(38,17484,1,2,'byte[]')
f(23,17485,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,17485,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,17485,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,17485,1,2,'byte[]')
f(23,17486,2,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,17486,2,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,17486,1,1,'jdk/internal/reflect/ClassFileAssembler.emitByte')
f(26,17486,1,1,'jdk/internal/reflect/ByteVectorImpl.add')
f(27,17486,1,1,'jdk/internal/reflect/ByteVectorImpl.resize')
f(28,17486,1,5,'byte[]')
f(25,17487,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,17487,1,2,'byte[]')
f(23,17488,1,1,'jdk/internal/reflect/ByteVectorFactory.create')
f(24,17488,1,1,'jdk/internal/reflect/ByteVectorImpl.<init>')
f(25,17488,1,1,'jdk/internal/reflect/ByteVectorImpl.<init>')
f(26,17488,1,2,'byte[]')
f(23,17489,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,17489,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 672px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(42);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,502,3,'all')
f(1,0,10,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,10,3,'thread_native_entry(Thread*)')
f(3,0,10,4,'Thread::call_run()')
f(4,0,9,4,'JavaThread::thread_main_inner()')
f(5,0,9,4,'CompileBroker::compiler_thread_loop()')
f(6,0,9,4,'CompileBroker::invoke_compiler_on_method(CompileTask*)')
f(7,0,9,4,'C2Compiler::compile_method(ciEnv*, ciMethod*, int, bool, DirectiveSet*)')
f(8,0,9,4,'Compile::Compile(ciEnv*, ciMethod*, int, bool, bool, bool, bool, bool, DirectiveSet*)')
f(9,0,5,4,'Compile::Code_Gen()')
f(10,0,1,4,'Matcher::match()')
f(11,0,1,4,'Arena::contains(void const*) const')
f(10,1,3,4,'PhaseChaitin::Register_Allocate()')
f(11,1,1,4,'PhaseAggressiveCoalesce::insert_copies(Matcher&)')
f(12,1,1,4,'LiveRangeMap::compress_uf_map_for_nodes()')
f(11,2,1,4,'PhaseChaitin::build_ifg_physical(ResourceArea*)')
f(12,2,1,4,'PhaseChaitin::interfere_with_live(unsigned int, IndexSet*) [clone .part.0]')
f(11,3,1,4,'PhaseLive::compute(unsigned int)')
f(10,4,1,4,'PhaseOutput::Output()')
f(11,4,1,4,'PhaseOutput::BuildOopMaps()')
f(9,5,2,4,'Compile::Optimize()')
f(10,5,2,4,'PhaseIdealLoop::optimize(PhaseIterGVN&, LoopOptsMode)')
f(11,5,2,4,'PhaseIdealLoop::build_and_optimize(LoopOptsMode)')
f(12,5,2,4,'PhaseIdealLoop::build_loop_late(VectorSet&, Node_List&, Node_Stack&)')
f(13,5,1,4,'PhaseIdealLoop::build_loop_late_post_work(Node*, bool)')
f(13,6,1,4,'PhaseIdealLoop::get_ctrl(Node*) [clone .isra.0]')
f(9,7,1,4,'ParseGenerator::generate(JVMState*)')
f(10,7,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(11,7,1,4,'Parse::do_all_blocks()')
f(12,7,1,4,'Parse::do_one_block()')
f(13,7,1,4,'Parse::do_call()')
f(14,7,1,4,'PredictedCallGenerator::generate(JVMState*)')
f(15,7,1,4,'ParseGenerator::generate(JVMState*)')
f(16,7,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(17,7,1,4,'Parse::do_all_blocks()')
f(18,7,1,4,'Parse::do_one_block()')
f(19,7,1,4,'Parse::do_call()')
f(20,7,1,4,'PredictedCallGenerator::generate(JVMState*)')
f(21,7,1,4,'ParseGenerator::generate(JVMState*)')
f(22,7,1,4,'Parse::Parse(JVMState*, ciMethod*, float)')
f(23,7,1,4,'Parse::create_entry_map()')
f(24,7,1,4,'GraphKit::null_check_common(Node*, BasicType, bool, Node**, bool) [clone .part.0]')
f(25,7,1,4,'Type::meet_helper(Type const*, bool) const')
f(26,7,1,4,'TypeInstPtr::remove_speculative() const')
f(9,8,1,4,'PhaseRemoveUseless::PhaseRemoveUseless(PhaseGVN*, Unique_Node_List*, Phase::PhaseNumber)')
f(10,8,1,4,'Compile::update_dead_node_list(Unique_Node_List&)')
f(4,9,1,4,'VMThread::run()')
f(5,9,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,9,1,4,'VMThread::evaluate_operation(VM_Operation*)')
f(7,9,1,4,'VM_Operation::evaluate()')
f(8,9,1,4,'VM_G1CollectForAllocation::doit()')
f(9,9,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint(double)')
f(10,9,1,4,'G1CollectedHeap::do_collection_pause_at_safepoint_helper(double)')
f(11,9,1,4,'G1CollectedHeap::evacuate_initial_collection_set(G1ParScanThreadStateSet*, bool)')
f(12,9,1,4,'G1RemSet::merge_heap_roots(bool)')
f(13,9,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(14,9,1,3,'sem_post')
f(15,9,1,5,'entry_SYSCALL_64_after_hwframe')
f(16,9,1,5,'do_syscall_64')
f(17,9,1,5,'__x64_sys_futex')
f(18,9,1,5,'do_futex')
f(19,9,1,5,'futex_wake')
f(20,9,1,5,'wake_up_q')
f(21,9,1,5,'_raw_spin_unlock_irqrestore')
f(1,10,8,3,'[unknown_Java]')
f(2,10,6,6,'cats/effect/IO$Map.tag',0,6,0)
f(2,16,2,6,'cats/effect/IO$Pure.tag',0,2,0)
f(1,18,483,1,'cats/effect/unsafe/WorkerThread.run')
f(2,18,483,1,'cats/effect/IOFiber.run')
f(3,18,476,1,'cats/effect/IOFiber.autoCedeR')
f(4,18,476,1,'cats/effect/IOFiber.runLoop')
f(5,33,26,2,'cats/effect/ByteStack$.push',26,0,0)
f(5,59,3,6,'cats/effect/IO$FlatMap.tag',0,3,0)
f(5,62,32,6,'cats/effect/IO$Map.tag',0,32,0)
f(5,94,3,6,'cats/effect/IO$Pure.tag',0,3,0)
f(5,97,140,2,'cats/effect/IOFiber.next$2',140,0,0)
f(6,97,140,2,'kyo/bench/DeepBindMapBench$$Lambda$92.0x0000000800d5eec0.apply',140,0,0)
f(7,100,137,2,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1',137,0,0)
f(8,118,10,2,'cats/effect/IO$.apply',10,0,0)
f(8,128,9,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',9,0,0)
f(8,137,100,2,'scala/runtime/BoxesRunTime.boxToInteger',100,0,0)
f(5,237,237,1,'cats/effect/IOFiber.succeeded')
f(6,286,7,2,'cats/effect/ArrayStack.pop',7,0,0)
f(6,293,36,2,'cats/effect/ByteStack$.pop',36,0,0)
f(7,305,24,2,'cats/effect/ByteStack$.peek',24,0,0)
f(6,329,1,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,329,1,1,'cats/effect/IOFiber.done')
f(8,329,1,1,'cats/effect/CallbackStack.apply')
f(9,329,1,1,'scala/runtime/function/JProcedure1.apply')
f(10,329,1,1,'scala/runtime/function/JProcedure1.apply')
f(11,329,1,1,'cats/effect/IO$$Lambda$88.0x0000000800d5c7c8.applyVoid')
f(12,329,1,1,'cats/effect/IO.$anonfun$6')
f(13,329,1,1,'cats/effect/kernel/Outcome$Succeeded.fold')
f(14,329,1,1,'cats/effect/kernel/Outcome.fold$')
f(15,329,1,1,'cats/effect/kernel/Outcome.fold')
f(16,329,1,1,'scala/runtime/function/JProcedure1.apply')
f(17,329,1,1,'scala/runtime/function/JProcedure1.apply')
f(18,329,1,1,'cats/effect/IO$$Lambda$108.0x0000000800d60d78.applyVoid')
f(19,329,1,1,'cats/effect/IO.$anonfun$6$$anonfun$3')
f(20,329,1,1,'scala/runtime/function/JProcedure1.apply')
f(21,329,1,1,'scala/runtime/function/JProcedure1.apply')
f(22,329,1,1,'cats/effect/IO$$Lambda$87.0x0000000800d57608.applyVoid')
f(23,329,1,1,'cats/effect/IO.unsafeRunAsync$$anonfun$3')
f(24,329,1,1,'scala/runtime/function/JProcedure1.apply')
f(25,329,1,1,'scala/runtime/function/JProcedure1.apply')
f(26,329,1,1,'cats/effect/IOPlatform$$Lambda$84.0x0000000800d56b38.applyVoid')
f(27,329,1,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$1')
f(28,329,1,1,'java/util/concurrent/ArrayBlockingQueue.offer')
f(29,329,1,1,'java/util/concurrent/locks/ReentrantLock.unlock')
f(30,329,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.release')
f(31,329,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.signalNext')
f(32,329,1,1,'java/util/concurrent/locks/LockSupport.unpark')
f(33,329,1,1,'jdk/internal/misc/Unsafe.unpark')
f(34,329,1,3,'pthread_cond_signal')
f(35,329,1,5,'entry_SYSCALL_64_after_hwframe')
f(36,329,1,5,'do_syscall_64')
f(37,329,1,5,'__x64_sys_futex')
f(38,329,1,5,'do_futex')
f(39,329,1,5,'futex_wake')
f(40,329,1,5,'wake_up_q')
f(41,329,1,5,'_raw_spin_unlock_irqrestore')
f(6,330,58,3,'itable stub')
f(6,388,86,1,'scala/runtime/java8/JFunction1$mcII$sp.apply')
f(7,433,18,3,'itable stub')
f(7,451,8,2,'java/lang/Integer.valueOf',8,0,0)
f(7,459,3,1,'kyo/bench/DeepBindMapBench$$Lambda$101.0x0000000800d5b990.apply$mcII$sp')
f(7,462,3,1,'kyo/bench/DeepBindMapBench$$Lambda$102.0x0000000800d59800.apply$mcII$sp')
f(7,465,2,1,'kyo/bench/DeepBindMapBench$$Lambda$103.0x0000000800d59be8.apply$mcII$sp')
f(7,467,1,1,'kyo/bench/DeepBindMapBench$$Lambda$104.0x0000000800d59400.apply$mcII$sp')
f(7,468,2,1,'kyo/bench/DeepBindMapBench$$Lambda$96.0x0000000800d5a608.apply$mcII$sp')
f(7,470,1,1,'kyo/bench/DeepBindMapBench$$Lambda$97.0x0000000800d5a9f0.apply$mcII$sp')
f(7,471,1,1,'kyo/bench/DeepBindMapBench$$Lambda$98.0x0000000800d5add8.apply$mcII$sp')
f(7,472,2,1,'kyo/bench/DeepBindMapBench$$Lambda$99.0x0000000800d5b1c0.apply$mcII$sp')
f(5,474,20,3,'vtable stub')
f(3,494,7,1,'cats/effect/IOFiber.cedeR')
f(4,494,7,1,'cats/effect/IOFiber.runLoop')
f(5,494,2,2,'cats/effect/IOFiber.next$2',2,0,0)
f(6,494,2,2,'kyo/bench/DeepBindMapBench$$Lambda$92.0x0000000800d5eec0.apply',2,0,0)
f(7,494,2,2,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1',2,0,0)
f(8,494,2,2,'scala/runtime/BoxesRunTime.boxToInteger',2,0,0)
f(5,496,5,1,'cats/effect/IOFiber.succeeded')
f(6,498,2,3,'itable stub')
f(6,500,1,1,'scala/runtime/java8/JFunction1$mcII$sp.apply')
f(1,501,1,1,'java/lang/Thread.run')
f(2,501,1,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,501,1,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,501,1,1,'java/util/concurrent/FutureTask.run')
f(5,501,1,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,501,1,1,'java/util/concurrent/FutureTask.run')
f(7,501,1,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,501,1,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,501,1,1,'java/lang/reflect/Method.invoke')
f(10,501,1,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,501,1,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,501,1,1,'kyo/bench/jmh_generated/DeepBindMapBench_forkCats_jmhTest.forkCats_Throughput')
f(13,501,1,1,'kyo/bench/jmh_generated/DeepBindMapBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,501,1,1,'kyo/bench/Bench.forkCats')
f(15,501,1,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,501,1,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,501,1,1,'cats/effect/IO.unsafeRunAsync')
f(18,501,1,1,'cats/effect/IO.unsafeRunFiber')
f(19,501,1,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,501,1,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,501,1,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,501,1,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,501,1,1,'jdk/internal/misc/Unsafe.unpark')
f(24,501,1,3,'pthread_cond_signal')
f(25,501,1,5,'entry_SYSCALL_64_after_hwframe')
f(26,501,1,5,'do_syscall_64')
f(27,501,1,5,'__x64_sys_futex')
f(28,501,1,5,'do_futex')
f(29,501,1,5,'futex_wake')
f(30,501,1,5,'wake_up_q')
f(31,501,1,5,'_raw_spin_unlock_irqrestore')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 656px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(41);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,17936,3,'all')
f(1,0,17244,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,17244,1,'cats/effect/IOFiber.run')
f(3,0,16930,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,16930,1,'cats/effect/IOFiber.runLoop')
f(5,0,10143,1,'cats/effect/IOFiber.next$2')
f(6,0,10143,1,'kyo/bench/DeepBindMapBench$$Lambda$40.0x0000000800d12648.apply')
f(7,0,10143,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1')
f(8,0,719,1,'cats/effect/IO$.apply')
f(9,0,719,1,'cats/effect/IO$.delay')
f(10,0,719,1,'cats/effect/IO$Delay$.apply')
f(11,0,719,2,'cats.effect.IO$Delay')
f(8,719,695,1,'cats/effect/IO.flatMap')
f(9,719,695,1,'cats/effect/IO$FlatMap$.apply')
f(10,719,695,2,'cats.effect.IO$FlatMap')
f(8,1414,7584,1,'cats/effect/IO.map')
f(9,1414,7584,1,'cats/effect/IO$Map$.apply')
f(10,1414,7584,2,'cats.effect.IO$Map')
f(8,8998,1145,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,8998,1145,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,8998,1145,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,8998,573,2,'kyo.bench.DeepBindMapBench$$Lambda$104+0x0000000800d60000')
f(11,9571,572,2,'kyo.bench.DeepBindMapBench$$Lambda$92+0x0000000800d5f2b8')
f(5,10143,6307,1,'cats/effect/IOFiber.succeeded')
f(6,10143,1540,1,'kyo/bench/DeepBindMapBench$$Lambda$104.0x0000000800d60000.apply')
f(7,10143,1540,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$adapted$1')
f(8,10143,1540,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$12')
f(9,10143,1540,1,'kyo/bench/DeepBindMapBench.loop$2')
f(10,10143,757,1,'cats/effect/IO.flatMap')
f(11,10143,757,1,'cats/effect/IO$FlatMap$.apply')
f(12,10143,757,2,'cats.effect.IO$FlatMap')
f(10,10900,783,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,10900,783,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d14800.newInvokeSpecial')
f(12,10900,783,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,10900,783,2,'kyo.bench.DeepBindMapBench$$Lambda$40+0x0000000800d12648')
f(6,11683,4767,1,'scala/runtime/java8/JFunction1$mcII$sp.apply')
f(7,11683,4767,1,'java/lang/Integer.valueOf')
f(8,11683,4767,2,'java.lang.Integer')
f(5,16450,480,1,'scala/runtime/java8/JFunction1$mcII$sp.apply')
f(6,16450,480,1,'java/lang/Integer.valueOf')
f(7,16450,480,2,'java.lang.Integer')
f(3,16930,314,1,'cats/effect/IOFiber.execR')
f(4,16930,232,1,'cats/effect/ByteStack$.create')
f(5,16930,232,2,'int[]')
f(4,17162,82,1,'cats/effect/IOFiber.runLoop')
f(5,17162,71,1,'cats/effect/IOFiber.next$2')
f(6,17162,71,1,'kyo/bench/DeepBindMapBench$$Lambda$40.0x0000000800d12648.apply')
f(7,17162,71,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1')
f(8,17162,6,1,'cats/effect/IO$.apply')
f(9,17162,6,1,'cats/effect/IO$.delay')
f(10,17162,6,1,'cats/effect/IO$Delay$.apply')
f(11,17162,6,2,'cats.effect.IO$Delay')
f(8,17168,7,1,'cats/effect/IO.flatMap')
f(9,17168,7,1,'cats/effect/IO$FlatMap$.apply')
f(10,17168,7,2,'cats.effect.IO$FlatMap')
f(8,17175,52,1,'cats/effect/IO.map')
f(9,17175,52,1,'cats/effect/IO$Map$.apply')
f(10,17175,52,2,'cats.effect.IO$Map')
f(8,17227,6,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,17227,6,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,17227,6,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,17227,3,2,'kyo.bench.DeepBindMapBench$$Lambda$104+0x0000000800d60000')
f(11,17230,3,2,'kyo.bench.DeepBindMapBench$$Lambda$92+0x0000000800d5f2b8')
f(5,17233,11,1,'cats/effect/IOFiber.succeeded')
f(6,17233,11,1,'kyo/bench/DeepBindMapBench$$Lambda$104.0x0000000800d60000.apply')
f(7,17233,11,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$adapted$1')
f(8,17233,11,1,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$12')
f(9,17233,11,1,'kyo/bench/DeepBindMapBench.loop$2')
f(10,17233,4,1,'cats/effect/IO.flatMap')
f(11,17233,4,1,'cats/effect/IO$FlatMap$.apply')
f(12,17233,4,2,'cats.effect.IO$FlatMap')
f(10,17237,7,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,17237,7,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d14800.newInvokeSpecial')
f(12,17237,7,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,17237,7,2,'kyo.bench.DeepBindMapBench$$Lambda$40+0x0000000800d12648')
f(1,17244,1,2,'java.lang.String')
f(1,17245,662,1,'java/lang/Thread.run')
f(2,17245,662,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,17245,662,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,17245,662,1,'java/util/concurrent/FutureTask.run')
f(5,17245,662,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,17245,662,1,'java/util/concurrent/FutureTask.run')
f(7,17245,662,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,17245,662,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,17245,1,2,'java.lang.Object[]')
f(9,17246,661,1,'java/lang/reflect/Method.invoke')
f(10,17246,661,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,17246,661,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,17246,661,1,'kyo/bench/jmh_generated/DeepBindMapBench_syncCats_jmhTest.syncCats_Throughput')
f(13,17246,659,1,'kyo/bench/jmh_generated/DeepBindMapBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,17246,659,1,'kyo/bench/Bench.syncCats')
f(15,17246,630,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,17246,628,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,17246,282,1,'cats/effect/IO.unsafeRunAsync')
f(18,17246,265,1,'cats/effect/IO.unsafeRunFiber')
f(19,17246,78,2,'cats.effect.IOFiber')
f(19,17324,22,5,'cats.effect.IOFiber')
f(19,17346,146,1,'cats/effect/IOFiber.<init>')
f(20,17346,34,1,'cats/effect/ArrayStack$.apply')
f(21,17346,34,2,'cats.effect.ArrayStack')
f(20,17380,30,1,'cats/effect/IO$.async')
f(21,17380,8,2,'cats.effect.IO$$anon$4')
f(21,17388,22,1,'cats/effect/IO$IOCont$.apply')
f(22,17388,22,2,'cats.effect.IO$IOCont')
f(20,17410,15,1,'cats/effect/IO$.uncancelable')
f(21,17410,15,1,'cats/effect/IO$Uncancelable$.apply')
f(22,17410,15,2,'cats.effect.IO$Uncancelable')
f(20,17425,67,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,17425,67,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,17425,67,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,17425,67,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5de20')
f(19,17492,19,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,17492,19,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,17492,19,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,17492,19,2,'cats.effect.IO$$Lambda$88+0x0000000800d5cfe8')
f(18,17511,17,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,17511,17,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,17511,17,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,17511,11,2,'cats.effect.IO$$Lambda$85+0x0000000800d57750')
f(21,17522,6,2,'cats.effect.IO$$Lambda$87+0x0000000800d5c000')
f(17,17528,94,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,17622,24,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,17622,24,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,17622,24,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,17622,24,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d57348')
f(17,17646,124,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,17646,124,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,17646,20,2,'java.lang.Object[]')
f(19,17666,14,2,'java.util.concurrent.locks.ReentrantLock')
f(19,17680,4,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,17680,4,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,17684,86,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,17684,86,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,17684,86,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,17770,72,1,'scala/concurrent/package$.blocking')
f(18,17770,72,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,17770,72,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5edf0.apply')
f(20,17770,72,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,17770,72,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,17770,72,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,17770,72,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,17842,32,1,'scala/util/Either.fold')
f(18,17842,32,1,'cats/effect/IOPlatform$$Lambda$109.0x0000000800d61828.apply')
f(19,17842,32,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,17842,32,1,'scala/Some$.apply')
f(21,17842,32,2,'scala.Some')
f(16,17874,2,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,17874,2,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,17874,2,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,17874,2,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,17874,2,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,17874,2,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,17874,2,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,17874,2,2,'scala.concurrent.duration.FiniteDuration')
f(15,17876,29,1,'kyo/bench/DeepBindMapBench.catsBench')
f(16,17876,29,1,'kyo/bench/DeepBindMapBench.loop$2')
f(17,17876,15,1,'cats/effect/IO.flatMap')
f(18,17876,15,1,'cats/effect/IO$FlatMap$.apply')
f(19,17876,15,2,'cats.effect.IO$FlatMap')
f(17,17891,14,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,17891,14,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d14800.newInvokeSpecial')
f(19,17891,14,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,17891,14,2,'kyo.bench.DeepBindMapBench$$Lambda$40+0x0000000800d12648')
f(13,17905,1,2,'org.openjdk.jmh.results.RawResults')
f(13,17906,1,1,'org/openjdk/jmh/results/ThroughputResult.<init>')
f(14,17906,1,2,'java.lang.StringBuilder')
f(1,17907,29,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,17907,29,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,17907,29,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,17907,29,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,17907,29,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,17907,29,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,17907,10,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,17907,1,2,'java.util.ArrayList')
f(8,17908,2,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,17908,2,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,17910,1,5,'org.openjdk.jmh.runner.InfraControl')
f(8,17911,1,1,'org/openjdk/jmh/runner/InfraControl.<init>')
f(9,17911,1,1,'org/openjdk/jmh/runner/InfraControlL4.<init>')
f(10,17911,1,1,'org/openjdk/jmh/runner/InfraControlL3.<init>')
f(11,17911,1,1,'org/openjdk/jmh/runner/InfraControlL2.<init>')
f(12,17911,1,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,17912,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,17912,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,17912,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,17912,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,17912,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,17912,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,17917,19,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,17917,19,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,17917,7,1,'java/lang/ClassLoader.loadClass')
f(10,17917,7,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,17917,7,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,17917,7,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,17917,4,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,17917,3,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,17917,1,1,'java/lang/String.substring')
f(16,17917,1,1,'java/lang/StringLatin1.newString')
f(17,17917,1,1,'java/util/Arrays.copyOfRange')
f(18,17917,1,2,'byte[]')
f(15,17918,1,1,'java/security/SecureClassLoader.defineClass')
f(16,17918,1,1,'java/security/SecureClassLoader.getProtectionDomain')
f(17,17918,1,2,'java.security.SecureClassLoader$1')
f(15,17919,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,17919,1,1,'java/util/Arrays.copyOf')
f(17,17919,1,5,'byte[]')
f(14,17920,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,17920,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,17920,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,17920,1,1,'java/net/URL.<init>')
f(18,17920,1,1,'java/net/URL.<init>')
f(19,17920,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,17920,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,17920,1,1,'java/lang/StringBuilder.toString')
f(22,17920,1,1,'java/lang/StringLatin1.newString')
f(23,17920,1,1,'java/util/Arrays.copyOfRange')
f(24,17920,1,5,'byte[]')
f(13,17921,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(14,17921,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(15,17921,3,1,'java/lang/ClassLoader.getClassLoadingLock')
f(16,17921,3,1,'java/util/concurrent/ConcurrentHashMap.putIfAbsent')
f(17,17921,3,1,'java/util/concurrent/ConcurrentHashMap.putVal')
f(18,17921,3,1,'java/util/concurrent/ConcurrentHashMap.addCount')
f(19,17921,3,1,'java/util/concurrent/ConcurrentHashMap.transfer')
f(20,17921,1,5,'java.util.concurrent.ConcurrentHashMap$Node[]')
f(20,17922,2,2,'java.util.concurrent.ConcurrentHashMap$Node')
f(9,17924,12,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,17924,12,1,'java/io/ObjectOutputStream.writeObject')
f(11,17924,12,1,'java/io/ObjectOutputStream.writeObject0')
f(12,17924,12,1,'java/io/ObjectStreamClass.lookup')
f(13,17924,12,1,'java/io/ObjectStreamClass.<init>')
f(14,17924,12,1,'java/security/AccessController.doPrivileged')
f(15,17924,12,1,'java/security/AccessController.executePrivileged')
f(16,17924,12,1,'java/io/ObjectStreamClass$2.run')
f(17,17924,12,1,'java/io/ObjectStreamClass$2.run')
f(18,17924,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,17924,2,1,'java/lang/Class.getDeclaredMethod')
f(20,17924,2,1,'java/lang/NoSuchMethodException.<init>')
f(21,17924,2,1,'java/lang/ReflectiveOperationException.<init>')
f(22,17924,2,1,'java/lang/Exception.<init>')
f(23,17924,2,1,'java/lang/Throwable.<init>')
f(24,17924,2,1,'java/lang/Throwable.fillInStackTrace')
f(25,17924,2,1,'java/lang/Throwable.fillInStackTrace')
f(26,17924,1,2,'int[]')
f(26,17925,1,2,'java.lang.Object[]')
f(18,17926,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,17926,3,1,'java/lang/Class.getDeclaredMethod')
f(20,17926,1,1,'java/lang/Class.methodToString')
f(21,17926,1,1,'java/lang/StringBuilder.append')
f(22,17926,1,1,'java/lang/AbstractStringBuilder.append')
f(23,17926,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,17926,1,1,'java/util/Arrays.copyOf')
f(25,17926,1,2,'byte[]')
f(20,17927,2,1,'java/lang/NoSuchMethodException.<init>')
f(21,17927,2,1,'java/lang/ReflectiveOperationException.<init>')
f(22,17927,2,1,'java/lang/Exception.<init>')
f(23,17927,2,1,'java/lang/Throwable.<init>')
f(24,17927,2,1,'java/lang/Throwable.fillInStackTrace')
f(25,17927,2,1,'java/lang/Throwable.fillInStackTrace')
f(26,17927,1,5,'long[]')
f(26,17928,1,2,'short[]')
f(18,17929,2,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,17929,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,17929,1,1,'java/lang/Class.getDeclaredField')
f(21,17929,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,17929,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,17929,1,1,'java/lang/Exception.<init>')
f(24,17929,1,1,'java/lang/Throwable.<init>')
f(25,17929,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,17929,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,17929,1,5,'long[]')
f(19,17930,1,1,'java/io/ObjectStreamClass.getDefaultSerialFields')
f(20,17930,1,2,'java.util.ArrayList')
f(18,17931,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,17931,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,17931,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,17931,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,17931,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,17931,1,1,'java/security/AccessController.doPrivileged')
f(24,17931,1,1,'java/security/AccessController.executePrivileged')
f(25,17931,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,17931,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,17931,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,17931,1,1,'java/security/AccessController.doPrivileged')
f(29,17931,1,1,'java/security/AccessController.executePrivileged')
f(30,17931,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,17931,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,17931,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,17931,1,1,'java/lang/ClassLoader.<init>')
f(34,17931,1,1,'java/lang/ClassLoader.<init>')
f(35,17931,1,1,'java/lang/ClassLoader.nameAndId')
f(36,17931,1,1,'java/lang/StringBuilder.append')
f(37,17931,1,1,'java/lang/AbstractStringBuilder.append')
f(38,17931,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(39,17931,1,1,'java/util/Arrays.copyOf')
f(40,17931,1,2,'byte[]')
f(23,17932,2,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,17932,2,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,17932,1,1,'jdk/internal/reflect/ClassFileAssembler.emitByte')
f(26,17932,1,1,'jdk/internal/reflect/ByteVectorImpl.add')
f(27,17932,1,1,'jdk/internal/reflect/ByteVectorImpl.resize')
f(28,17932,1,5,'byte[]')
f(25,17933,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,17933,1,2,'byte[]')
f(23,17934,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,17934,1,5,'byte[]')
f(23,17935,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(24,17935,1,1,'jdk/internal/reflect/ClassFileAssembler.emitByte')
f(25,17935,1,1,'jdk/internal/reflect/ByteVectorImpl.add')
f(26,17935,1,1,'jdk/internal/reflect/ByteVectorImpl.resize')
f(27,17935,1,2,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 480px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(30);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,492,3,'all')
f(1,0,8,3,'[unknown_Java]')
f(2,0,2,6,'cats/effect/IO$FlatMap.tag',0,2,0)
f(2,2,5,6,'cats/effect/IO$Map.tag',0,5,0)
f(2,7,1,1,'kyo/bench/DeepBindMapBench$$Lambda$102.0x0000000800d597d0.apply$mcII$sp')
f(1,8,483,1,'cats/effect/unsafe/WorkerThread.run')
f(2,8,483,1,'cats/effect/IOFiber.run')
f(3,8,480,1,'cats/effect/IOFiber.autoCedeR')
f(4,8,480,1,'cats/effect/IOFiber.runLoop')
f(5,44,9,6,'cats/effect/IO$FlatMap.tag',0,9,0)
f(5,53,17,6,'cats/effect/IO$Map.tag',0,17,0)
f(5,70,153,2,'cats/effect/IOFiber.next$2',151,0,0)
f(6,70,153,2,'kyo/bench/DeepBindMapBench$$Lambda$40.0x0000000800d12648.apply',151,0,0)
f(7,75,148,2,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1',146,0,0)
f(8,75,28,2,'cats/effect/IO$.apply',28,0,0)
f(9,75,28,2,'cats/effect/IO$.delay',28,0,0)
f(10,75,28,2,'cats/effect/Thunk$.asFunction0',28,0,0)
f(8,103,28,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',28,0,0)
f(9,109,22,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',22,0,0)
f(10,117,14,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',14,0,0)
f(8,131,92,2,'scala/runtime/BoxesRunTime.boxToInteger',90,0,0)
f(9,221,2,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(10,221,2,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(11,221,2,4,'MemAllocator::allocate() const')
f(12,222,1,4,'AllocTracer::send_allocation_in_new_tlab(Klass*, HeapWordImpl**, unsigned long, unsigned long, JavaThread*)')
f(5,223,1,2,'cats/effect/IOFiber.rescheduleFiber',1,0,0)
f(5,224,1,2,'cats/effect/IOFiber.shouldFinalize',1,0,0)
f(5,225,250,1,'cats/effect/IOFiber.succeeded')
f(6,296,9,2,'cats/effect/ArrayStack.pop',9,0,0)
f(6,305,15,2,'cats/effect/ByteStack$.pop',15,0,0)
f(7,307,13,2,'cats/effect/ByteStack$.peek',13,0,0)
f(6,320,57,3,'itable stub')
f(6,377,3,2,'kyo/bench/DeepBindMapBench$$Lambda$104.0x0000000800d60000.apply',3,0,0)
f(7,378,2,2,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$adapted$1',2,0,0)
f(8,378,2,2,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1$$anonfun$12',2,0,0)
f(9,378,2,2,'kyo/bench/DeepBindMapBench.loop$2',2,0,0)
f(10,378,2,2,'cats/effect/IO.flatMap',2,0,0)
f(11,378,2,2,'cats/effect/IO$FlatMap$.apply',2,0,0)
f(6,380,95,1,'scala/runtime/java8/JFunction1$mcII$sp.apply')
f(7,430,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(8,430,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(9,430,1,4,'MemAllocator::allocate() const')
f(10,430,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(11,430,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(12,430,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(13,430,1,4,'MutatorAllocRegion::retire(bool)')
f(14,430,1,4,'G1MonitoringSupport::update_eden_size()')
f(15,430,1,3,'pthread_mutex_lock')
f(7,431,26,3,'itable stub')
f(7,457,5,2,'java/lang/Integer.valueOf',5,0,0)
f(7,462,2,1,'kyo/bench/DeepBindMapBench$$Lambda$100.0x0000000800d59000.apply$mcII$sp')
f(7,464,2,1,'kyo/bench/DeepBindMapBench$$Lambda$101.0x0000000800d593e8.apply$mcII$sp')
f(7,466,3,1,'kyo/bench/DeepBindMapBench$$Lambda$102.0x0000000800d597d0.apply$mcII$sp')
f(7,469,1,1,'kyo/bench/DeepBindMapBench$$Lambda$95.0x0000000800d5aa28.apply$mcII$sp')
f(7,470,2,1,'kyo/bench/DeepBindMapBench$$Lambda$96.0x0000000800d5ae10.apply$mcII$sp')
f(7,472,2,1,'kyo/bench/DeepBindMapBench$$Lambda$98.0x0000000800d5b5e0.apply$mcII$sp')
f(7,474,1,1,'kyo/bench/DeepBindMapBench$$Lambda$99.0x0000000800d5b9c8.apply$mcII$sp')
f(5,475,1,2,'cats/effect/unsafe/IORuntime.cancelationCheckThreshold',1,0,0)
f(5,476,12,3,'vtable stub')
f(3,488,3,1,'cats/effect/IOFiber.execR')
f(4,488,3,1,'cats/effect/IOFiber.runLoop')
f(5,490,1,2,'cats/effect/IOFiber.next$2',1,0,0)
f(6,490,1,2,'kyo/bench/DeepBindMapBench$$Lambda$40.0x0000000800d12648.apply',1,0,0)
f(7,490,1,2,'kyo/bench/DeepBindMapBench.loop$2$$anonfun$1',1,0,0)
f(8,490,1,2,'scala/runtime/BoxesRunTime.boxToInteger',1,0,0)
f(1,491,1,1,'java/lang/Thread.run')
f(2,491,1,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,491,1,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,491,1,1,'java/util/concurrent/FutureTask.run')
f(5,491,1,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,491,1,1,'java/util/concurrent/FutureTask.run')
f(7,491,1,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,491,1,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,491,1,1,'java/lang/reflect/Method.invoke')
f(10,491,1,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,491,1,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,491,1,1,'kyo/bench/jmh_generated/DeepBindMapBench_syncCats_jmhTest.syncCats_Throughput')
f(13,491,1,1,'kyo/bench/jmh_generated/DeepBindMapBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,491,1,1,'kyo/bench/Bench.syncCats')
f(15,491,1,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,491,1,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,491,1,1,'cats/effect/IO.unsafeRunAsync')
f(18,491,1,1,'cats/effect/IO.unsafeRunFiber')
f(19,491,1,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,491,1,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,491,1,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,491,1,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,491,1,1,'jdk/internal/misc/Unsafe.unpark')
f(24,491,1,3,'pthread_cond_signal')
f(25,491,1,5,'entry_SYSCALL_64_after_hwframe')
f(26,491,1,5,'do_syscall_64')
f(27,491,1,5,'__x64_sys_futex')
f(28,491,1,5,'do_futex')
f(29,491,1,5,'futex_wake')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,36219,3,'all')
f(1,0,35522,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,35522,1,'cats/effect/IOFiber.run')
f(3,0,34818,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,34818,1,'cats/effect/IOFiber.runLoop')
f(5,0,1306,2,'cats.effect.IOFiber$$anon$1')
f(5,1306,12044,1,'cats/effect/IO$$$Lambda$105.0x0000000800d7f000.apply')
f(6,1306,12044,1,'cats/effect/IO$.deferred$$anonfun$1')
f(7,1306,1798,2,'cats.effect.IODeferred')
f(7,3104,10246,1,'cats/effect/IODeferred.<init>')
f(8,3104,1375,1,'cats/effect/CallbackStack$.apply')
f(9,3104,1375,2,'cats.effect.CallbackStack')
f(8,4479,2166,1,'cats/effect/IO$.asyncCheckAttempt')
f(9,4479,894,2,'cats.effect.IO$$anon$3')
f(9,5373,1272,1,'cats/effect/IO$IOCont$.apply')
f(10,5373,1272,2,'cats.effect.IO$IOCont')
f(8,6645,2749,1,'cats/effect/IO$.defer')
f(9,6645,1346,1,'cats/effect/IO$.delay')
f(10,6645,1346,1,'cats/effect/IO$Delay$.apply')
f(11,6645,1346,2,'cats.effect.IO$Delay')
f(9,7991,1403,1,'cats/effect/IO.flatten')
f(10,7991,1403,1,'cats/effect/IO.flatMap')
f(11,7991,1403,1,'cats/effect/IO$FlatMap$.apply')
f(12,7991,1403,2,'cats.effect.IO$FlatMap')
f(8,9394,999,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,10393,827,2,'java.util.concurrent.atomic.AtomicReference')
f(8,11220,2130,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,11220,2130,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,11220,2130,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,11220,840,2,'cats.effect.IODeferred$$Lambda$107+0x0000000800d7fb58')
f(11,12060,1290,2,'cats.effect.IODeferred$$Lambda$108+0x0000000800d80000')
f(5,13350,3901,1,'cats/effect/IOFiber.succeeded')
f(6,13350,1317,1,'kyo/bench/EnqueueDequeueBench$$Lambda$104.0x0000000800d7b1d8.apply')
f(7,13350,1317,1,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1')
f(8,13350,637,1,'cats/effect/IO.flatMap')
f(9,13350,637,1,'cats/effect/IO$FlatMap$.apply')
f(10,13350,637,2,'cats.effect.IO$FlatMap')
f(8,13987,680,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d7e800.linkToTargetMethod')
f(9,13987,680,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7e000.newInvokeSpecial')
f(10,13987,680,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,13987,680,2,'kyo.bench.EnqueueDequeueBench$$Lambda$111+0x0000000800d80c60')
f(6,14667,2584,1,'kyo/bench/EnqueueDequeueBench$$Lambda$111.0x0000000800d80c60.apply')
f(7,14667,2584,1,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1$$anonfun$1')
f(8,14667,2584,1,'kyo/bench/EnqueueDequeueBench.loop$1')
f(9,14667,642,1,'cats/effect/IO.flatMap')
f(10,14667,642,1,'cats/effect/IO$FlatMap$.apply')
f(11,14667,642,2,'cats.effect.IO$FlatMap')
f(9,15309,1303,1,'cats/effect/std/Queue$AbstractQueue.offer')
f(10,15309,635,1,'cats/effect/IO$$anon$2.uncancelable')
f(11,15309,635,1,'cats/effect/IO$$anon$2.uncancelable')
f(12,15309,635,1,'cats/effect/IO$.uncancelable')
f(13,15309,635,1,'cats/effect/IO$Uncancelable$.apply')
f(14,15309,635,2,'cats.effect.IO$Uncancelable')
f(10,15944,668,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,15944,668,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,15944,668,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,15944,668,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$103+0x0000000800d7ae08')
f(9,16612,639,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d7e800.linkToTargetMethod')
f(10,16612,639,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7e000.newInvokeSpecial')
f(11,16612,639,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,16612,639,2,'kyo.bench.EnqueueDequeueBench$$Lambda$104+0x0000000800d7b1d8')
f(5,17251,6781,1,'cats/effect/kernel/SyncRef$$Lambda$102.0x0000000800d7ab48.apply')
f(6,17251,6781,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,17251,6781,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,17251,3392,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$109.0x0000000800d802c0.apply')
f(9,17251,3392,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$15')
f(10,17251,409,1,'cats/effect/IO$$anon$2.unit')
f(11,17251,409,1,'cats/Applicative.unit$')
f(12,17251,409,1,'cats/Applicative.unit')
f(13,17251,409,1,'cats/effect/IO$$anon$2.pure')
f(14,17251,409,1,'cats/effect/IO$$anon$2.pure')
f(15,17251,409,1,'cats/effect/IO$.pure')
f(16,17251,409,1,'cats/effect/IO$Pure$.apply')
f(17,17251,409,2,'cats.effect.IO$Pure')
f(10,17660,919,1,'cats/effect/std/Queue$State$.apply')
f(11,17660,919,2,'cats.effect.std.Queue$State')
f(10,18579,732,1,'scala/Predef$ArrowAssoc$.$minus$greater$extension')
f(11,18579,732,2,'scala.Tuple2')
f(10,19311,1332,1,'scala/collection/immutable/Queue.enqueue')
f(11,19311,659,2,'scala.collection.immutable.$colon$colon')
f(11,19970,673,2,'scala.collection.immutable.Queue')
f(8,20643,3389,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$113.0x0000000800d81400.apply')
f(9,20643,3389,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$12')
f(10,20643,460,1,'cats/effect/IO$$anon$2.pure')
f(11,20643,460,1,'cats/effect/IO$$anon$2.pure')
f(12,20643,460,1,'cats/effect/IO$.pure')
f(13,20643,460,1,'cats/effect/IO$Pure$.apply')
f(14,20643,460,2,'cats.effect.IO$Pure')
f(10,21103,850,1,'cats/effect/std/Queue$State$.apply')
f(11,21103,850,2,'cats.effect.std.Queue$State')
f(10,21953,703,1,'scala/Predef$ArrowAssoc$.$minus$greater$extension')
f(11,21953,703,2,'scala.Tuple2')
f(10,22656,1376,1,'scala/collection/immutable/Queue.dequeue')
f(11,22656,695,2,'scala.collection.immutable.Queue')
f(11,23351,681,1,'scala/collection/immutable/List.reverse')
f(12,23351,681,1,'scala/collection/immutable/List.$colon$colon')
f(13,23351,681,2,'scala.collection.immutable.$colon$colon')
f(5,24032,2415,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$103.0x0000000800d7ae08.apply')
f(6,24032,2415,1,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2')
f(7,24032,644,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(8,24032,644,1,'cats/FlatMap$Ops.flatMap$')
f(9,24032,644,1,'cats/FlatMap$Ops.flatMap')
f(10,24032,644,1,'cats/effect/IO$$anon$2.flatMap')
f(11,24032,644,1,'cats/effect/IO$$anon$2.flatMap')
f(12,24032,644,1,'cats/effect/IO.flatMap')
f(13,24032,644,1,'cats/effect/IO$FlatMap$.apply')
f(14,24032,644,2,'cats.effect.IO$FlatMap')
f(7,24676,1168,1,'cats/effect/IO$$anon$2.deferred')
f(8,24676,1168,1,'cats/effect/IO$$anon$2.deferred')
f(9,24676,1168,1,'cats/effect/IO$.deferred')
f(10,24676,768,1,'cats/effect/IO$.apply')
f(11,24676,768,1,'cats/effect/IO$.delay')
f(12,24676,768,1,'cats/effect/IO$Delay$.apply')
f(13,24676,768,2,'cats.effect.IO$Delay')
f(10,25444,400,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,25444,400,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,25444,400,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,25444,400,2,'cats.effect.IO$$$Lambda$105+0x0000000800d7f000')
f(7,25844,603,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,25844,603,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,25844,603,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,25844,603,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$106+0x0000000800d7f520')
f(5,26447,2658,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$106.0x0000000800d7f520.apply')
f(6,26447,2658,1,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2$$anonfun$1')
f(7,26447,1230,1,'cats/effect/kernel/SyncRef.modify')
f(8,26447,628,1,'cats/effect/IO$$anon$2.delay')
f(9,26447,628,1,'cats/effect/IO$$anon$2.delay')
f(10,26447,628,1,'cats/effect/IO$.apply')
f(11,26447,628,1,'cats/effect/IO$.delay')
f(12,26447,628,1,'cats/effect/IO$Delay$.apply')
f(13,26447,628,2,'cats.effect.IO$Delay')
f(8,27075,602,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,27075,602,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,27075,602,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,27075,602,2,'cats.effect.kernel.SyncRef$$Lambda$102+0x0000000800d7ab48')
f(7,27677,657,1,'cats/syntax/FlattenOps$.flatten$extension')
f(8,27677,657,1,'cats/effect/IO$$anon$2.flatten')
f(9,27677,657,1,'cats/FlatMap.flatten$')
f(10,27677,657,1,'cats/FlatMap.flatten')
f(11,27677,657,1,'cats/effect/IO$$anon$2.flatMap')
f(12,27677,657,1,'cats/effect/IO$$anon$2.flatMap')
f(13,27677,657,1,'cats/effect/IO.flatMap')
f(14,27677,657,1,'cats/effect/IO$FlatMap$.apply')
f(15,27677,657,2,'cats.effect.IO$FlatMap')
f(7,28334,771,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,28334,771,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(9,28334,771,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,28334,771,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$109+0x0000000800d802c0')
f(5,29105,3049,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$112.0x0000000800d81030.apply')
f(6,29105,3049,1,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3$$anonfun$1')
f(7,29105,1389,1,'cats/effect/kernel/SyncRef.modify')
f(8,29105,599,1,'cats/effect/IO$$anon$2.delay')
f(9,29105,599,1,'cats/effect/IO$$anon$2.delay')
f(10,29105,599,1,'cats/effect/IO$.apply')
f(11,29105,599,1,'cats/effect/IO$.delay')
f(12,29105,599,1,'cats/effect/IO$Delay$.apply')
f(13,29105,599,2,'cats.effect.IO$Delay')
f(8,29704,790,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,29704,790,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,29704,790,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,29704,790,2,'cats.effect.kernel.SyncRef$$Lambda$102+0x0000000800d7ab48')
f(7,30494,654,1,'cats/syntax/FlattenOps$.flatten$extension')
f(8,30494,654,1,'cats/effect/IO$$anon$2.flatten')
f(9,30494,654,1,'cats/FlatMap.flatten$')
f(10,30494,654,1,'cats/FlatMap.flatten')
f(11,30494,654,1,'cats/effect/IO$$anon$2.flatMap')
f(12,30494,654,1,'cats/effect/IO$$anon$2.flatMap')
f(13,30494,654,1,'cats/effect/IO.flatMap')
f(14,30494,654,1,'cats/effect/IO$FlatMap$.apply')
f(15,30494,654,2,'cats.effect.IO$FlatMap')
f(7,31148,1006,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d85c00.linkToTargetMethod')
f(8,31148,1006,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d85400.newInvokeSpecial')
f(9,31148,1006,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,31148,1006,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$113+0x0000000800d81400')
f(5,32154,2664,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$96.0x0000000800d79578.apply')
f(6,32154,2664,1,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3')
f(7,32154,541,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(8,32154,541,1,'cats/FlatMap$Ops.flatMap$')
f(9,32154,541,1,'cats/FlatMap$Ops.flatMap')
f(10,32154,541,1,'cats/effect/IO$$anon$2.flatMap')
f(11,32154,541,1,'cats/effect/IO$$anon$2.flatMap')
f(12,32154,541,1,'cats/effect/IO.flatMap')
f(13,32154,541,1,'cats/effect/IO$FlatMap$.apply')
f(14,32154,541,2,'cats.effect.IO$FlatMap')
f(7,32695,1038,1,'cats/effect/IO$$anon$2.deferred')
f(8,32695,1038,1,'cats/effect/IO$$anon$2.deferred')
f(9,32695,1038,1,'cats/effect/IO$.deferred')
f(10,32695,622,1,'cats/effect/IO$.apply')
f(11,32695,622,1,'cats/effect/IO$.delay')
f(12,32695,622,1,'cats/effect/IO$Delay$.apply')
f(13,32695,622,2,'cats.effect.IO$Delay')
f(10,33317,416,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,33317,416,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,33317,416,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,33317,416,2,'cats.effect.IO$$$Lambda$105+0x0000000800d7f000')
f(7,33733,1085,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d84c00.linkToTargetMethod')
f(8,33733,1085,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d84400.newInvokeSpecial')
f(9,33733,1085,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,33733,1085,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$112+0x0000000800d81030')
f(3,34818,260,1,'cats/effect/IOFiber.cedeR')
f(4,34818,259,1,'cats/effect/IOFiber.runLoop')
f(5,34818,7,2,'cats.effect.IOFiber$$anon$1')
f(5,34825,66,1,'cats/effect/IO$$$Lambda$105.0x0000000800d7f000.apply')
f(6,34825,66,1,'cats/effect/IO$.deferred$$anonfun$1')
f(7,34825,9,2,'cats.effect.IODeferred')
f(7,34834,57,1,'cats/effect/IODeferred.<init>')
f(8,34834,9,1,'cats/effect/CallbackStack$.apply')
f(9,34834,9,2,'cats.effect.CallbackStack')
f(8,34843,14,1,'cats/effect/IO$.asyncCheckAttempt')
f(9,34843,3,2,'cats.effect.IO$$anon$3')
f(9,34846,11,1,'cats/effect/IO$IOCont$.apply')
f(10,34846,11,2,'cats.effect.IO$IOCont')
f(8,34857,17,1,'cats/effect/IO$.defer')
f(9,34857,7,1,'cats/effect/IO$.delay')
f(10,34857,7,1,'cats/effect/IO$Delay$.apply')
f(11,34857,7,2,'cats.effect.IO$Delay')
f(9,34864,10,1,'cats/effect/IO.flatten')
f(10,34864,10,1,'cats/effect/IO.flatMap')
f(11,34864,10,1,'cats/effect/IO$FlatMap$.apply')
f(12,34864,10,2,'cats.effect.IO$FlatMap')
f(8,34874,3,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,34877,4,2,'java.util.concurrent.atomic.AtomicReference')
f(8,34881,10,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,34881,10,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,34881,10,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,34881,6,2,'cats.effect.IODeferred$$Lambda$107+0x0000000800d7fb58')
f(11,34887,4,2,'cats.effect.IODeferred$$Lambda$108+0x0000000800d80000')
f(5,34891,37,1,'cats/effect/IOFiber.succeeded')
f(6,34891,15,1,'kyo/bench/EnqueueDequeueBench$$Lambda$104.0x0000000800d7b1d8.apply')
f(7,34891,15,1,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1')
f(8,34891,7,1,'cats/effect/IO.flatMap')
f(9,34891,7,1,'cats/effect/IO$FlatMap$.apply')
f(10,34891,7,2,'cats.effect.IO$FlatMap')
f(8,34898,8,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d7e800.linkToTargetMethod')
f(9,34898,8,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7e000.newInvokeSpecial')
f(10,34898,8,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,34898,8,2,'kyo.bench.EnqueueDequeueBench$$Lambda$111+0x0000000800d80c60')
f(6,34906,21,1,'kyo/bench/EnqueueDequeueBench$$Lambda$111.0x0000000800d80c60.apply')
f(7,34906,21,1,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1$$anonfun$1')
f(8,34906,21,1,'kyo/bench/EnqueueDequeueBench.loop$1')
f(9,34906,4,1,'cats/effect/IO.flatMap')
f(10,34906,4,1,'cats/effect/IO$FlatMap$.apply')
f(11,34906,4,2,'cats.effect.IO$FlatMap')
f(9,34910,13,1,'cats/effect/std/Queue$AbstractQueue.offer')
f(10,34910,5,1,'cats/effect/IO$$anon$2.uncancelable')
f(11,34910,5,1,'cats/effect/IO$$anon$2.uncancelable')
f(12,34910,5,1,'cats/effect/IO$.uncancelable')
f(13,34910,5,1,'cats/effect/IO$Uncancelable$.apply')
f(14,34910,5,2,'cats.effect.IO$Uncancelable')
f(10,34915,8,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,34915,8,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,34915,8,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,34915,8,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$103+0x0000000800d7ae08')
f(9,34923,4,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d7e800.linkToTargetMethod')
f(10,34923,4,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7e000.newInvokeSpecial')
f(11,34923,4,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,34923,4,2,'kyo.bench.EnqueueDequeueBench$$Lambda$104+0x0000000800d7b1d8')
f(6,34927,1,1,'kyo/bench/EnqueueDequeueBench$$Lambda$95.0x0000000800d78c38.apply')
f(7,34927,1,1,'kyo/bench/EnqueueDequeueBench.catsBench$$anonfun$1')
f(8,34927,1,1,'kyo/bench/EnqueueDequeueBench.loop$1')
f(9,34927,1,1,'cats/effect/std/Queue$AbstractQueue.offer')
f(10,34927,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,34927,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,34927,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,34927,1,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$103+0x0000000800d7ae08')
f(5,34928,45,1,'cats/effect/kernel/SyncRef$$Lambda$102.0x0000000800d7ab48.apply')
f(6,34928,45,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,34928,45,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,34928,26,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$109.0x0000000800d802c0.apply')
f(9,34928,26,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$15')
f(10,34928,5,1,'cats/effect/IO$$anon$2.unit')
f(11,34928,5,1,'cats/Applicative.unit$')
f(12,34928,5,1,'cats/Applicative.unit')
f(13,34928,5,1,'cats/effect/IO$$anon$2.pure')
f(14,34928,5,1,'cats/effect/IO$$anon$2.pure')
f(15,34928,5,1,'cats/effect/IO$.pure')
f(16,34928,5,1,'cats/effect/IO$Pure$.apply')
f(17,34928,5,2,'cats.effect.IO$Pure')
f(10,34933,9,1,'cats/effect/std/Queue$State$.apply')
f(11,34933,9,2,'cats.effect.std.Queue$State')
f(10,34942,1,1,'scala/Predef$ArrowAssoc$.$minus$greater$extension')
f(11,34942,1,2,'scala.Tuple2')
f(10,34943,11,1,'scala/collection/immutable/Queue.enqueue')
f(11,34943,4,2,'scala.collection.immutable.$colon$colon')
f(11,34947,7,2,'scala.collection.immutable.Queue')
f(8,34954,19,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$113.0x0000000800d81400.apply')
f(9,34954,19,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$12')
f(10,34954,4,1,'cats/effect/IO$$anon$2.pure')
f(11,34954,4,1,'cats/effect/IO$$anon$2.pure')
f(12,34954,4,1,'cats/effect/IO$.pure')
f(13,34954,4,1,'cats/effect/IO$Pure$.apply')
f(14,34954,4,2,'cats.effect.IO$Pure')
f(10,34958,4,1,'cats/effect/std/Queue$State$.apply')
f(11,34958,4,2,'cats.effect.std.Queue$State')
f(10,34962,4,1,'scala/Predef$ArrowAssoc$.$minus$greater$extension')
f(11,34962,4,2,'scala.Tuple2')
f(10,34966,7,1,'scala/collection/immutable/Queue.dequeue')
f(11,34966,3,2,'scala.collection.immutable.Queue')
f(11,34969,4,1,'scala/collection/immutable/List.reverse')
f(12,34969,4,1,'scala/collection/immutable/List.$colon$colon')
f(13,34969,4,2,'scala.collection.immutable.$colon$colon')
f(5,34973,3,1,'cats/effect/std/Queue$$$Lambda$94.0x0000000800d78648.apply')
f(6,34973,3,1,'cats/effect/std/Queue$.boundedForConcurrent$$anonfun$1')
f(7,34973,3,1,'cats/effect/std/Queue$BoundedQueue.<init>')
f(8,34973,3,1,'cats/effect/std/Queue$AbstractQueue.<init>')
f(9,34973,1,1,'cats/Functor$ToFunctorOps$$anon$4.map')
f(10,34973,1,1,'cats/Functor$Ops.map$')
f(11,34973,1,1,'cats/Functor$Ops.map')
f(12,34973,1,1,'cats/effect/IO$$anon$2.map')
f(13,34973,1,1,'cats/effect/IO$$anon$2.map')
f(14,34973,1,1,'cats/effect/IO.map')
f(15,34973,1,1,'cats/effect/IO$Map$.apply')
f(16,34973,1,2,'cats.effect.IO$Map')
f(9,34974,1,1,'cats/effect/IO$$anon$2.uncancelable')
f(10,34974,1,1,'cats/effect/IO$$anon$2.uncancelable')
f(11,34974,1,1,'cats/effect/IO$.uncancelable')
f(12,34974,1,1,'cats/effect/IO$Uncancelable$.apply')
f(13,34974,1,2,'cats.effect.IO$Uncancelable')
f(9,34975,1,1,'cats/effect/kernel/SyncRef.get')
f(10,34975,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,34975,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,34975,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,34975,1,2,'cats.effect.kernel.SyncRef$$Lambda$99+0x0000000800d7a0e8')
f(5,34976,17,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$103.0x0000000800d7ae08.apply')
f(6,34976,17,1,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2')
f(7,34976,3,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(8,34976,3,1,'cats/FlatMap$Ops.flatMap$')
f(9,34976,3,1,'cats/FlatMap$Ops.flatMap')
f(10,34976,3,1,'cats/effect/IO$$anon$2.flatMap')
f(11,34976,3,1,'cats/effect/IO$$anon$2.flatMap')
f(12,34976,3,1,'cats/effect/IO.flatMap')
f(13,34976,3,1,'cats/effect/IO$FlatMap$.apply')
f(14,34976,3,2,'cats.effect.IO$FlatMap')
f(7,34979,7,1,'cats/effect/IO$$anon$2.deferred')
f(8,34979,7,1,'cats/effect/IO$$anon$2.deferred')
f(9,34979,7,1,'cats/effect/IO$.deferred')
f(10,34979,4,1,'cats/effect/IO$.apply')
f(11,34979,4,1,'cats/effect/IO$.delay')
f(12,34979,4,1,'cats/effect/IO$Delay$.apply')
f(13,34979,4,2,'cats.effect.IO$Delay')
f(10,34983,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,34983,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,34983,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,34983,3,2,'cats.effect.IO$$$Lambda$105+0x0000000800d7f000')
f(7,34986,7,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,34986,7,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,34986,7,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,34986,7,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$106+0x0000000800d7f520')
f(5,34993,19,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$106.0x0000000800d7f520.apply')
f(6,34993,19,1,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2$$anonfun$1')
f(7,34993,10,1,'cats/effect/kernel/SyncRef.modify')
f(8,34993,4,1,'cats/effect/IO$$anon$2.delay')
f(9,34993,4,1,'cats/effect/IO$$anon$2.delay')
f(10,34993,4,1,'cats/effect/IO$.apply')
f(11,34993,4,1,'cats/effect/IO$.delay')
f(12,34993,4,1,'cats/effect/IO$Delay$.apply')
f(13,34993,4,2,'cats.effect.IO$Delay')
f(8,34997,6,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,34997,6,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,34997,6,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,34997,6,2,'cats.effect.kernel.SyncRef$$Lambda$102+0x0000000800d7ab48')
f(7,35003,6,1,'cats/syntax/FlattenOps$.flatten$extension')
f(8,35003,6,1,'cats/effect/IO$$anon$2.flatten')
f(9,35003,6,1,'cats/FlatMap.flatten$')
f(10,35003,6,1,'cats/FlatMap.flatten')
f(11,35003,6,1,'cats/effect/IO$$anon$2.flatMap')
f(12,35003,6,1,'cats/effect/IO$$anon$2.flatMap')
f(13,35003,6,1,'cats/effect/IO.flatMap')
f(14,35003,6,1,'cats/effect/IO$FlatMap$.apply')
f(15,35003,6,2,'cats.effect.IO$FlatMap')
f(7,35009,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,35009,3,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(9,35009,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,35009,3,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$109+0x0000000800d802c0')
f(5,35012,18,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$112.0x0000000800d81030.apply')
f(6,35012,18,1,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3$$anonfun$1')
f(7,35012,10,1,'cats/effect/kernel/SyncRef.modify')
f(8,35012,7,1,'cats/effect/IO$$anon$2.delay')
f(9,35012,7,1,'cats/effect/IO$$anon$2.delay')
f(10,35012,7,1,'cats/effect/IO$.apply')
f(11,35012,7,1,'cats/effect/IO$.delay')
f(12,35012,7,1,'cats/effect/IO$Delay$.apply')
f(13,35012,7,2,'cats.effect.IO$Delay')
f(8,35019,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,35019,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,35019,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,35019,3,2,'cats.effect.kernel.SyncRef$$Lambda$102+0x0000000800d7ab48')
f(7,35022,2,1,'cats/syntax/FlattenOps$.flatten$extension')
f(8,35022,2,1,'cats/effect/IO$$anon$2.flatten')
f(9,35022,2,1,'cats/FlatMap.flatten$')
f(10,35022,2,1,'cats/FlatMap.flatten')
f(11,35022,2,1,'cats/effect/IO$$anon$2.flatMap')
f(12,35022,2,1,'cats/effect/IO$$anon$2.flatMap')
f(13,35022,2,1,'cats/effect/IO.flatMap')
f(14,35022,2,1,'cats/effect/IO$FlatMap$.apply')
f(15,35022,2,2,'cats.effect.IO$FlatMap')
f(7,35024,6,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d85c00.linkToTargetMethod')
f(8,35024,6,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d85400.newInvokeSpecial')
f(9,35024,6,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,35024,6,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$113+0x0000000800d81400')
f(5,35030,47,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$96.0x0000000800d79578.apply')
f(6,35030,47,1,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3')
f(7,35030,39,1,'cats/effect/IO$$anon$2.deferred')
f(8,35030,39,1,'cats/effect/IO$$anon$2.deferred')
f(9,35030,39,1,'cats/effect/IO$.deferred')
f(10,35030,38,1,'cats/effect/IO$.apply')
f(11,35030,38,1,'cats/effect/IO$.delay')
f(12,35030,38,1,'cats/effect/IO$Delay$.apply')
f(13,35030,38,2,'cats.effect.IO$Delay')
f(10,35068,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,35068,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,35068,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,35068,1,2,'cats.effect.IO$$$Lambda$105+0x0000000800d7f000')
f(7,35069,8,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d84c00.linkToTargetMethod')
f(8,35069,8,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d84400.newInvokeSpecial')
f(9,35069,8,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,35069,8,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$112+0x0000000800d81030')
f(4,35077,1,1,'cats/effect/IOFiber.succeeded')
f(5,35077,1,1,'kyo/bench/Bench$$Lambda$40.0x0000000800d13078.apply')
f(6,35077,1,1,'kyo/bench/Bench.forkCats$$anonfun$1')
f(7,35077,1,1,'kyo/bench/EnqueueDequeueBench.catsBench')
f(8,35077,1,1,'cats/effect/std/Queue$.bounded')
f(9,35077,1,1,'cats/effect/std/Queue$.boundedForConcurrent')
f(10,35077,1,1,'cats/effect/IO$$anon$2.ref')
f(11,35077,1,1,'cats/effect/IO$$anon$2.ref')
f(12,35077,1,1,'cats/effect/IO$.ref')
f(13,35077,1,1,'cats/effect/IO$.apply')
f(14,35077,1,1,'cats/effect/IO$.delay')
f(15,35077,1,1,'cats/effect/IO$Delay$.apply')
f(16,35077,1,2,'cats.effect.IO$Delay')
f(3,35078,444,1,'cats/effect/IOFiber.execR')
f(4,35078,1,1,'cats/effect/ArrayStack.init')
f(5,35078,1,2,'java.lang.Object[]')
f(4,35079,443,1,'cats/effect/ByteStack$.create')
f(5,35079,443,2,'int[]')
f(1,35522,1,2,'java.lang.String')
f(1,35523,672,1,'java/lang/Thread.run')
f(2,35523,672,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,35523,672,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,35523,672,1,'java/util/concurrent/FutureTask.run')
f(5,35523,672,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,35523,672,1,'java/util/concurrent/FutureTask.run')
f(7,35523,672,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,35523,672,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,35523,672,1,'java/lang/reflect/Method.invoke')
f(10,35523,672,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,35523,672,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,35523,672,1,'kyo/bench/jmh_generated/EnqueueDequeueBench_forkCats_jmhTest.forkCats_Throughput')
f(13,35523,671,1,'kyo/bench/jmh_generated/EnqueueDequeueBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,35523,671,1,'kyo/bench/Bench.forkCats')
f(15,35523,1,1,'cats/effect/IO.flatMap')
f(16,35523,1,1,'cats/effect/IO$FlatMap$.apply')
f(17,35523,1,2,'cats.effect.IO$FlatMap')
f(15,35524,670,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,35524,588,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,35524,313,1,'cats/effect/IO.unsafeRunAsync')
f(18,35524,251,1,'cats/effect/IO.unsafeRunFiber')
f(19,35524,62,2,'cats.effect.IOFiber')
f(19,35586,2,5,'cats.effect.IOFiber')
f(19,35588,133,1,'cats/effect/IOFiber.<init>')
f(20,35588,70,1,'cats/effect/ArrayStack$.apply')
f(21,35588,70,2,'cats.effect.ArrayStack')
f(20,35658,6,1,'cats/effect/IO$.async')
f(21,35658,6,1,'cats/effect/IO$IOCont$.apply')
f(22,35658,6,2,'cats.effect.IO$IOCont')
f(20,35664,52,1,'cats/effect/IO$.uncancelable')
f(21,35664,52,1,'cats/effect/IO$Uncancelable$.apply')
f(22,35664,52,2,'cats.effect.IO$Uncancelable')
f(20,35716,5,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,35716,5,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,35716,5,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,35716,4,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5de20')
f(23,35720,1,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5e410')
f(19,35721,53,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,35721,53,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,35721,53,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,35721,53,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,35721,53,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,35774,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,35774,1,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial')
f(21,35774,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,35774,1,2,'cats.effect.IO$$Lambda$88+0x0000000800d5cfe8')
f(18,35775,62,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,35775,62,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,35775,62,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,35775,6,2,'cats.effect.IO$$Lambda$85+0x0000000800d57750')
f(21,35781,54,2,'cats.effect.IO$$Lambda$86+0x0000000800d57a10')
f(21,35835,2,2,'cats.effect.IO$$Lambda$87+0x0000000800d5c000')
f(17,35837,6,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,35843,4,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,35843,4,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,35843,4,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,35843,4,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d57348')
f(17,35847,151,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,35847,151,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,35847,69,2,'java.lang.Object[]')
f(19,35916,4,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,35916,4,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,35920,78,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,35920,78,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,35920,78,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,35998,9,1,'scala/concurrent/package$.blocking')
f(18,35998,9,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,35998,9,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5edf0.apply')
f(20,35998,9,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,35998,9,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,35998,9,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,35998,9,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,36007,105,1,'scala/util/Either.fold')
f(18,36007,105,1,'cats/effect/IOPlatform$$Lambda$118.0x0000000800d82e48.apply')
f(19,36007,105,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,36007,105,1,'scala/Some$.apply')
f(21,36007,105,2,'scala.Some')
f(16,36112,82,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,36112,82,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,36112,82,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,36112,82,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,36112,82,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,36112,82,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,36112,82,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,36112,82,2,'scala.concurrent.duration.FiniteDuration')
f(13,36194,1,2,'org.openjdk.jmh.results.RawResults')
f(1,36195,24,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,36195,24,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,36195,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,36195,24,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,36195,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,36195,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,36195,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,36195,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,36195,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,36195,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,36195,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,36195,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,36195,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,36195,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,36195,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,36195,1,2,'java.lang.Object[]')
f(7,36196,9,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,36196,2,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,36196,2,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,36198,1,5,'org.openjdk.jmh.runner.InfraControl')
f(8,36199,1,1,'org/openjdk/jmh/runner/InfraControl.<init>')
f(9,36199,1,1,'org/openjdk/jmh/runner/InfraControlL4.<init>')
f(10,36199,1,1,'org/openjdk/jmh/runner/InfraControlL3.<init>')
f(11,36199,1,1,'org/openjdk/jmh/runner/InfraControlL2.<init>')
f(12,36199,1,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,36200,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,36200,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,36200,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,36200,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,36200,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,36200,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,36205,14,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,36205,14,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,36205,3,1,'java/lang/ClassLoader.loadClass')
f(10,36205,3,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,36205,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,36205,3,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,36205,3,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,36205,2,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,36205,1,1,'java/security/CodeSource.<init>')
f(16,36205,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,36205,1,1,'java/lang/StringBuilder.append')
f(18,36205,1,1,'java/lang/AbstractStringBuilder.append')
f(19,36205,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,36205,1,1,'java/util/Arrays.copyOf')
f(21,36205,1,2,'byte[]')
f(15,36206,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,36206,1,1,'java/util/Arrays.copyOf')
f(17,36206,1,5,'byte[]')
f(14,36207,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,36207,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,36207,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,36207,1,1,'java/net/URL.<init>')
f(18,36207,1,1,'java/net/URL.<init>')
f(19,36207,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,36207,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,36207,1,1,'java/lang/StringBuilder.toString')
f(22,36207,1,1,'java/lang/StringLatin1.newString')
f(23,36207,1,2,'java.lang.String')
f(9,36208,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,36208,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,36208,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,36208,11,1,'java/io/ObjectStreamClass.lookup')
f(13,36208,11,1,'java/io/ObjectStreamClass.<init>')
f(14,36208,11,1,'java/security/AccessController.doPrivileged')
f(15,36208,11,1,'java/security/AccessController.executePrivileged')
f(16,36208,11,1,'java/io/ObjectStreamClass$2.run')
f(17,36208,11,1,'java/io/ObjectStreamClass$2.run')
f(18,36208,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,36208,2,1,'java/lang/Class.getDeclaredMethod')
f(20,36208,1,1,'java/lang/Class.methodToString')
f(21,36208,1,1,'java/lang/StringBuilder.append')
f(22,36208,1,1,'java/lang/AbstractStringBuilder.append')
f(23,36208,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,36208,1,1,'java/util/Arrays.copyOf')
f(25,36208,1,2,'byte[]')
f(20,36209,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,36209,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,36209,1,1,'java/lang/Exception.<init>')
f(23,36209,1,1,'java/lang/Throwable.<init>')
f(24,36209,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,36209,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,36209,1,2,'short[]')
f(18,36210,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,36210,3,1,'java/lang/Class.getDeclaredMethod')
f(20,36210,2,1,'java/lang/Class.methodToString')
f(21,36210,1,1,'java/lang/StringBuilder.append')
f(22,36210,1,1,'java/lang/AbstractStringBuilder.append')
f(23,36210,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,36210,1,1,'java/util/Arrays.copyOf')
f(25,36210,1,2,'byte[]')
f(21,36211,1,1,'java/lang/StringBuilder.toString')
f(22,36211,1,1,'java/lang/StringLatin1.newString')
f(23,36211,1,1,'java/util/Arrays.copyOfRange')
f(24,36211,1,2,'byte[]')
f(20,36212,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,36212,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,36212,1,1,'java/lang/Exception.<init>')
f(23,36212,1,1,'java/lang/Throwable.<init>')
f(24,36212,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,36212,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,36212,1,5,'long[]')
f(18,36213,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,36213,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,36213,1,1,'java/lang/Class.getDeclaredField')
f(21,36213,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,36213,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,36213,1,1,'java/lang/Exception.<init>')
f(24,36213,1,1,'java/lang/Throwable.<init>')
f(25,36213,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,36213,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,36213,1,2,'long[]')
f(18,36214,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,36214,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,36214,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,36214,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,36214,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,36214,1,1,'java/security/AccessController.doPrivileged')
f(24,36214,1,1,'java/security/AccessController.executePrivileged')
f(25,36214,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,36214,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,36214,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,36214,1,1,'java/security/AccessController.doPrivileged')
f(29,36214,1,1,'java/security/AccessController.executePrivileged')
f(30,36214,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,36214,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,36214,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,36214,1,1,'java/lang/ClassLoader.<init>')
f(34,36214,1,1,'java/lang/ClassLoader.<init>')
f(35,36214,1,1,'java/lang/ClassLoader.nameAndId')
f(36,36214,1,1,'java/lang/StringBuilder.<init>')
f(37,36214,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,36214,1,2,'byte[]')
f(23,36215,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,36215,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,36215,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,36215,1,2,'byte[]')
f(23,36216,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,36216,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,36216,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,36216,1,2,'byte[]')
f(23,36217,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,36217,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,36217,1,1,'java/lang/String.replace')
f(26,36217,1,1,'java/lang/StringLatin1.replace')
f(27,36217,1,2,'java.lang.String')
f(23,36218,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,36218,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 512px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(32);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,491,3,'all')
f(1,0,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,1,3,'thread_native_entry(Thread*)')
f(3,0,1,4,'Thread::call_run()')
f(4,0,1,4,'VMThread::run()')
f(5,0,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,0,1,4,'SafepointSynchronize::begin()')
f(7,0,1,4,'SafepointSynchronize::do_cleanup_tasks()')
f(8,0,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(9,0,1,3,'sem_post')
f(10,0,1,5,'entry_SYSCALL_64_after_hwframe')
f(11,0,1,5,'do_syscall_64')
f(12,0,1,5,'__x64_sys_futex')
f(13,0,1,5,'do_futex')
f(14,0,1,5,'futex_wake')
f(15,0,1,5,'wake_up_q')
f(16,0,1,5,'_raw_spin_unlock_irqrestore')
f(1,1,12,3,'[unknown_Java]')
f(2,1,3,6,'cats/effect/IO$Delay.tag',0,3,0)
f(2,4,5,6,'cats/effect/IO$FlatMap.tag',0,5,0)
f(2,9,3,6,'cats/effect/IO$Uncancelable.tag',0,3,0)
f(2,12,1,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$112.0x0000000800d81030.apply')
f(1,13,477,1,'cats/effect/unsafe/WorkerThread.run')
f(2,14,475,1,'cats/effect/IOFiber.run')
f(3,14,469,1,'cats/effect/IOFiber.autoCedeR')
f(4,14,469,1,'cats/effect/IOFiber.runLoop')
f(5,43,8,1,'cats/FlatMap$$Lambda$110.0x0000000800d80898.apply')
f(5,51,7,6,'cats/effect/IO$Delay.tag',0,7,0)
f(5,58,12,6,'cats/effect/IO$FlatMap.tag',0,12,0)
f(5,70,1,6,'cats/effect/IO$Pure.tag',0,1,0)
f(5,71,6,6,'cats/effect/IO$Uncancelable.tag',0,6,0)
f(5,77,1,2,'cats/effect/IOFiber$$anon$1.<init>',1,0,0)
f(5,78,128,2,'cats/effect/IOFiber.rescheduleFiber',128,0,0)
f(6,82,124,2,'cats/effect/unsafe/WorkStealingThreadPool.reschedule',124,0,0)
f(7,100,65,2,'cats/effect/unsafe/WorkerThread.isOwnedBy',65,0,0)
f(8,164,1,5,'asm_sysvec_hyperv_stimer0')
f(9,164,1,5,'sysvec_hyperv_stimer0')
f(10,164,1,5,'irq_exit_rcu')
f(11,164,1,5,'__irq_exit_rcu')
f(12,164,1,5,'__softirqentry_text_start')
f(7,165,41,2,'cats/effect/unsafe/WorkerThread.reschedule',41,0,0)
f(8,186,20,2,'cats/effect/unsafe/LocalQueue.isEmpty',20,0,0)
f(9,190,16,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',16,0,0)
f(10,200,6,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.accessCheck',6,0,0)
f(5,206,61,1,'cats/effect/IOFiber.succeeded')
f(6,221,6,2,'cats/effect/ArrayStack.pop',6,0,0)
f(6,227,8,2,'cats/effect/ByteStack$.pop',8,0,0)
f(7,229,6,2,'cats/effect/ByteStack$.peek',6,0,0)
f(6,235,1,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,235,1,2,'cats/effect/IOFiber.done',1,0,0)
f(8,235,1,2,'cats/effect/IO$.pure',1,0,0)
f(6,236,15,3,'itable stub')
f(6,251,7,1,'kyo/bench/EnqueueDequeueBench$$Lambda$104.0x0000000800d7b1d8.apply')
f(7,256,2,2,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1',2,0,0)
f(8,257,1,2,'cats/effect/IO.flatMap',1,0,0)
f(9,257,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(6,258,9,1,'kyo/bench/EnqueueDequeueBench$$Lambda$111.0x0000000800d80c60.apply')
f(7,261,6,2,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1$$anonfun$1',5,0,0)
f(8,262,5,2,'kyo/bench/EnqueueDequeueBench.loop$1',4,0,0)
f(9,262,2,2,'cats/effect/IO.flatMap',1,0,0)
f(10,262,2,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(11,263,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(12,263,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(13,263,1,4,'MemAllocator::allocate() const')
f(14,263,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(15,263,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(9,264,3,2,'cats/effect/std/Queue$AbstractQueue.offer',3,0,0)
f(10,264,3,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',3,0,0)
f(11,264,3,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',3,0,0)
f(12,264,1,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$103.0x0000000800d7ae08.<init>',1,0,0)
f(12,265,2,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',2,0,0)
f(5,267,81,1,'cats/effect/kernel/SyncRef$$Lambda$102.0x0000000800d7ab48.apply')
f(6,271,77,2,'cats/effect/kernel/SyncRef.modify$$anonfun$1',51,0,0)
f(7,271,77,2,'cats/effect/kernel/SyncRef.spin$4',51,0,0)
f(8,283,25,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$109.0x0000000800d802c0.apply',25,0,0)
f(9,289,19,2,'cats/effect/std/Queue$AbstractQueue.$anonfun$15',19,0,0)
f(10,289,1,2,'cats/effect/std/Queue$State$.apply',1,0,0)
f(10,290,7,2,'scala/collection/AbstractIterable.nonEmpty',7,0,0)
f(11,290,7,2,'scala/collection/IterableOnceOps.nonEmpty$',7,0,0)
f(12,290,7,2,'scala/collection/IterableOnceOps.nonEmpty',7,0,0)
f(13,290,7,2,'scala/collection/immutable/Queue.isEmpty',7,0,0)
f(14,296,1,2,'scala/collection/immutable/Queue.in',1,0,0)
f(10,297,11,2,'scala/collection/immutable/Queue.enqueue',11,0,0)
f(11,297,10,2,'scala/collection/immutable/Queue.<init>',10,0,0)
f(11,307,1,2,'scala/collection/immutable/Queue.in',1,0,0)
f(8,308,31,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$113.0x0000000800d81400.apply',5,0,0)
f(9,313,26,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$12')
f(10,317,11,2,'scala/collection/AbstractIterable.nonEmpty',11,0,0)
f(11,317,11,2,'scala/collection/IterableOnceOps.nonEmpty$',11,0,0)
f(12,318,10,2,'scala/collection/IterableOnceOps.nonEmpty',10,0,0)
f(13,318,10,2,'scala/collection/immutable/Queue.isEmpty',10,0,0)
f(14,324,4,2,'scala/collection/immutable/List.isEmpty',4,0,0)
f(10,328,4,2,'scala/collection/immutable/Queue.dequeue',3,0,0)
f(11,328,1,2,'scala/collection/immutable/List.equals',1,0,0)
f(11,329,3,2,'scala/collection/immutable/List.reverse',2,0,0)
f(12,329,1,4,'SharedRuntime::on_slowpath_allocation_exit(JavaThread*)')
f(12,330,2,2,'scala/collection/immutable/List.$colon$colon',2,0,0)
f(13,330,2,2,'scala/collection/immutable/$colon$colon.<init>',2,0,0)
f(14,330,2,2,'scala/collection/immutable/List.<init>',2,0,0)
f(15,330,2,2,'scala/collection/immutable/AbstractSeq.<init>',2,0,0)
f(16,330,2,2,'scala/collection/AbstractSeq.<init>',2,0,0)
f(17,330,2,2,'scala/collection/AbstractIterable.<init>',2,0,0)
f(18,330,2,2,'java/lang/Object.<init>',2,0,0)
f(10,332,7,2,'scala/collection/immutable/Queue.isEmpty',7,0,0)
f(11,332,7,2,'scala/collection/immutable/Queue.out',7,0,0)
f(8,339,7,2,'java/util/concurrent/atomic/AtomicReference.compareAndSet',7,0,0)
f(9,339,7,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',7,0,0)
f(10,339,7,2,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.compareAndSet',7,0,0)
f(8,346,1,2,'java/util/concurrent/atomic/AtomicReference.get',1,0,0)
f(8,347,1,2,'scala/Tuple2._1',1,0,0)
f(5,348,38,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$103.0x0000000800d7ae08.apply',38,0,0)
f(6,348,38,2,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2',38,0,0)
f(7,349,15,2,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap',15,0,0)
f(8,349,15,2,'cats/FlatMap$Ops.flatMap$',15,0,0)
f(9,349,15,2,'cats/FlatMap$Ops.flatMap',15,0,0)
f(10,349,15,2,'cats/effect/IO$$anon$2.flatMap',15,0,0)
f(11,349,15,2,'cats/effect/IO$$anon$2.flatMap',15,0,0)
f(12,349,15,2,'cats/effect/IO.flatMap',15,0,0)
f(13,349,15,2,'cats/effect/IO$FlatMap$.apply',15,0,0)
f(14,351,13,2,'cats/effect/IO$FlatMap.<init>',13,0,0)
f(7,364,10,2,'cats/effect/IO$$anon$2.deferred',10,0,0)
f(8,364,10,2,'cats/effect/IO$$anon$2.deferred',10,0,0)
f(9,364,10,2,'cats/effect/IO$.deferred',10,0,0)
f(10,364,10,2,'cats/effect/IO$.apply',10,0,0)
f(11,364,10,2,'cats/effect/IO$.delay',10,0,0)
f(12,364,10,2,'cats/effect/IO$Delay$.apply',10,0,0)
f(13,367,7,2,'cats/effect/IO$Delay.<init>',7,0,0)
f(14,372,2,2,'cats/effect/IO.<init>',2,0,0)
f(15,372,2,2,'cats/effect/IOPlatform.<init>',2,0,0)
f(7,374,7,2,'cats/syntax/AllSyntaxBinCompat.toFlatMapOps',7,0,0)
f(7,381,5,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',5,0,0)
f(8,383,3,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',3,0,0)
f(9,384,1,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$106.0x0000000800d7f520.<init>',1,0,0)
f(9,385,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(5,386,19,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$106.0x0000000800d7f520.apply')
f(6,388,17,2,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2$$anonfun$1',17,0,0)
f(7,389,11,2,'cats/effect/kernel/SyncRef.modify',11,0,0)
f(8,389,10,2,'cats/effect/IO$$anon$2.delay',10,0,0)
f(9,389,10,2,'cats/effect/IO$$anon$2.delay',10,0,0)
f(10,389,10,2,'cats/effect/IO$.apply',10,0,0)
f(11,389,10,2,'cats/effect/IO$.delay',10,0,0)
f(12,389,7,2,'cats/effect/IO$Delay$.apply',7,0,0)
f(12,396,3,2,'cats/effect/Thunk$.asFunction0',3,0,0)
f(8,399,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(9,399,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(10,399,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(7,400,2,2,'cats/syntax/FlattenOps$.flatten$extension',2,0,0)
f(8,400,2,2,'cats/effect/IO$$anon$2.flatten',2,0,0)
f(9,400,2,2,'cats/FlatMap.flatten$',2,0,0)
f(10,400,2,2,'cats/FlatMap.flatten',2,0,0)
f(11,400,2,2,'cats/effect/IO$$anon$2.flatMap',2,0,0)
f(12,400,2,2,'cats/effect/IO$$anon$2.flatMap',2,0,0)
f(13,400,2,2,'cats/effect/IO.flatMap',2,0,0)
f(14,400,2,2,'cats/effect/IO$FlatMap$.apply',2,0,0)
f(7,402,3,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',3,0,0)
f(8,402,3,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d58c00.newInvokeSpecial',3,0,0)
f(9,402,1,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$109.0x0000000800d802c0.<init>',1,0,0)
f(9,403,2,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',2,0,0)
f(5,405,22,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$112.0x0000000800d81030.apply')
f(6,409,18,2,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3$$anonfun$1',18,0,0)
f(7,410,4,2,'cats/effect/kernel/SyncRef.modify',4,0,0)
f(8,411,2,2,'cats/effect/IO$$anon$2.delay',2,0,0)
f(9,411,2,2,'cats/effect/IO$$anon$2.delay',2,0,0)
f(10,411,2,2,'cats/effect/IO$.apply',2,0,0)
f(11,411,2,2,'cats/effect/IO$.delay',2,0,0)
f(12,411,1,2,'cats/effect/IO$Delay$.apply',1,0,0)
f(12,412,1,2,'cats/effect/Thunk$.asFunction0',1,0,0)
f(8,413,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(9,413,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(10,413,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(7,414,6,2,'cats/syntax/FlattenOps$.flatten$extension',6,0,0)
f(8,414,6,2,'cats/effect/IO$$anon$2.flatten',6,0,0)
f(9,414,6,2,'cats/FlatMap.flatten$',6,0,0)
f(10,414,6,2,'cats/FlatMap.flatten',6,0,0)
f(11,414,6,2,'cats/effect/IO$$anon$2.flatMap',6,0,0)
f(12,414,6,2,'cats/effect/IO$$anon$2.flatMap',6,0,0)
f(13,414,6,2,'cats/effect/IO.flatMap',6,0,0)
f(14,414,6,2,'cats/effect/IO$FlatMap$.apply',6,0,0)
f(7,420,7,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d85c00.linkToTargetMethod',7,0,0)
f(8,420,7,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d85400.newInvokeSpecial',7,0,0)
f(9,420,2,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$113.0x0000000800d81400.<init>',2,0,0)
f(9,422,5,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',5,0,0)
f(5,427,26,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$96.0x0000000800d79578.apply',25,0,0)
f(6,427,26,2,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3',25,0,0)
f(7,428,14,2,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap',13,0,0)
f(8,428,14,2,'cats/FlatMap$Ops.flatMap$',13,0,0)
f(9,430,12,2,'cats/FlatMap$Ops.flatMap',11,0,0)
f(10,432,10,2,'cats/effect/IO$$anon$2.flatMap',9,0,0)
f(11,435,7,2,'cats/effect/IO$$anon$2.flatMap',6,0,0)
f(12,435,7,2,'cats/effect/IO.flatMap',6,0,0)
f(13,439,3,2,'cats/effect/IO$FlatMap$.apply',2,0,0)
f(14,439,3,2,'cats/effect/IO$FlatMap.<init>',2,0,0)
f(15,441,1,4,'OptoRuntime::new_instance_C(Klass*, JavaThread*)')
f(16,441,1,4,'InstanceKlass::allocate_instance(JavaThread*)')
f(17,441,1,4,'MemAllocator::allocate() const')
f(18,441,1,4,'MemAllocator::allocate_inside_tlab_slow(MemAllocator::Allocation&) const')
f(19,441,1,4,'G1CollectedHeap::allocate_new_tlab(unsigned long, unsigned long, unsigned long*)')
f(20,441,1,4,'G1CollectedHeap::attempt_allocation_slow(unsigned long)')
f(21,441,1,4,'G1AllocRegion::new_alloc_region_and_allocate(unsigned long, bool)')
f(22,441,1,4,'G1CollectedHeap::new_mutator_alloc_region(unsigned long, bool, unsigned int)')
f(23,441,1,4,'HeapRegionType::get_trace_type()')
f(7,442,7,2,'cats/effect/IO$$anon$2.deferred',7,0,0)
f(8,442,7,2,'cats/effect/IO$$anon$2.deferred',7,0,0)
f(9,442,7,2,'cats/effect/IO$.deferred',7,0,0)
f(10,442,7,2,'cats/effect/IO$.apply',7,0,0)
f(11,444,5,2,'cats/effect/IO$.delay',5,0,0)
f(12,444,5,2,'cats/effect/IO$Delay$.apply',5,0,0)
f(13,444,5,2,'cats/effect/IO$Delay.<init>',5,0,0)
f(14,444,5,2,'cats/effect/IO.<init>',5,0,0)
f(15,444,5,2,'cats/effect/IOPlatform.<init>',5,0,0)
f(7,449,3,2,'cats/syntax/AllSyntaxBinCompat.toFlatMapOps',3,0,0)
f(7,452,1,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d84c00.linkToTargetMethod',1,0,0)
f(8,452,1,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d84400.newInvokeSpecial',1,0,0)
f(5,453,15,3,'itable stub')
f(5,468,15,3,'vtable stub')
f(3,483,6,1,'cats/effect/IOFiber.cedeR')
f(4,483,6,1,'cats/effect/IOFiber.runLoop')
f(5,484,1,2,'cats/effect/IOFiber.rescheduleFiber',1,0,0)
f(6,484,1,2,'cats/effect/unsafe/WorkStealingThreadPool.reschedule',1,0,0)
f(7,484,1,2,'cats/effect/unsafe/WorkerThread.isOwnedBy',1,0,0)
f(5,485,2,1,'cats/effect/IOFiber.succeeded')
f(6,485,2,1,'kyo/bench/EnqueueDequeueBench$$Lambda$104.0x0000000800d7b1d8.apply')
f(7,486,1,2,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1',1,0,0)
f(5,487,1,1,'cats/effect/kernel/SyncRef$$Lambda$102.0x0000000800d7ab48.apply')
f(6,487,1,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,487,1,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,487,1,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$113.0x0000000800d81400.apply')
f(9,487,1,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$12')
f(10,487,1,2,'scala/collection/immutable/Queue.isEmpty',1,0,0)
f(11,487,1,2,'scala/collection/immutable/Queue.out',1,0,0)
f(5,488,1,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$103.0x0000000800d7ae08.apply',1,0,0)
f(6,488,1,2,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2',1,0,0)
f(7,488,1,2,'cats/syntax/AllSyntaxBinCompat.toFlatMapOps',1,0,0)
f(2,489,1,1,'cats/effect/unsafe/ScalQueue.poll')
f(3,489,1,1,'java/util/concurrent/ConcurrentLinkedQueue.poll')
f(4,489,1,1,'java/util/concurrent/ConcurrentLinkedQueue$Node.casItem')
f(5,489,1,1,'java/lang/invoke/VarHandleGuards.guard_LLL_Z')
f(1,490,1,1,'java/lang/Thread.run')
f(2,490,1,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,490,1,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,490,1,1,'java/util/concurrent/FutureTask.run')
f(5,490,1,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,490,1,1,'java/util/concurrent/FutureTask.run')
f(7,490,1,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,490,1,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,490,1,1,'java/lang/reflect/Method.invoke')
f(10,490,1,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,490,1,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,490,1,1,'kyo/bench/jmh_generated/EnqueueDequeueBench_forkCats_jmhTest.forkCats_Throughput')
f(13,490,1,1,'kyo/bench/jmh_generated/EnqueueDequeueBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,490,1,1,'kyo/bench/Bench.forkCats')
f(15,490,1,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,490,1,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,490,1,1,'cats/effect/IO.unsafeRunAsync')
f(18,490,1,1,'cats/effect/IO.unsafeRunFiber')
f(19,490,1,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,490,1,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,490,1,1,'cats/effect/unsafe/WorkStealingThreadPool.notifyParked')
f(22,490,1,1,'java/util/concurrent/locks/LockSupport.unpark')
f(23,490,1,1,'jdk/internal/misc/Unsafe.unpark')
f(24,490,1,3,'pthread_cond_signal')
f(25,490,1,5,'entry_SYSCALL_64_after_hwframe')
f(26,490,1,5,'do_syscall_64')
f(27,490,1,5,'__x64_sys_futex')
f(28,490,1,5,'do_futex')
f(29,490,1,5,'futex_wake')
f(30,490,1,5,'wake_up_q')
f(31,490,1,5,'_raw_spin_unlock_irqrestore')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,35236,3,'all')
f(1,0,34440,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,34440,1,'cats/effect/IOFiber.run')
f(3,0,33771,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,33771,1,'cats/effect/IOFiber.runLoop')
f(5,0,1338,2,'cats.effect.IOFiber$$anon$1')
f(5,1338,11731,1,'cats/effect/IO$$$Lambda$104.0x0000000800d7eb60.apply')
f(6,1338,11731,1,'cats/effect/IO$.deferred$$anonfun$1')
f(7,1338,1835,2,'cats.effect.IODeferred')
f(7,3173,9896,1,'cats/effect/IODeferred.<init>')
f(8,3173,1277,1,'cats/effect/CallbackStack$.apply')
f(9,3173,1277,2,'cats.effect.CallbackStack')
f(8,4450,2108,1,'cats/effect/IO$.asyncCheckAttempt')
f(9,4450,824,2,'cats.effect.IO$$anon$3')
f(9,5274,1284,1,'cats/effect/IO$IOCont$.apply')
f(10,5274,1284,2,'cats.effect.IO$IOCont')
f(8,6558,2661,1,'cats/effect/IO$.defer')
f(9,6558,1349,1,'cats/effect/IO$.delay')
f(10,6558,1349,1,'cats/effect/IO$Delay$.apply')
f(11,6558,1349,2,'cats.effect.IO$Delay')
f(9,7907,1312,1,'cats/effect/IO.flatten')
f(10,7907,1312,1,'cats/effect/IO.flatMap')
f(11,7907,1312,1,'cats/effect/IO$FlatMap$.apply')
f(12,7907,1312,2,'cats.effect.IO$FlatMap')
f(8,9219,998,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,10217,702,2,'java.util.concurrent.atomic.AtomicReference')
f(8,10919,2150,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,10919,2150,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,10919,2150,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,10919,879,2,'cats.effect.IODeferred$$Lambda$106+0x0000000800d7f6b8')
f(11,11798,1271,2,'cats.effect.IODeferred$$Lambda$107+0x0000000800d7fcb0')
f(5,13069,3791,1,'cats/effect/IOFiber.succeeded')
f(6,13069,1232,1,'kyo/bench/EnqueueDequeueBench$$Lambda$103.0x0000000800d7e000.apply')
f(7,13069,1232,1,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1')
f(8,13069,606,1,'cats/effect/IO.flatMap')
f(9,13069,606,1,'cats/effect/IO$FlatMap$.apply')
f(10,13069,606,2,'cats.effect.IO$FlatMap')
f(8,13675,626,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d7d800.linkToTargetMethod')
f(9,13675,626,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7d000.newInvokeSpecial')
f(10,13675,626,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,13675,626,2,'kyo.bench.EnqueueDequeueBench$$Lambda$110+0x0000000800d805d0')
f(6,14301,2559,1,'kyo/bench/EnqueueDequeueBench$$Lambda$110.0x0000000800d805d0.apply')
f(7,14301,2559,1,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1$$anonfun$1')
f(8,14301,2559,1,'kyo/bench/EnqueueDequeueBench.loop$1')
f(9,14301,607,1,'cats/effect/IO.flatMap')
f(10,14301,607,1,'cats/effect/IO$FlatMap$.apply')
f(11,14301,607,2,'cats.effect.IO$FlatMap')
f(9,14908,1268,1,'cats/effect/std/Queue$AbstractQueue.offer')
f(10,14908,633,1,'cats/effect/IO$$anon$2.uncancelable')
f(11,14908,633,1,'cats/effect/IO$$anon$2.uncancelable')
f(12,14908,633,1,'cats/effect/IO$.uncancelable')
f(13,14908,633,1,'cats/effect/IO$Uncancelable$.apply')
f(14,14908,633,2,'cats.effect.IO$Uncancelable')
f(10,15541,635,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,15541,635,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,15541,635,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,15541,635,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$102+0x0000000800d7b8c0')
f(9,16176,684,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d7d800.linkToTargetMethod')
f(10,16176,684,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7d000.newInvokeSpecial')
f(11,16176,684,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,16176,684,2,'kyo.bench.EnqueueDequeueBench$$Lambda$103+0x0000000800d7e000')
f(5,16860,6515,1,'cats/effect/kernel/SyncRef$$Lambda$101.0x0000000800d7b600.apply')
f(6,16860,6515,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,16860,6515,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,16860,3339,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$108.0x0000000800d7dc00.apply')
f(9,16860,3339,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$15')
f(10,16860,376,1,'cats/effect/IO$$anon$2.unit')
f(11,16860,376,1,'cats/Applicative.unit$')
f(12,16860,376,1,'cats/Applicative.unit')
f(13,16860,376,1,'cats/effect/IO$$anon$2.pure')
f(14,16860,376,1,'cats/effect/IO$$anon$2.pure')
f(15,16860,376,1,'cats/effect/IO$.pure')
f(16,16860,376,1,'cats/effect/IO$Pure$.apply')
f(17,16860,376,2,'cats.effect.IO$Pure')
f(10,17236,914,1,'cats/effect/std/Queue$State$.apply')
f(11,17236,914,2,'cats.effect.std.Queue$State')
f(10,18150,745,1,'scala/Predef$ArrowAssoc$.$minus$greater$extension')
f(11,18150,745,2,'scala.Tuple2')
f(10,18895,1304,1,'scala/collection/immutable/Queue.enqueue')
f(11,18895,637,2,'scala.collection.immutable.$colon$colon')
f(11,19532,667,2,'scala.collection.immutable.Queue')
f(8,20199,3176,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$112.0x0000000800d80d70.apply')
f(9,20199,3176,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$12')
f(10,20199,449,1,'cats/effect/IO$$anon$2.pure')
f(11,20199,449,1,'cats/effect/IO$$anon$2.pure')
f(12,20199,449,1,'cats/effect/IO$.pure')
f(13,20199,449,1,'cats/effect/IO$Pure$.apply')
f(14,20199,449,2,'cats.effect.IO$Pure')
f(10,20648,868,1,'cats/effect/std/Queue$State$.apply')
f(11,20648,868,2,'cats.effect.std.Queue$State')
f(10,21516,647,1,'scala/Predef$ArrowAssoc$.$minus$greater$extension')
f(11,21516,647,2,'scala.Tuple2')
f(10,22163,1212,1,'scala/collection/immutable/Queue.dequeue')
f(11,22163,560,2,'scala.collection.immutable.Queue')
f(11,22723,652,1,'scala/collection/immutable/List.reverse')
f(12,22723,652,1,'scala/collection/immutable/List.$colon$colon')
f(13,22723,652,2,'scala.collection.immutable.$colon$colon')
f(5,23375,2416,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$102.0x0000000800d7b8c0.apply')
f(6,23375,2416,1,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2')
f(7,23375,674,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(8,23375,674,1,'cats/FlatMap$Ops.flatMap$')
f(9,23375,674,1,'cats/FlatMap$Ops.flatMap')
f(10,23375,674,1,'cats/effect/IO$$anon$2.flatMap')
f(11,23375,674,1,'cats/effect/IO$$anon$2.flatMap')
f(12,23375,674,1,'cats/effect/IO.flatMap')
f(13,23375,674,1,'cats/effect/IO$FlatMap$.apply')
f(14,23375,674,2,'cats.effect.IO$FlatMap')
f(7,24049,1132,1,'cats/effect/IO$$anon$2.deferred')
f(8,24049,1132,1,'cats/effect/IO$$anon$2.deferred')
f(9,24049,1132,1,'cats/effect/IO$.deferred')
f(10,24049,711,1,'cats/effect/IO$.apply')
f(11,24049,711,1,'cats/effect/IO$.delay')
f(12,24049,711,1,'cats/effect/IO$Delay$.apply')
f(13,24049,711,2,'cats.effect.IO$Delay')
f(10,24760,421,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,24760,421,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,24760,421,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,24760,421,2,'cats.effect.IO$$$Lambda$104+0x0000000800d7eb60')
f(7,25181,610,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,25181,610,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,25181,610,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,25181,610,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$105+0x0000000800d7f080')
f(5,25791,2562,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$105.0x0000000800d7f080.apply')
f(6,25791,2562,1,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2$$anonfun$1')
f(7,25791,1174,1,'cats/effect/kernel/SyncRef.modify')
f(8,25791,571,1,'cats/effect/IO$$anon$2.delay')
f(9,25791,571,1,'cats/effect/IO$$anon$2.delay')
f(10,25791,571,1,'cats/effect/IO$.apply')
f(11,25791,571,1,'cats/effect/IO$.delay')
f(12,25791,571,1,'cats/effect/IO$Delay$.apply')
f(13,25791,571,2,'cats.effect.IO$Delay')
f(8,26362,603,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,26362,603,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,26362,603,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,26362,603,2,'cats.effect.kernel.SyncRef$$Lambda$101+0x0000000800d7b600')
f(7,26965,618,1,'cats/syntax/FlattenOps$.flatten$extension')
f(8,26965,618,1,'cats/effect/IO$$anon$2.flatten')
f(9,26965,618,1,'cats/FlatMap.flatten$')
f(10,26965,618,1,'cats/FlatMap.flatten')
f(11,26965,618,1,'cats/effect/IO$$anon$2.flatMap')
f(12,26965,618,1,'cats/effect/IO$$anon$2.flatMap')
f(13,26965,618,1,'cats/effect/IO.flatMap')
f(14,26965,618,1,'cats/effect/IO$FlatMap$.apply')
f(15,26965,618,2,'cats.effect.IO$FlatMap')
f(7,27583,770,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,27583,770,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d74c00.newInvokeSpecial')
f(9,27583,770,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,27583,770,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$108+0x0000000800d7dc00')
f(5,28353,2904,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$111.0x0000000800d809a0.apply')
f(6,28353,2904,1,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3$$anonfun$1')
f(7,28353,1353,1,'cats/effect/kernel/SyncRef.modify')
f(8,28353,607,1,'cats/effect/IO$$anon$2.delay')
f(9,28353,607,1,'cats/effect/IO$$anon$2.delay')
f(10,28353,607,1,'cats/effect/IO$.apply')
f(11,28353,607,1,'cats/effect/IO$.delay')
f(12,28353,607,1,'cats/effect/IO$Delay$.apply')
f(13,28353,607,2,'cats.effect.IO$Delay')
f(8,28960,746,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,28960,746,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,28960,746,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,28960,746,2,'cats.effect.kernel.SyncRef$$Lambda$101+0x0000000800d7b600')
f(7,29706,613,1,'cats/syntax/FlattenOps$.flatten$extension')
f(8,29706,613,1,'cats/effect/IO$$anon$2.flatten')
f(9,29706,613,1,'cats/FlatMap.flatten$')
f(10,29706,613,1,'cats/FlatMap.flatten')
f(11,29706,613,1,'cats/effect/IO$$anon$2.flatMap')
f(12,29706,613,1,'cats/effect/IO$$anon$2.flatMap')
f(13,29706,613,1,'cats/effect/IO.flatMap')
f(14,29706,613,1,'cats/effect/IO$FlatMap$.apply')
f(15,29706,613,2,'cats.effect.IO$FlatMap')
f(7,30319,938,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d85c00.linkToTargetMethod')
f(8,30319,938,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d85400.newInvokeSpecial')
f(9,30319,938,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,30319,938,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$112+0x0000000800d80d70')
f(5,31257,2514,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$95.0x0000000800d7a030.apply')
f(6,31257,2514,1,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3')
f(7,31257,529,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(8,31257,529,1,'cats/FlatMap$Ops.flatMap$')
f(9,31257,529,1,'cats/FlatMap$Ops.flatMap')
f(10,31257,529,1,'cats/effect/IO$$anon$2.flatMap')
f(11,31257,529,1,'cats/effect/IO$$anon$2.flatMap')
f(12,31257,529,1,'cats/effect/IO.flatMap')
f(13,31257,529,1,'cats/effect/IO$FlatMap$.apply')
f(14,31257,529,2,'cats.effect.IO$FlatMap')
f(7,31786,997,1,'cats/effect/IO$$anon$2.deferred')
f(8,31786,997,1,'cats/effect/IO$$anon$2.deferred')
f(9,31786,997,1,'cats/effect/IO$.deferred')
f(10,31786,648,1,'cats/effect/IO$.apply')
f(11,31786,648,1,'cats/effect/IO$.delay')
f(12,31786,648,1,'cats/effect/IO$Delay$.apply')
f(13,31786,648,2,'cats.effect.IO$Delay')
f(10,32434,349,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,32434,349,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,32434,349,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,32434,349,2,'cats.effect.IO$$$Lambda$104+0x0000000800d7eb60')
f(7,32783,988,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d84c00.linkToTargetMethod')
f(8,32783,988,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d84400.newInvokeSpecial')
f(9,32783,988,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,32783,988,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$111+0x0000000800d809a0')
f(3,33771,669,1,'cats/effect/IOFiber.execR')
f(4,33771,434,1,'cats/effect/ByteStack$.create')
f(5,33771,434,2,'int[]')
f(4,34205,235,1,'cats/effect/IOFiber.runLoop')
f(5,34205,11,2,'cats.effect.IOFiber$$anon$1')
f(5,34216,99,1,'cats/effect/IO$$$Lambda$104.0x0000000800d7eb60.apply')
f(6,34216,99,1,'cats/effect/IO$.deferred$$anonfun$1')
f(7,34216,13,2,'cats.effect.IODeferred')
f(7,34229,86,1,'cats/effect/IODeferred.<init>')
f(8,34229,8,1,'cats/effect/CallbackStack$.apply')
f(9,34229,8,2,'cats.effect.CallbackStack')
f(8,34237,11,1,'cats/effect/IO$.asyncCheckAttempt')
f(9,34237,4,2,'cats.effect.IO$$anon$3')
f(9,34241,7,1,'cats/effect/IO$IOCont$.apply')
f(10,34241,7,2,'cats.effect.IO$IOCont')
f(8,34248,15,1,'cats/effect/IO$.defer')
f(9,34248,7,1,'cats/effect/IO$.delay')
f(10,34248,7,1,'cats/effect/IO$Delay$.apply')
f(11,34248,7,2,'cats.effect.IO$Delay')
f(9,34255,8,1,'cats/effect/IO.flatten')
f(10,34255,8,1,'cats/effect/IO.flatMap')
f(11,34255,8,1,'cats/effect/IO$FlatMap$.apply')
f(12,34255,8,2,'cats.effect.IO$FlatMap')
f(8,34263,6,2,'java.util.concurrent.atomic.AtomicInteger')
f(8,34269,1,2,'java.util.concurrent.atomic.AtomicReference')
f(8,34270,45,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,34270,45,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,34270,45,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,34270,6,2,'cats.effect.IODeferred$$Lambda$106+0x0000000800d7f6b8')
f(11,34276,39,2,'cats.effect.IODeferred$$Lambda$107+0x0000000800d7fcb0')
f(5,34315,26,1,'cats/effect/IOFiber.succeeded')
f(6,34315,12,1,'kyo/bench/EnqueueDequeueBench$$Lambda$103.0x0000000800d7e000.apply')
f(7,34315,12,1,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1')
f(8,34315,5,1,'cats/effect/IO.flatMap')
f(9,34315,5,1,'cats/effect/IO$FlatMap$.apply')
f(10,34315,5,2,'cats.effect.IO$FlatMap')
f(8,34320,7,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d7d800.linkToTargetMethod')
f(9,34320,7,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7d000.newInvokeSpecial')
f(10,34320,7,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,34320,7,2,'kyo.bench.EnqueueDequeueBench$$Lambda$110+0x0000000800d805d0')
f(6,34327,14,1,'kyo/bench/EnqueueDequeueBench$$Lambda$110.0x0000000800d805d0.apply')
f(7,34327,14,1,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1$$anonfun$1')
f(8,34327,14,1,'kyo/bench/EnqueueDequeueBench.loop$1')
f(9,34327,6,1,'cats/effect/IO.flatMap')
f(10,34327,6,1,'cats/effect/IO$FlatMap$.apply')
f(11,34327,6,2,'cats.effect.IO$FlatMap')
f(9,34333,5,1,'cats/effect/std/Queue$AbstractQueue.offer')
f(10,34333,5,1,'cats/effect/IO$$anon$2.uncancelable')
f(11,34333,5,1,'cats/effect/IO$$anon$2.uncancelable')
f(12,34333,5,1,'cats/effect/IO$.uncancelable')
f(13,34333,5,1,'cats/effect/IO$Uncancelable$.apply')
f(14,34333,5,2,'cats.effect.IO$Uncancelable')
f(9,34338,3,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d7d800.linkToTargetMethod')
f(10,34338,3,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7d000.newInvokeSpecial')
f(11,34338,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,34338,3,2,'kyo.bench.EnqueueDequeueBench$$Lambda$103+0x0000000800d7e000')
f(5,34341,42,1,'cats/effect/kernel/SyncRef$$Lambda$101.0x0000000800d7b600.apply')
f(6,34341,42,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,34341,42,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,34341,19,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$108.0x0000000800d7dc00.apply')
f(9,34341,19,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$15')
f(10,34341,6,1,'cats/effect/std/Queue$State$.apply')
f(11,34341,6,2,'cats.effect.std.Queue$State')
f(10,34347,6,1,'scala/Predef$ArrowAssoc$.$minus$greater$extension')
f(11,34347,6,2,'scala.Tuple2')
f(10,34353,7,1,'scala/collection/immutable/Queue.enqueue')
f(11,34353,4,2,'scala.collection.immutable.$colon$colon')
f(11,34357,3,2,'scala.collection.immutable.Queue')
f(8,34360,23,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$112.0x0000000800d80d70.apply')
f(9,34360,23,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$12')
f(10,34360,9,1,'cats/effect/std/Queue$State$.apply')
f(11,34360,9,2,'cats.effect.std.Queue$State')
f(10,34369,7,1,'scala/Predef$ArrowAssoc$.$minus$greater$extension')
f(11,34369,7,2,'scala.Tuple2')
f(10,34376,7,1,'scala/collection/immutable/Queue.dequeue')
f(11,34376,3,2,'scala.collection.immutable.Queue')
f(11,34379,4,1,'scala/collection/immutable/List.reverse')
f(12,34379,4,1,'scala/collection/immutable/List.$colon$colon')
f(13,34379,4,2,'scala.collection.immutable.$colon$colon')
f(5,34383,1,1,'cats/effect/std/Queue$$$Lambda$44.0x0000000800d46870.apply')
f(6,34383,1,1,'cats/effect/std/Queue$.boundedForConcurrent$$anonfun$1')
f(7,34383,1,1,'cats/effect/std/Queue$BoundedQueue.<init>')
f(8,34383,1,1,'cats/effect/std/Queue$AbstractQueue.<init>')
f(9,34383,1,1,'cats/effect/IO$$anon$2.uncancelable')
f(10,34383,1,1,'cats/effect/IO$$anon$2.uncancelable')
f(11,34383,1,1,'cats/effect/IO$.uncancelable')
f(12,34383,1,1,'cats/effect/IO$Uncancelable$.apply')
f(13,34383,1,2,'cats.effect.IO$Uncancelable')
f(5,34384,17,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$102.0x0000000800d7b8c0.apply')
f(6,34384,17,1,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2')
f(7,34384,5,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(8,34384,5,1,'cats/FlatMap$Ops.flatMap$')
f(9,34384,5,1,'cats/FlatMap$Ops.flatMap')
f(10,34384,5,1,'cats/effect/IO$$anon$2.flatMap')
f(11,34384,5,1,'cats/effect/IO$$anon$2.flatMap')
f(12,34384,5,1,'cats/effect/IO.flatMap')
f(13,34384,5,1,'cats/effect/IO$FlatMap$.apply')
f(14,34384,5,2,'cats.effect.IO$FlatMap')
f(7,34389,8,1,'cats/effect/IO$$anon$2.deferred')
f(8,34389,8,1,'cats/effect/IO$$anon$2.deferred')
f(9,34389,8,1,'cats/effect/IO$.deferred')
f(10,34389,6,1,'cats/effect/IO$.apply')
f(11,34389,6,1,'cats/effect/IO$.delay')
f(12,34389,6,1,'cats/effect/IO$Delay$.apply')
f(13,34389,6,2,'cats.effect.IO$Delay')
f(10,34395,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,34395,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,34395,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,34395,2,2,'cats.effect.IO$$$Lambda$104+0x0000000800d7eb60')
f(7,34397,4,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,34397,4,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,34397,4,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,34397,4,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$105+0x0000000800d7f080')
f(5,34401,7,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$105.0x0000000800d7f080.apply')
f(6,34401,7,1,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2$$anonfun$1')
f(7,34401,4,1,'cats/effect/kernel/SyncRef.modify')
f(8,34401,2,1,'cats/effect/IO$$anon$2.delay')
f(9,34401,2,1,'cats/effect/IO$$anon$2.delay')
f(10,34401,2,1,'cats/effect/IO$.apply')
f(11,34401,2,1,'cats/effect/IO$.delay')
f(12,34401,2,1,'cats/effect/IO$Delay$.apply')
f(13,34401,2,2,'cats.effect.IO$Delay')
f(8,34403,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,34403,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,34403,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,34403,2,2,'cats.effect.kernel.SyncRef$$Lambda$101+0x0000000800d7b600')
f(7,34405,1,1,'cats/syntax/FlattenOps$.flatten$extension')
f(8,34405,1,1,'cats/effect/IO$$anon$2.flatten')
f(9,34405,1,1,'cats/FlatMap.flatten$')
f(10,34405,1,1,'cats/FlatMap.flatten')
f(11,34405,1,1,'cats/effect/IO$$anon$2.flatMap')
f(12,34405,1,1,'cats/effect/IO$$anon$2.flatMap')
f(13,34405,1,1,'cats/effect/IO.flatMap')
f(14,34405,1,1,'cats/effect/IO$FlatMap$.apply')
f(15,34405,1,2,'cats.effect.IO$FlatMap')
f(7,34406,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,34406,2,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d74c00.newInvokeSpecial')
f(9,34406,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,34406,2,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$108+0x0000000800d7dc00')
f(5,34408,20,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$111.0x0000000800d809a0.apply')
f(6,34408,20,1,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3$$anonfun$1')
f(7,34408,8,1,'cats/effect/kernel/SyncRef.modify')
f(8,34408,5,1,'cats/effect/IO$$anon$2.delay')
f(9,34408,5,1,'cats/effect/IO$$anon$2.delay')
f(10,34408,5,1,'cats/effect/IO$.apply')
f(11,34408,5,1,'cats/effect/IO$.delay')
f(12,34408,5,1,'cats/effect/IO$Delay$.apply')
f(13,34408,5,2,'cats.effect.IO$Delay')
f(8,34413,3,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,34413,3,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,34413,3,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,34413,3,2,'cats.effect.kernel.SyncRef$$Lambda$101+0x0000000800d7b600')
f(7,34416,4,1,'cats/syntax/FlattenOps$.flatten$extension')
f(8,34416,4,1,'cats/effect/IO$$anon$2.flatten')
f(9,34416,4,1,'cats/FlatMap.flatten$')
f(10,34416,4,1,'cats/FlatMap.flatten')
f(11,34416,4,1,'cats/effect/IO$$anon$2.flatMap')
f(12,34416,4,1,'cats/effect/IO$$anon$2.flatMap')
f(13,34416,4,1,'cats/effect/IO.flatMap')
f(14,34416,4,1,'cats/effect/IO$FlatMap$.apply')
f(15,34416,4,2,'cats.effect.IO$FlatMap')
f(7,34420,8,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d85c00.linkToTargetMethod')
f(8,34420,8,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d85400.newInvokeSpecial')
f(9,34420,8,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,34420,8,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$112+0x0000000800d80d70')
f(5,34428,12,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$95.0x0000000800d7a030.apply')
f(6,34428,12,1,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3')
f(7,34428,1,1,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap')
f(8,34428,1,1,'cats/FlatMap$Ops.flatMap$')
f(9,34428,1,1,'cats/FlatMap$Ops.flatMap')
f(10,34428,1,1,'cats/effect/IO$$anon$2.flatMap')
f(11,34428,1,1,'cats/effect/IO$$anon$2.flatMap')
f(12,34428,1,1,'cats/effect/IO.flatMap')
f(13,34428,1,1,'cats/effect/IO$FlatMap$.apply')
f(14,34428,1,2,'cats.effect.IO$FlatMap')
f(7,34429,4,1,'cats/effect/IO$$anon$2.deferred')
f(8,34429,4,1,'cats/effect/IO$$anon$2.deferred')
f(9,34429,4,1,'cats/effect/IO$.deferred')
f(10,34429,3,1,'cats/effect/IO$.apply')
f(11,34429,3,1,'cats/effect/IO$.delay')
f(12,34429,3,1,'cats/effect/IO$Delay$.apply')
f(13,34429,3,2,'cats.effect.IO$Delay')
f(10,34432,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(11,34432,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(12,34432,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(13,34432,1,2,'cats.effect.IO$$$Lambda$104+0x0000000800d7eb60')
f(7,34433,7,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d84c00.linkToTargetMethod')
f(8,34433,7,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d84400.newInvokeSpecial')
f(9,34433,7,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,34433,7,2,'cats.effect.std.Queue$AbstractQueue$$Lambda$111+0x0000000800d809a0')
f(1,34440,1,2,'java.lang.String')
f(1,34441,771,1,'java/lang/Thread.run')
f(2,34441,771,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,34441,771,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,34441,771,1,'java/util/concurrent/FutureTask.run')
f(5,34441,771,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,34441,771,1,'java/util/concurrent/FutureTask.run')
f(7,34441,771,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,34441,771,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,34441,771,1,'java/lang/reflect/Method.invoke')
f(10,34441,771,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,34441,771,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,34441,771,1,'kyo/bench/jmh_generated/EnqueueDequeueBench_syncCats_jmhTest.syncCats_Throughput')
f(13,34441,770,1,'kyo/bench/jmh_generated/EnqueueDequeueBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,34441,770,1,'kyo/bench/Bench.syncCats')
f(15,34441,607,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,34441,596,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,34441,318,1,'cats/effect/IO.unsafeRunAsync')
f(18,34441,287,1,'cats/effect/IO.unsafeRunFiber')
f(19,34441,32,2,'cats.effect.IOFiber')
f(19,34473,1,5,'cats.effect.IOFiber')
f(19,34474,168,1,'cats/effect/IOFiber.<init>')
f(20,34474,61,1,'cats/effect/ArrayStack$.apply')
f(21,34474,61,2,'cats.effect.ArrayStack')
f(20,34535,33,1,'cats/effect/CallbackStack$.apply')
f(21,34535,33,2,'cats.effect.CallbackStack')
f(20,34568,32,1,'cats/effect/IO$.async')
f(21,34568,11,2,'cats.effect.IO$$anon$4')
f(21,34579,21,1,'cats/effect/IO$IOCont$.apply')
f(22,34579,21,2,'cats.effect.IO$IOCont')
f(20,34600,7,1,'cats/effect/IO$.uncancelable')
f(21,34600,7,1,'cats/effect/IO$Uncancelable$.apply')
f(22,34600,7,2,'cats.effect.IO$Uncancelable')
f(20,34607,35,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,34607,35,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,34607,35,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,34607,8,2,'cats.effect.IOFiber$$Lambda$92+0x0000000800d78200')
f(23,34615,27,2,'cats.effect.IOFiber$$Lambda$93+0x0000000800d787f0')
f(19,34642,17,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,34642,17,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,34642,17,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,34642,17,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,34642,17,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,34659,69,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,34659,69,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d74c00.newInvokeSpecial')
f(21,34659,69,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,34659,69,2,'cats.effect.IO$$Lambda$91+0x0000000800d75558')
f(18,34728,31,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,34728,31,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,34728,31,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,34728,6,2,'cats.effect.IO$$Lambda$88+0x0000000800d76b68')
f(21,34734,16,2,'cats.effect.IO$$Lambda$89+0x0000000800d76e28')
f(21,34750,9,2,'cats.effect.IO$$Lambda$90+0x0000000800d77230')
f(17,34759,20,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,34779,13,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,34779,13,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,34779,13,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,34779,13,2,'cats.effect.IOPlatform$$Lambda$87+0x0000000800d76760')
f(17,34792,163,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,34792,163,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,34792,25,2,'java.lang.Object[]')
f(19,34817,59,2,'java.util.concurrent.locks.ReentrantLock')
f(19,34876,51,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,34876,51,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,34927,28,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,34927,28,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,34927,28,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,34955,2,1,'scala/concurrent/package$.blocking')
f(18,34955,2,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,34955,2,1,'cats/effect/IOPlatform$$Lambda$94.0x0000000800d791d0.apply')
f(20,34955,2,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,34955,2,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,34955,2,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,34955,2,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,34957,80,1,'scala/util/Either.fold')
f(18,34957,80,1,'cats/effect/IOPlatform$$Lambda$117.0x0000000800d827b8.apply')
f(19,34957,80,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,34957,80,1,'scala/Some$.apply')
f(21,34957,80,2,'scala.Some')
f(16,35037,11,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,35037,11,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,35037,11,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,35037,11,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,35037,11,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,35037,11,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,35037,11,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,35037,11,2,'scala.concurrent.duration.FiniteDuration')
f(15,35048,163,1,'kyo/bench/EnqueueDequeueBench.catsBench')
f(16,35048,6,1,'cats/effect/IO.flatMap')
f(17,35048,6,1,'cats/effect/IO$FlatMap$.apply')
f(18,35048,6,2,'cats.effect.IO$FlatMap')
f(16,35054,145,1,'cats/effect/std/Queue$.bounded')
f(17,35054,145,1,'cats/effect/std/Queue$.boundedForConcurrent')
f(18,35054,32,1,'cats/Functor$ToFunctorOps$$anon$4.map')
f(19,35054,32,1,'cats/Functor$Ops.map$')
f(20,35054,32,1,'cats/Functor$Ops.map')
f(21,35054,32,1,'cats/effect/IO$$anon$2.map')
f(22,35054,32,1,'cats/effect/IO$$anon$2.map')
f(23,35054,32,1,'cats/effect/IO.map')
f(24,35054,32,1,'cats/effect/IO$Map$.apply')
f(25,35054,32,2,'cats.effect.IO$Map')
f(18,35086,39,1,'cats/effect/IO$$anon$2.ref')
f(19,35086,39,1,'cats/effect/IO$$anon$2.ref')
f(20,35086,39,1,'cats/effect/IO$.ref')
f(21,35086,37,1,'cats/effect/IO$.apply')
f(22,35086,37,1,'cats/effect/IO$.delay')
f(23,35086,37,1,'cats/effect/IO$Delay$.apply')
f(24,35086,37,2,'cats.effect.IO$Delay')
f(21,35123,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(22,35123,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(23,35123,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(24,35123,2,2,'cats.effect.IO$$$Lambda$42+0x0000000800d45b40')
f(18,35125,72,1,'cats/effect/std/Queue$State$.empty')
f(19,35125,72,1,'cats/effect/std/Queue$State$.apply')
f(20,35125,72,2,'cats.effect.std.Queue$State')
f(18,35197,2,1,'java/lang/invoke/LambdaForm$MH.0x0000000800d48c00.linkToTargetMethod')
f(19,35197,2,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d48400.newInvokeSpecial')
f(20,35197,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,35197,2,2,'cats.effect.std.Queue$$$Lambda$44+0x0000000800d46870')
f(16,35199,12,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(17,35199,12,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(18,35199,12,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(19,35199,12,2,'kyo.bench.EnqueueDequeueBench$$Lambda$45+0x0000000800d46e60')
f(13,35211,1,1,'org/openjdk/jmh/results/ThroughputResult.<init>')
f(14,35211,1,1,'org/openjdk/jmh/results/Result.of')
f(15,35211,1,2,'org.openjdk.jmh.util.SingletonStatistics')
f(1,35212,24,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,35212,24,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,35212,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,35212,24,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,35212,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,35212,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,35212,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,35212,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,35212,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,35212,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,35212,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,35212,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,35212,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,35212,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,35212,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,35212,1,2,'java.lang.Object[]')
f(7,35213,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,35213,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,35213,3,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,35216,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,35216,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,35216,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,35216,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,35216,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,35216,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,35221,15,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,35221,15,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,35221,4,1,'java/lang/ClassLoader.loadClass')
f(10,35221,4,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,35221,4,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,35221,4,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,35221,4,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,35221,3,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,35221,1,1,'java/security/CodeSource.<init>')
f(16,35221,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,35221,1,1,'java/lang/StringBuilder.append')
f(18,35221,1,1,'java/lang/AbstractStringBuilder.append')
f(19,35221,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,35221,1,1,'java/util/Arrays.copyOf')
f(21,35221,1,2,'byte[]')
f(15,35222,1,1,'jdk/internal/loader/Resource.getByteBuffer')
f(16,35222,1,1,'jdk/internal/loader/Resource.cachedInputStream')
f(17,35222,1,1,'jdk/internal/loader/URLClassPath$JarLoader$2.getInputStream')
f(18,35222,1,1,'java/util/jar/JarFile.getInputStream')
f(19,35222,1,1,'java/util/zip/ZipFile.getInputStream')
f(20,35222,1,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(21,35222,1,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(22,35222,1,1,'java/util/zip/InflaterInputStream.<init>')
f(23,35222,1,5,'byte[]')
f(15,35223,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,35223,1,1,'java/util/Arrays.copyOf')
f(17,35223,1,5,'byte[]')
f(14,35224,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,35224,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,35224,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,35224,1,1,'java/net/URL.<init>')
f(18,35224,1,1,'java/net/URL.<init>')
f(19,35224,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,35224,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,35224,1,1,'java/lang/StringBuilder.toString')
f(22,35224,1,1,'java/lang/StringLatin1.newString')
f(23,35224,1,2,'java.lang.String')
f(9,35225,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,35225,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,35225,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,35225,11,1,'java/io/ObjectStreamClass.lookup')
f(13,35225,11,1,'java/io/ObjectStreamClass.<init>')
f(14,35225,11,1,'java/security/AccessController.doPrivileged')
f(15,35225,11,1,'java/security/AccessController.executePrivileged')
f(16,35225,11,1,'java/io/ObjectStreamClass$2.run')
f(17,35225,11,1,'java/io/ObjectStreamClass$2.run')
f(18,35225,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,35225,2,1,'java/lang/Class.getDeclaredMethod')
f(20,35225,1,1,'java/lang/Class.methodToString')
f(21,35225,1,1,'java/lang/StringBuilder.append')
f(22,35225,1,1,'java/lang/AbstractStringBuilder.append')
f(23,35225,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,35225,1,1,'java/util/Arrays.copyOf')
f(25,35225,1,2,'byte[]')
f(20,35226,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,35226,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,35226,1,1,'java/lang/Exception.<init>')
f(23,35226,1,1,'java/lang/Throwable.<init>')
f(24,35226,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,35226,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,35226,1,2,'short[]')
f(18,35227,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,35227,3,1,'java/lang/Class.getDeclaredMethod')
f(20,35227,2,1,'java/lang/Class.methodToString')
f(21,35227,1,1,'java/lang/StringBuilder.append')
f(22,35227,1,1,'java/lang/AbstractStringBuilder.append')
f(23,35227,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,35227,1,1,'java/util/Arrays.copyOf')
f(25,35227,1,2,'byte[]')
f(21,35228,1,1,'java/lang/StringBuilder.toString')
f(22,35228,1,1,'java/lang/StringLatin1.newString')
f(23,35228,1,1,'java/util/Arrays.copyOfRange')
f(24,35228,1,2,'byte[]')
f(20,35229,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,35229,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,35229,1,1,'java/lang/Exception.<init>')
f(23,35229,1,1,'java/lang/Throwable.<init>')
f(24,35229,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,35229,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,35229,1,5,'long[]')
f(18,35230,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,35230,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,35230,1,1,'java/lang/Class.getDeclaredField')
f(21,35230,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,35230,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,35230,1,1,'java/lang/Exception.<init>')
f(24,35230,1,1,'java/lang/Throwable.<init>')
f(25,35230,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,35230,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,35230,1,2,'long[]')
f(18,35231,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,35231,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,35231,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,35231,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,35231,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,35231,1,1,'java/security/AccessController.doPrivileged')
f(24,35231,1,1,'java/security/AccessController.executePrivileged')
f(25,35231,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,35231,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,35231,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,35231,1,1,'java/security/AccessController.doPrivileged')
f(29,35231,1,1,'java/security/AccessController.executePrivileged')
f(30,35231,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,35231,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,35231,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,35231,1,1,'java/lang/ClassLoader.<init>')
f(34,35231,1,1,'java/lang/ClassLoader.<init>')
f(35,35231,1,1,'java/lang/ClassLoader.nameAndId')
f(36,35231,1,1,'java/lang/StringBuilder.<init>')
f(37,35231,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,35231,1,2,'byte[]')
f(23,35232,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,35232,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,35232,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,35232,1,2,'byte[]')
f(23,35233,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,35233,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,35233,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,35233,1,2,'byte[]')
f(23,35234,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,35234,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,35234,1,1,'java/lang/String.replace')
f(26,35234,1,1,'java/lang/StringLatin1.replace')
f(27,35234,1,2,'java.lang.String')
f(23,35235,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,35235,1,5,'byte[]')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 576px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>CPU profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(36);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,492,3,'all')
f(1,0,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(2,0,1,3,'thread_native_entry(Thread*)')
f(3,0,1,4,'Thread::call_run()')
f(4,0,1,4,'VMThread::run()')
f(5,0,1,4,'VMThread::inner_execute(VM_Operation*)')
f(6,0,1,4,'SafepointSynchronize::begin()')
f(7,0,1,4,'SafepointSynchronize::do_cleanup_tasks()')
f(8,0,1,4,'WorkGang::run_task(AbstractGangTask*, unsigned int, bool)')
f(9,0,1,3,'sem_post')
f(10,0,1,5,'entry_SYSCALL_64_after_hwframe')
f(11,0,1,5,'do_syscall_64')
f(12,0,1,5,'__x64_sys_futex')
f(13,0,1,5,'do_futex')
f(14,0,1,5,'futex_wake')
f(15,0,1,5,'wake_up_q')
f(16,0,1,5,'_raw_spin_unlock_irqrestore')
f(1,1,7,3,'[unknown_Java]')
f(2,1,1,1,'cats/FlatMap$$Lambda$109.0x0000000800d80208.apply')
f(2,2,3,6,'cats/effect/IO$Delay.tag',0,3,0)
f(2,5,1,6,'cats/effect/IO$Uncancelable.tag',0,1,0)
f(2,6,1,1,'cats/effect/kernel/SyncRef$$Lambda$101.0x0000000800d7b600.apply')
f(2,7,1,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$111.0x0000000800d809a0.apply')
f(1,8,483,1,'cats/effect/unsafe/WorkerThread.run')
f(2,9,480,1,'cats/effect/IOFiber.run')
f(3,9,478,1,'cats/effect/IOFiber.autoCedeR')
f(4,9,478,1,'cats/effect/IOFiber.runLoop')
f(5,119,8,1,'cats/FlatMap$$Lambda$109.0x0000000800d80208.apply')
f(5,127,7,2,'cats/effect/ByteStack$.push',7,0,0)
f(5,134,9,6,'cats/effect/IO$Delay.tag',0,9,0)
f(5,143,15,6,'cats/effect/IO$FlatMap.tag',0,15,0)
f(5,158,2,6,'cats/effect/IO$Pure.tag',0,2,0)
f(5,160,5,6,'cats/effect/IO$Uncancelable.tag',0,5,0)
f(5,165,2,2,'cats/effect/IOFiber$$anon$1.<init>',2,0,0)
f(5,167,27,2,'cats/effect/IOFiber.rescheduleFiber',27,0,0)
f(6,169,25,2,'cats/effect/unsafe/WorkStealingThreadPool.reschedule',25,0,0)
f(7,177,1,2,'cats/effect/unsafe/WorkerThread.isOwnedBy',1,0,0)
f(7,178,16,2,'cats/effect/unsafe/WorkerThread.reschedule',16,0,0)
f(8,186,8,2,'cats/effect/unsafe/LocalQueue.isEmpty',8,0,0)
f(9,187,7,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.get',7,0,0)
f(10,192,2,2,'java/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl.accessCheck',2,0,0)
f(5,194,1,2,'cats/effect/IOFiber.shouldFinalize',1,0,0)
f(5,195,68,1,'cats/effect/IOFiber.succeeded')
f(6,218,2,2,'cats/effect/ArrayStack.pop',2,0,0)
f(6,220,15,2,'cats/effect/ByteStack$.pop',15,0,0)
f(7,226,9,2,'cats/effect/ByteStack$.peek',9,0,0)
f(6,235,10,3,'itable stub')
f(6,245,9,1,'kyo/bench/EnqueueDequeueBench$$Lambda$103.0x0000000800d7e000.apply')
f(7,250,4,2,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1',4,0,0)
f(8,253,1,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d7d800.linkToTargetMethod',1,0,0)
f(9,253,1,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7d000.newInvokeSpecial',1,0,0)
f(10,253,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(6,254,9,1,'kyo/bench/EnqueueDequeueBench$$Lambda$110.0x0000000800d805d0.apply')
f(7,256,7,2,'kyo/bench/EnqueueDequeueBench.loop$1$$anonfun$1$$anonfun$1',7,0,0)
f(8,256,7,2,'kyo/bench/EnqueueDequeueBench.loop$1',7,0,0)
f(9,256,1,2,'cats/effect/IO.flatMap',1,0,0)
f(10,256,1,2,'cats/effect/IO$FlatMap$.apply',1,0,0)
f(9,257,5,2,'cats/effect/std/Queue$AbstractQueue.offer',5,0,0)
f(10,257,5,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',5,0,0)
f(11,257,5,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',5,0,0)
f(12,257,1,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$102.0x0000000800d7b8c0.<init>',1,0,0)
f(12,258,4,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',4,0,0)
f(9,262,1,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d7d800.linkToTargetMethod',1,0,0)
f(10,262,1,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d7d000.newInvokeSpecial',1,0,0)
f(11,262,1,2,'kyo/bench/EnqueueDequeueBench$$Lambda$103.0x0000000800d7e000.<init>',1,0,0)
f(5,263,92,1,'cats/effect/kernel/SyncRef$$Lambda$101.0x0000000800d7b600.apply')
f(6,267,88,2,'cats/effect/kernel/SyncRef.modify$$anonfun$1',61,0,0)
f(7,267,88,2,'cats/effect/kernel/SyncRef.spin$4',61,0,0)
f(8,275,30,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$108.0x0000000800d7dc00.apply',30,0,0)
f(9,277,28,2,'cats/effect/std/Queue$AbstractQueue.$anonfun$15',28,0,0)
f(10,278,2,2,'cats/effect/std/Queue$State$.apply',2,0,0)
f(10,280,1,2,'cats/effect/std/Queue$State._3',1,0,0)
f(11,280,1,2,'cats/effect/std/Queue$State.takers',1,0,0)
f(10,281,6,2,'scala/Predef$ArrowAssoc$.$minus$greater$extension',6,0,0)
f(10,287,5,2,'scala/collection/AbstractIterable.nonEmpty',5,0,0)
f(11,287,5,2,'scala/collection/IterableOnceOps.nonEmpty$',5,0,0)
f(12,287,5,2,'scala/collection/IterableOnceOps.nonEmpty',5,0,0)
f(13,287,5,2,'scala/collection/immutable/Queue.isEmpty',5,0,0)
f(14,291,1,2,'scala/collection/immutable/Queue.in',1,0,0)
f(10,292,13,2,'scala/collection/immutable/Queue.enqueue',13,0,0)
f(11,292,13,2,'scala/collection/immutable/Queue.<init>',13,0,0)
f(8,305,32,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$112.0x0000000800d80d70.apply',5,0,0)
f(9,310,27,1,'cats/effect/std/Queue$AbstractQueue.$anonfun$12')
f(10,313,1,2,'cats/effect/std/Queue$State._3',1,0,0)
f(11,313,1,2,'cats/effect/std/Queue$State.takers',1,0,0)
f(10,314,9,2,'scala/collection/AbstractIterable.nonEmpty',9,0,0)
f(11,316,7,2,'scala/collection/IterableOnceOps.nonEmpty$',7,0,0)
f(12,316,7,2,'scala/collection/IterableOnceOps.nonEmpty',7,0,0)
f(13,316,7,2,'scala/collection/immutable/Queue.isEmpty',7,0,0)
f(14,318,5,2,'scala/collection/immutable/List.isEmpty',5,0,0)
f(10,323,4,2,'scala/collection/immutable/Queue.dequeue',4,0,0)
f(11,323,2,2,'scala/collection/immutable/List.equals',2,0,0)
f(11,325,2,2,'scala/collection/immutable/List.reverse',2,0,0)
f(12,326,1,2,'scala/collection/immutable/List.$colon$colon',1,0,0)
f(13,326,1,2,'scala/collection/immutable/$colon$colon.<init>',1,0,0)
f(14,326,1,2,'scala/collection/immutable/List.<init>',1,0,0)
f(15,326,1,2,'scala/collection/immutable/AbstractSeq.<init>',1,0,0)
f(16,326,1,2,'scala/collection/AbstractSeq.<init>',1,0,0)
f(17,326,1,2,'scala/collection/AbstractIterable.<init>',1,0,0)
f(18,326,1,2,'java/lang/Object.<init>',1,0,0)
f(10,327,10,2,'scala/collection/immutable/Queue.isEmpty',10,0,0)
f(11,327,10,2,'scala/collection/immutable/Queue.out',10,0,0)
f(8,337,14,2,'java/util/concurrent/atomic/AtomicReference.compareAndSet',14,0,0)
f(9,337,14,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',14,0,0)
f(10,337,14,2,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.compareAndSet',14,0,0)
f(8,351,2,2,'java/util/concurrent/atomic/AtomicReference.get',2,0,0)
f(8,353,2,2,'scala/Tuple2$.apply',2,0,0)
f(5,355,47,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$102.0x0000000800d7b8c0.apply',47,0,0)
f(6,357,45,2,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2',45,0,0)
f(7,359,18,2,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap',18,0,0)
f(8,359,18,2,'cats/FlatMap$Ops.flatMap$',18,0,0)
f(9,360,17,2,'cats/FlatMap$Ops.flatMap',17,0,0)
f(10,366,11,2,'cats/effect/IO$$anon$2.flatMap',11,0,0)
f(11,366,11,2,'cats/effect/IO$$anon$2.flatMap',11,0,0)
f(12,366,11,2,'cats/effect/IO.flatMap',11,0,0)
f(13,366,11,2,'cats/effect/IO$FlatMap$.apply',11,0,0)
f(14,368,9,2,'cats/effect/IO$FlatMap.<init>',9,0,0)
f(7,377,21,2,'cats/effect/IO$$anon$2.deferred',21,0,0)
f(8,379,19,2,'cats/effect/IO$$anon$2.deferred',19,0,0)
f(9,383,15,2,'cats/effect/IO$.deferred',15,0,0)
f(10,384,4,2,'cats/effect/IO$.apply',4,0,0)
f(11,384,4,2,'cats/effect/IO$.delay',4,0,0)
f(12,385,1,2,'cats/effect/IO$Delay$.apply',1,0,0)
f(12,386,2,2,'cats/effect/Thunk$.asFunction0',2,0,0)
f(13,386,2,2,'cats/effect/Thunk$$$Lambda$43.0x0000000800d46008.apply',2,0,0)
f(14,386,2,2,'cats/effect/Thunk$.$init$$$anonfun$1',2,0,0)
f(10,388,10,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',10,0,0)
f(11,388,10,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',10,0,0)
f(12,393,5,2,'cats/effect/IO$$$Lambda$104.0x0000000800d7eb60.<init>',5,0,0)
f(7,398,4,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',4,0,0)
f(8,398,4,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',4,0,0)
f(9,401,1,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$105.0x0000000800d7f080.<init>',1,0,0)
f(5,402,21,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$105.0x0000000800d7f080.apply')
f(6,407,16,2,'cats/effect/std/Queue$AbstractQueue.offer$$anonfun$2$$anonfun$1',16,0,0)
f(7,408,9,2,'cats/effect/kernel/SyncRef.modify',9,0,0)
f(8,410,4,2,'cats/effect/IO$$anon$2.delay',4,0,0)
f(9,410,4,2,'cats/effect/IO$$anon$2.delay',4,0,0)
f(10,410,4,2,'cats/effect/IO$.apply',4,0,0)
f(11,410,4,2,'cats/effect/IO$.delay',4,0,0)
f(12,410,3,2,'cats/effect/IO$Delay$.apply',3,0,0)
f(12,413,1,2,'cats/effect/Thunk$.asFunction0',1,0,0)
f(8,414,3,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',3,0,0)
f(9,414,3,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',3,0,0)
f(10,414,1,2,'cats/effect/kernel/SyncRef$$Lambda$101.0x0000000800d7b600.<init>',1,0,0)
f(10,415,2,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',2,0,0)
f(7,417,6,2,'cats/syntax/FlattenOps$.flatten$extension',6,0,0)
f(8,418,5,2,'cats/effect/IO$$anon$2.flatten',5,0,0)
f(9,418,5,2,'cats/FlatMap.flatten$',5,0,0)
f(10,418,5,2,'cats/FlatMap.flatten',5,0,0)
f(11,418,5,2,'cats/effect/IO$$anon$2.flatMap',5,0,0)
f(12,418,5,2,'cats/effect/IO$$anon$2.flatMap',5,0,0)
f(13,418,5,2,'cats/effect/IO.flatMap',5,0,0)
f(14,418,5,2,'cats/effect/IO$FlatMap$.apply',5,0,0)
f(5,423,16,1,'cats/effect/std/Queue$AbstractQueue$$Lambda$111.0x0000000800d809a0.apply')
f(6,429,10,2,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3$$anonfun$1',10,0,0)
f(7,429,3,2,'cats/effect/kernel/SyncRef.modify',3,0,0)
f(8,429,2,2,'cats/effect/IO$$anon$2.delay',2,0,0)
f(9,429,2,2,'cats/effect/IO$$anon$2.delay',2,0,0)
f(10,429,2,2,'cats/effect/IO$.apply',2,0,0)
f(11,429,2,2,'cats/effect/IO$.delay',2,0,0)
f(12,429,2,2,'cats/effect/Thunk$.asFunction0',2,0,0)
f(8,431,1,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',1,0,0)
f(9,431,1,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',1,0,0)
f(10,431,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(7,432,6,2,'cats/syntax/FlattenOps$.flatten$extension',6,0,0)
f(8,433,5,2,'cats/effect/IO$$anon$2.flatten',5,0,0)
f(9,433,5,2,'cats/FlatMap.flatten$',5,0,0)
f(10,433,5,2,'cats/FlatMap.flatten',5,0,0)
f(11,433,5,2,'cats/effect/IO$$anon$2.flatMap',5,0,0)
f(12,433,5,2,'cats/effect/IO$$anon$2.flatMap',5,0,0)
f(13,433,5,2,'cats/effect/IO.flatMap',5,0,0)
f(14,433,5,2,'cats/effect/IO$FlatMap$.apply',5,0,0)
f(7,438,1,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d85c00.linkToTargetMethod',1,0,0)
f(8,438,1,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d85400.newInvokeSpecial',1,0,0)
f(9,438,1,2,'java/lang/invoke/DirectMethodHandle.allocateInstance',1,0,0)
f(5,439,27,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$95.0x0000000800d7a030.apply',27,0,0)
f(6,439,27,2,'cats/effect/std/Queue$AbstractQueue.$init$$$anonfun$3',27,0,0)
f(7,439,21,2,'cats/FlatMap$ToFlatMapOps$$anon$2.flatMap',21,0,0)
f(8,440,20,2,'cats/FlatMap$Ops.flatMap$',20,0,0)
f(9,442,18,2,'cats/FlatMap$Ops.flatMap',18,0,0)
f(10,444,16,2,'cats/effect/IO$$anon$2.flatMap',16,0,0)
f(11,444,16,2,'cats/effect/IO$$anon$2.flatMap',16,0,0)
f(12,451,9,2,'cats/effect/IO.flatMap',9,0,0)
f(13,455,5,2,'cats/effect/IO$FlatMap$.apply',5,0,0)
f(14,459,1,2,'cats/effect/IO$FlatMap.<init>',1,0,0)
f(15,459,1,2,'cats/effect/IO.<init>',1,0,0)
f(7,460,3,2,'cats/effect/IO$$anon$2.deferred',3,0,0)
f(8,461,2,2,'cats/effect/IO$$anon$2.deferred',2,0,0)
f(9,461,2,2,'cats/effect/IO$.deferred',2,0,0)
f(10,461,2,2,'java/lang/invoke/Invokers$Holder.linkToTargetMethod',2,0,0)
f(11,461,2,2,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial',2,0,0)
f(7,463,1,2,'cats/syntax/AllSyntaxBinCompat.toFlatMapOps',1,0,0)
f(8,463,1,2,'cats/FlatMap$ToFlatMapOps.toFlatMapOps$',1,0,0)
f(9,463,1,2,'cats/FlatMap$ToFlatMapOps.toFlatMapOps',1,0,0)
f(10,463,1,2,'cats/FlatMap$ToFlatMapOps$$anon$2.<init>',1,0,0)
f(7,464,2,2,'java/lang/invoke/LambdaForm$MH.0x0000000800d84c00.linkToTargetMethod',2,0,0)
f(8,464,2,2,'java/lang/invoke/LambdaForm$DMH.0x0000000800d84400.newInvokeSpecial',2,0,0)
f(9,465,1,2,'cats/effect/std/Queue$AbstractQueue$$Lambda$111.0x0000000800d809a0.<init>',1,0,0)
f(5,466,9,3,'itable stub')
f(5,475,12,3,'vtable stub')
f(3,487,2,1,'cats/effect/IOFiber.execR')
f(4,487,2,1,'cats/effect/IOFiber.runLoop')
f(5,488,1,1,'cats/effect/kernel/SyncRef$$Lambda$101.0x0000000800d7b600.apply')
f(6,488,1,2,'cats/effect/kernel/SyncRef.modify$$anonfun$1',1,0,0)
f(7,488,1,2,'cats/effect/kernel/SyncRef.spin$4',1,0,0)
f(8,488,1,2,'java/util/concurrent/atomic/AtomicReference.compareAndSet',1,0,0)
f(9,488,1,2,'java/lang/invoke/VarHandleGuards.guard_LLL_Z',1,0,0)
f(10,488,1,2,'java/lang/invoke/VarHandleReferences$FieldInstanceReadWrite.compareAndSet',1,0,0)
f(2,489,1,1,'cats/effect/unsafe/ScalQueue.poll')
f(3,489,1,1,'java/util/concurrent/ConcurrentLinkedQueue.poll')
f(4,489,1,1,'java/util/concurrent/ConcurrentLinkedQueue.updateHead')
f(5,489,1,1,'java/lang/invoke/VarHandleGuards.guard_LLL_Z')
f(6,489,1,1,'java/lang/invoke/VarForm.getMemberName')
f(2,490,1,1,'cats/effect/unsafe/WorkerThread.park$1')
f(3,490,1,1,'cats/effect/unsafe/WorkerThread.parkLoop$1')
f(4,490,1,1,'java/util/concurrent/locks/LockSupport.park')
f(5,490,1,1,'jdk/internal/misc/Unsafe.park')
f(6,490,1,3,'[unknown]')
f(7,490,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(8,490,1,5,'entry_SYSCALL_64_after_hwframe')
f(9,490,1,5,'do_syscall_64')
f(10,490,1,5,'__x64_sys_futex')
f(11,490,1,5,'do_futex')
f(12,490,1,5,'futex_wait')
f(13,490,1,5,'futex_wait_queue_me')
f(14,490,1,5,'schedule')
f(15,490,1,5,'__schedule')
f(16,490,1,5,'finish_task_switch.isra.0')
f(1,491,1,1,'java/lang/Thread.run')
f(2,491,1,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,491,1,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,491,1,1,'java/util/concurrent/FutureTask.run')
f(5,491,1,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,491,1,1,'java/util/concurrent/FutureTask.run')
f(7,491,1,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,491,1,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,491,1,1,'java/lang/reflect/Method.invoke')
f(10,491,1,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,491,1,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,491,1,1,'kyo/bench/jmh_generated/EnqueueDequeueBench_syncCats_jmhTest.syncCats_Throughput')
f(13,491,1,1,'kyo/bench/jmh_generated/EnqueueDequeueBench_syncCats_jmhTest.syncCats_thrpt_jmhStub')
f(14,491,1,1,'kyo/bench/Bench.syncCats')
f(15,491,1,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,491,1,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,491,1,1,'scala/concurrent/package$.blocking')
f(18,491,1,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,491,1,1,'cats/effect/IOPlatform$$Lambda$94.0x0000000800d78fc8.apply')
f(20,491,1,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,491,1,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,491,1,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,491,1,1,'java/util/concurrent/locks/LockSupport.parkNanos')
f(24,491,1,1,'jdk/internal/misc/Unsafe.park')
f(25,491,1,3,'[unknown]')
f(26,491,1,3,'/usr/lib/x86_64-linux-gnu/libc.so.6')
f(27,491,1,5,'entry_SYSCALL_64_after_hwframe')
f(28,491,1,5,'do_syscall_64')
f(29,491,1,5,'__x64_sys_futex')
f(30,491,1,5,'do_futex')
f(31,491,1,5,'futex_wait')
f(32,491,1,5,'futex_wait_queue_me')
f(33,491,1,5,'schedule')
f(34,491,1,5,'__schedule')
f(35,491,1,5,'finish_task_switch.isra.0')
search();
</script></body></html>
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {overflow: hidden; white-space: nowrap}
#match {overflow: hidden; white-space: nowrap; display: none; float: right; text-align: right}
#reset {cursor: pointer}
#canvas {width: 100%; height: 624px}
</style>
</head>
<body style='font: 12px Verdana, sans-serif'>
<h1>Allocation profile</h1>
<header style='text-align: left'><button id='reverse' title='Reverse'>&#x1f53b;</button>&nbsp;&nbsp;<button id='search' title='Search'>&#x1f50d;</button></header>
<header style='text-align: right'>Produced by <a href='https://github.com/jvm-profiling-tools/async-profiler'>async-profiler</a></header>
<canvas id='canvas'></canvas>
<div id='hl'><span></span></div>
<p id='match'>Matched: <span id='matchval'></span> <span id='reset' title='Clear'>&#x274c;</span></p>
<p id='status'>&nbsp;</p>
<script>
// Copyright 2020 Andrei Pangin
// Licensed under the Apache License, Version 2.0.
'use strict';
var root, rootLevel, px, pattern;
var reverse = false;
const levels = Array(39);
for (let h = 0; h < levels.length; h++) {
levels[h] = [];
}
const canvas = document.getElementById('canvas');
const c = canvas.getContext('2d');
const hl = document.getElementById('hl');
const status = document.getElementById('status');
const canvasWidth = canvas.offsetWidth;
const canvasHeight = canvas.offsetHeight;
canvas.style.width = canvasWidth + 'px';
canvas.width = canvasWidth * (devicePixelRatio || 1);
canvas.height = canvasHeight * (devicePixelRatio || 1);
if (devicePixelRatio) c.scale(devicePixelRatio, devicePixelRatio);
c.font = document.body.style.font;
const palette = [
[0xb2e1b2, 20, 20, 20],
[0x50e150, 30, 30, 30],
[0x50cccc, 30, 30, 30],
[0xe15a5a, 30, 40, 40],
[0xc8c83c, 30, 30, 10],
[0xe17d00, 30, 30, 0],
[0xcce880, 20, 20, 20],
];
function getColor(p) {
const v = Math.random();
return '#' + (p[0] + ((p[1] * v) << 16 | (p[2] * v) << 8 | (p[3] * v))).toString(16);
}
function f(level, left, width, type, title, inln, c1, int) {
levels[level].push({left: left, width: width, color: getColor(palette[type]), title: title,
details: (int ? ', int=' + int : '') + (c1 ? ', c1=' + c1 : '') + (inln ? ', inln=' + inln : '')
});
}
function samples(n) {
return n === 1 ? '1 sample' : n.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',') + ' samples';
}
function pct(a, b) {
return a >= b ? '100' : (100 * a / b).toFixed(2);
}
function findFrame(frames, x) {
let left = 0;
let right = frames.length - 1;
while (left <= right) {
const mid = (left + right) >>> 1;
const f = frames[mid];
if (f.left > x) {
right = mid - 1;
} else if (f.left + f.width <= x) {
left = mid + 1;
} else {
return f;
}
}
if (frames[left] && (frames[left].left - x) * px < 0.5) return frames[left];
if (frames[right] && (x - (frames[right].left + frames[right].width)) * px < 0.5) return frames[right];
return null;
}
function search(r) {
if (r === true && (r = prompt('Enter regexp to search:', '')) === null) {
return;
}
pattern = r ? RegExp(r) : undefined;
const matched = render(root, rootLevel);
document.getElementById('matchval').textContent = pct(matched, root.width) + '%';
document.getElementById('match').style.display = r ? 'inherit' : 'none';
}
function render(newRoot, newLevel) {
if (root) {
c.fillStyle = '#ffffff';
c.fillRect(0, 0, canvasWidth, canvasHeight);
}
root = newRoot || levels[0][0];
rootLevel = newLevel || 0;
px = canvasWidth / root.width;
const x0 = root.left;
const x1 = x0 + root.width;
const marked = [];
function mark(f) {
return marked[f.left] >= f.width || (marked[f.left] = f.width);
}
function totalMarked() {
let total = 0;
let left = 0;
Object.keys(marked).sort(function(a, b) { return a - b; }).forEach(function(x) {
if (+x >= left) {
total += marked[x];
left = +x + marked[x];
}
});
return total;
}
function drawFrame(f, y, alpha) {
if (f.left < x1 && f.left + f.width > x0) {
c.fillStyle = pattern && f.title.match(pattern) && mark(f) ? '#ee00ee' : f.color;
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
if (f.width * px >= 21) {
const chars = Math.floor(f.width * px / 7);
const title = f.title.length <= chars ? f.title : f.title.substring(0, chars - 2) + '..';
c.fillStyle = '#000000';
c.fillText(title, Math.max(f.left - x0, 0) * px + 3, y + 12, f.width * px - 6);
}
if (alpha) {
c.fillStyle = 'rgba(255, 255, 255, 0.5)';
c.fillRect((f.left - x0) * px, y, f.width * px, 15);
}
}
}
for (let h = 0; h < levels.length; h++) {
const y = reverse ? h * 16 : canvasHeight - (h + 1) * 16;
const frames = levels[h];
for (let i = 0; i < frames.length; i++) {
drawFrame(frames[i], y, h < rootLevel);
}
}
return totalMarked();
}
canvas.onmousemove = function() {
const h = Math.floor((reverse ? event.offsetY : (canvasHeight - event.offsetY)) / 16);
if (h >= 0 && h < levels.length) {
const f = findFrame(levels[h], event.offsetX / px + root.left);
if (f) {
if (f != root) getSelection().removeAllRanges();
hl.style.left = (Math.max(f.left - root.left, 0) * px + canvas.offsetLeft) + 'px';
hl.style.width = (Math.min(f.width, root.width) * px) + 'px';
hl.style.top = ((reverse ? h * 16 : canvasHeight - (h + 1) * 16) + canvas.offsetTop) + 'px';
hl.firstChild.textContent = f.title;
hl.style.display = 'block';
canvas.title = f.title + '\n(' + samples(f.width) + f.details + ', ' + pct(f.width, levels[0][0].width) + '%)';
canvas.style.cursor = 'pointer';
canvas.onclick = function() {
if (f != root) {
render(f, h);
canvas.onmousemove();
}
};
status.textContent = 'Function: ' + canvas.title;
return;
}
}
canvas.onmouseout();
}
canvas.onmouseout = function() {
hl.style.display = 'none';
status.textContent = '\xa0';
canvas.title = '';
canvas.style.cursor = '';
canvas.onclick = '';
}
canvas.ondblclick = function() {
getSelection().selectAllChildren(hl);
}
document.getElementById('reverse').onclick = function() {
reverse = !reverse;
render();
}
document.getElementById('search').onclick = function() {
search(true);
}
document.getElementById('reset').onclick = function() {
search(false);
}
window.onkeydown = function() {
if (event.ctrlKey && event.keyCode === 70) {
event.preventDefault();
search(true);
} else if (event.keyCode === 27) {
search(false);
}
}
f(0,0,30237,3,'all')
f(1,0,29080,1,'cats/effect/unsafe/WorkerThread.run')
f(2,0,29080,1,'cats/effect/IOFiber.run')
f(3,0,13290,1,'cats/effect/IOFiber.autoCedeR')
f(4,0,13290,1,'cats/effect/IOFiber.runLoop')
f(5,0,1,2,'cats.effect.IOFiber$$anon$1')
f(5,1,3495,2,'cats.effect.IOFiber')
f(5,3496,1,1,'cats/effect/IO$$anon$3$$Lambda$115.0x0000000800d7cc00.apply')
f(6,3496,1,1,'cats/effect/IO$.cats$effect$IO$$anon$3$$_$apply$$anonfun$1$$anonfun$1$$anonfun$1')
f(7,3496,1,1,'cats/effect/IO$$anon$2.onCancel')
f(8,3496,1,1,'cats/effect/IO$$anon$2.onCancel')
f(9,3496,1,1,'cats/effect/IO.onCancel')
f(10,3496,1,1,'cats/effect/IO$OnCancel$.apply')
f(11,3496,1,2,'cats.effect.IO$OnCancel')
f(5,3497,1,1,'cats/effect/IO$.apply')
f(6,3497,1,1,'cats/effect/IO$.delay')
f(7,3497,1,1,'cats/effect/IO$Delay$.apply')
f(8,3497,1,2,'cats.effect.IO$Delay')
f(5,3498,1,1,'cats/effect/IO$EvalOn$.apply')
f(6,3498,1,2,'cats.effect.IO$EvalOn')
f(5,3499,1,1,'cats/effect/IODeferred$$Lambda$114.0x0000000800d7c6e0.apply')
f(6,3499,1,1,'cats/effect/IODeferred.$anonfun$1$$anonfun$1')
f(7,3499,1,1,'scala/Some$.apply')
f(8,3499,1,2,'scala.Some')
f(5,3500,7570,1,'cats/effect/IOFiber.<init>')
f(6,3500,2009,1,'cats/effect/ArrayStack$.apply')
f(7,3500,2009,2,'cats.effect.ArrayStack')
f(6,5509,1068,1,'cats/effect/CallbackStack$.apply')
f(7,5509,1068,2,'cats.effect.CallbackStack')
f(6,6577,1804,1,'cats/effect/IO$.async')
f(7,6577,627,2,'cats.effect.IO$$anon$4')
f(7,7204,1177,1,'cats/effect/IO$IOCont$.apply')
f(8,7204,1177,2,'cats.effect.IO$IOCont')
f(6,8381,1072,1,'cats/effect/IO$.uncancelable')
f(7,8381,1072,1,'cats/effect/IO$Uncancelable$.apply')
f(8,8381,1072,2,'cats.effect.IO$Uncancelable')
f(6,9453,1617,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(7,9453,1617,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(8,9453,1617,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(9,9453,796,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5b260')
f(9,10249,821,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5b850')
f(5,11070,1,1,'cats/effect/IOFiber.rescheduleFiber')
f(6,11070,1,1,'cats/effect/unsafe/WorkStealingThreadPool.reschedule')
f(7,11070,1,1,'cats/effect/unsafe/WorkerThread.reschedule')
f(8,11070,1,1,'cats/effect/unsafe/WorkerThread.schedule')
f(9,11070,1,1,'cats/effect/unsafe/LocalQueue.enqueue')
f(10,11070,1,1,'cats/effect/unsafe/ScalQueue.offerAll')
f(11,11070,1,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(12,11070,1,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(5,11071,6,1,'cats/effect/IOFiber.scheduleFiber')
f(6,11071,6,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(7,11071,6,1,'cats/effect/unsafe/WorkerThread.schedule')
f(8,11071,6,1,'cats/effect/unsafe/LocalQueue.enqueue')
f(9,11071,1,1,'cats/effect/unsafe/ScalQueue.offerAll')
f(10,11071,1,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(11,11071,1,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(9,11072,5,2,'java.lang.Runnable[]')
f(5,11077,2213,1,'cats/effect/IOFiber.succeeded')
f(6,11077,2213,1,'kyo/bench/ForkManyBench$$Lambda$102.0x0000000800d60b78.apply')
f(7,11077,2213,1,'kyo/bench/ForkManyBench.repeat$1$$anonfun$1')
f(8,11077,2213,1,'kyo/bench/ForkManyBench.repeat$1')
f(9,11077,1114,1,'cats/effect/IO.flatMap')
f(10,11077,1114,1,'cats/effect/IO$FlatMap$.apply')
f(11,11077,1114,2,'cats.effect.IO$FlatMap')
f(9,12191,1099,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,12191,1099,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d64400.newInvokeSpecial')
f(11,12191,1099,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,12191,1099,2,'kyo.bench.ForkManyBench$$Lambda$102+0x0000000800d60b78')
f(3,13290,630,1,'cats/effect/IOFiber.cedeR')
f(4,13290,630,1,'cats/effect/IOFiber.runLoop')
f(5,13290,176,2,'cats.effect.IOFiber')
f(5,13466,343,1,'cats/effect/IOFiber.<init>')
f(6,13466,102,1,'cats/effect/ArrayStack$.apply')
f(7,13466,102,2,'cats.effect.ArrayStack')
f(6,13568,33,1,'cats/effect/CallbackStack$.apply')
f(7,13568,33,2,'cats.effect.CallbackStack')
f(6,13601,109,1,'cats/effect/IO$.async')
f(7,13601,43,2,'cats.effect.IO$$anon$4')
f(7,13644,66,1,'cats/effect/IO$IOCont$.apply')
f(8,13644,66,2,'cats.effect.IO$IOCont')
f(6,13710,40,1,'cats/effect/IO$.uncancelable')
f(7,13710,40,1,'cats/effect/IO$Uncancelable$.apply')
f(8,13710,40,2,'cats.effect.IO$Uncancelable')
f(6,13750,59,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(7,13750,59,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(8,13750,59,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(9,13750,31,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5b260')
f(9,13781,28,2,'cats.effect.IOFiber$$Lambda$90+0x0000000800d5b850')
f(5,13809,1,1,'cats/effect/IOFiber.scheduleFiber')
f(6,13809,1,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(7,13809,1,1,'cats/effect/unsafe/WorkerThread.schedule')
f(8,13809,1,1,'cats/effect/unsafe/LocalQueue.enqueue')
f(9,13809,1,2,'java.lang.Runnable[]')
f(5,13810,107,1,'cats/effect/IOFiber.succeeded')
f(6,13810,107,1,'kyo/bench/ForkManyBench$$Lambda$102.0x0000000800d60b78.apply')
f(7,13810,107,1,'kyo/bench/ForkManyBench.repeat$1$$anonfun$1')
f(8,13810,107,1,'kyo/bench/ForkManyBench.repeat$1')
f(9,13810,57,1,'cats/effect/IO.flatMap')
f(10,13810,57,1,'cats/effect/IO$FlatMap$.apply')
f(11,13810,57,2,'cats.effect.IO$FlatMap')
f(9,13867,50,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(10,13867,50,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d64400.newInvokeSpecial')
f(11,13867,50,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(12,13867,50,2,'kyo.bench.ForkManyBench$$Lambda$102+0x0000000800d60b78')
f(5,13917,3,1,'kyo/bench/ForkManyBench$$Lambda$94.0x0000000800d5fa18.apply')
f(6,13917,3,1,'kyo/bench/ForkManyBench.catsBench$$anonfun$1')
f(7,13917,1,1,'cats/effect/IO$.ref')
f(8,13917,1,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(9,13917,1,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(10,13917,1,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(11,13917,1,2,'cats.effect.IO$$$Lambda$97+0x0000000800d5db20')
f(7,13918,2,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(8,13918,2,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(9,13918,2,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(10,13918,1,2,'kyo.bench.ForkManyBench$$Lambda$98+0x0000000800d5c800')
f(10,13919,1,2,'kyo.bench.ForkManyBench$$Lambda$99+0x0000000800d5cbd0')
f(3,13920,15160,1,'cats/effect/IOFiber.execR')
f(4,13920,7439,1,'cats/effect/ArrayStack.init')
f(5,13920,7439,2,'java.lang.Object[]')
f(4,21359,1766,1,'cats/effect/ByteStack$.create')
f(5,21359,1766,2,'int[]')
f(4,23125,5955,1,'cats/effect/IOFiber.runLoop')
f(5,23125,1868,1,'cats/effect/IOFiber.succeeded')
f(6,23125,1868,1,'cats/effect/IOFiber.runTerminusSuccessK')
f(7,23125,496,1,'cats/effect/IO$.pure')
f(8,23125,496,1,'cats/effect/IO$Pure$.apply')
f(9,23125,496,2,'cats.effect.IO$Pure')
f(7,23621,742,1,'cats/effect/IOFiber.done')
f(8,23621,742,1,'cats/effect/IO$.pure')
f(9,23621,742,1,'cats/effect/IO$Pure$.apply')
f(10,23621,742,2,'cats.effect.IO$Pure')
f(7,24363,630,1,'cats/effect/kernel/Outcome$Succeeded$.apply')
f(8,24363,630,2,'cats.effect.kernel.Outcome$Succeeded')
f(5,24993,4087,1,'cats/effect/kernel/SyncRef$$Lambda$101.0x0000000800d60698.apply')
f(6,24993,4087,1,'cats/effect/kernel/SyncRef.modify$$anonfun$1')
f(7,24993,4087,1,'cats/effect/kernel/SyncRef.spin$4')
f(8,24993,4087,1,'kyo/bench/ForkManyBench$$Lambda$100.0x0000000800d602c8.apply')
f(9,24993,4087,1,'kyo/bench/ForkManyBench.$anonfun$adapted$1')
f(10,24993,4087,1,'kyo/bench/ForkManyBench.$anonfun$1')
f(11,24993,2368,1,'scala/Tuple2$.apply')
f(12,24993,2368,2,'scala.Tuple2')
f(11,27361,1719,1,'scala/runtime/BoxesRunTime.boxToInteger')
f(12,27361,1719,1,'java/lang/Integer.valueOf')
f(13,27361,1719,2,'java.lang.Integer')
f(1,29080,1,2,'java.lang.String')
f(1,29081,1132,1,'java/lang/Thread.run')
f(2,29081,1132,1,'java/util/concurrent/ThreadPoolExecutor$Worker.run')
f(3,29081,1132,1,'java/util/concurrent/ThreadPoolExecutor.runWorker')
f(4,29081,1132,1,'java/util/concurrent/FutureTask.run')
f(5,29081,1132,1,'java/util/concurrent/Executors$RunnableAdapter.call')
f(6,29081,1132,1,'java/util/concurrent/FutureTask.run')
f(7,29081,1132,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(8,29081,1132,1,'org/openjdk/jmh/runner/BenchmarkHandler$BenchmarkTask.call')
f(9,29081,1132,1,'java/lang/reflect/Method.invoke')
f(10,29081,1132,1,'jdk/internal/reflect/DelegatingMethodAccessorImpl.invoke')
f(11,29081,1132,1,'jdk/internal/reflect/GeneratedMethodAccessor1.invoke')
f(12,29081,1132,1,'kyo/bench/jmh_generated/ForkManyBench_forkCats_jmhTest.forkCats_Throughput')
f(13,29081,1131,1,'kyo/bench/jmh_generated/ForkManyBench_forkCats_jmhTest.forkCats_thrpt_jmhStub')
f(14,29081,1131,1,'kyo/bench/Bench.forkCats')
f(15,29081,30,1,'cats/effect/IO.flatMap')
f(16,29081,30,1,'cats/effect/IO$FlatMap$.apply')
f(17,29081,30,2,'cats.effect.IO$FlatMap')
f(15,29111,1032,1,'cats/effect/IOPlatform.unsafeRunSync')
f(16,29111,982,1,'cats/effect/IOPlatform.unsafeRunTimed')
f(17,29111,589,1,'cats/effect/IO.unsafeRunAsync')
f(18,29111,476,1,'cats/effect/IO.unsafeRunFiber')
f(19,29111,97,2,'cats.effect.IOFiber')
f(19,29208,8,5,'cats.effect.IOFiber')
f(19,29216,299,1,'cats/effect/IOFiber.<init>')
f(20,29216,91,1,'cats/effect/ArrayStack$.apply')
f(21,29216,91,2,'cats.effect.ArrayStack')
f(20,29307,16,1,'cats/effect/CallbackStack$.apply')
f(21,29307,16,2,'cats.effect.CallbackStack')
f(20,29323,82,1,'cats/effect/IO$.async')
f(21,29323,34,2,'cats.effect.IO$$anon$4')
f(21,29357,48,1,'cats/effect/IO$IOCont$.apply')
f(22,29357,48,2,'cats.effect.IO$IOCont')
f(20,29405,96,1,'cats/effect/IO$.uncancelable')
f(21,29405,96,1,'cats/effect/IO$Uncancelable$.apply')
f(22,29405,96,2,'cats.effect.IO$Uncancelable')
f(20,29501,14,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(21,29501,14,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(22,29501,14,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(23,29501,14,2,'cats.effect.IOFiber$$Lambda$89+0x0000000800d5b260')
f(19,29515,30,1,'cats/effect/unsafe/WorkStealingThreadPool.execute')
f(20,29515,30,1,'cats/effect/unsafe/WorkStealingThreadPool.scheduleExternal')
f(21,29515,30,1,'cats/effect/unsafe/ScalQueue.offer')
f(22,29515,30,1,'java/util/concurrent/ConcurrentLinkedQueue.offer')
f(23,29515,30,2,'java.util.concurrent.ConcurrentLinkedQueue$Node')
f(19,29545,42,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(20,29545,42,1,'java/lang/invoke/LambdaForm$DMH.0x0000000800d5c400.newInvokeSpecial')
f(21,29545,42,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(22,29545,42,2,'cats.effect.IO$$Lambda$88+0x0000000800d5a428')
f(18,29587,113,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(19,29587,113,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(20,29587,113,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(21,29587,5,2,'cats.effect.IO$$Lambda$85+0x0000000800d58d78')
f(21,29592,59,2,'cats.effect.IO$$Lambda$86+0x0000000800d59038')
f(21,29651,49,2,'cats.effect.IO$$Lambda$87+0x0000000800d59440')
f(17,29700,34,2,'java.util.concurrent.ArrayBlockingQueue')
f(17,29734,38,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(18,29734,38,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(19,29734,38,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(20,29734,38,2,'cats.effect.IOPlatform$$Lambda$84+0x0000000800d58970')
f(17,29772,233,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(18,29772,233,1,'java/util/concurrent/ArrayBlockingQueue.<init>')
f(19,29772,74,2,'java.lang.Object[]')
f(19,29846,65,2,'java.util.concurrent.locks.ReentrantLock')
f(19,29911,39,1,'java/util/concurrent/locks/ReentrantLock.<init>')
f(20,29911,39,2,'java.util.concurrent.locks.ReentrantLock$NonfairSync')
f(19,29950,55,1,'java/util/concurrent/locks/ReentrantLock.newCondition')
f(20,29950,55,1,'java/util/concurrent/locks/ReentrantLock$Sync.newCondition')
f(21,29950,55,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject')
f(17,30005,35,1,'scala/concurrent/package$.blocking')
f(18,30005,35,1,'scala/concurrent/BlockContext$DefaultBlockContext$.blockOn')
f(19,30005,35,1,'cats/effect/IOPlatform$$Lambda$91.0x0000000800d5e200.apply')
f(20,30005,35,1,'cats/effect/IOPlatform.$anonfun$1')
f(21,30005,35,1,'java/util/concurrent/ArrayBlockingQueue.poll')
f(22,30005,35,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject.awaitNanos')
f(23,30005,35,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode')
f(17,30040,53,1,'scala/util/Either.fold')
f(18,30040,53,1,'cats/effect/IOPlatform$$Lambda$110.0x0000000800d63018.apply')
f(19,30040,53,1,'cats/effect/IOPlatform.unsafeRunTimed$$anonfun$3')
f(20,30040,53,1,'scala/Some$.apply')
f(21,30040,53,2,'scala.Some')
f(16,30093,50,1,'scala/concurrent/duration/package$DurationLong.nanos')
f(17,30093,50,1,'scala/concurrent/duration/DurationConversions.nanos$')
f(18,30093,50,1,'scala/concurrent/duration/DurationConversions.nanos')
f(19,30093,50,1,'scala/concurrent/duration/package$DurationLong.nanoseconds')
f(20,30093,50,1,'scala/concurrent/duration/DurationConversions.nanoseconds$')
f(21,30093,50,1,'scala/concurrent/duration/DurationConversions.nanoseconds')
f(22,30093,50,1,'scala/concurrent/duration/package$DurationLong.durationIn')
f(23,30093,50,2,'scala.concurrent.duration.FiniteDuration')
f(15,30143,69,1,'java/lang/invoke/Invokers$Holder.linkToTargetMethod')
f(16,30143,69,1,'java/lang/invoke/DirectMethodHandle$Holder.newInvokeSpecial')
f(17,30143,69,1,'java/lang/invoke/DirectMethodHandle.allocateInstance')
f(18,30143,69,2,'kyo.bench.Bench$$Lambda$40+0x0000000800d13718')
f(13,30212,1,2,'org.openjdk.jmh.results.RawResults')
f(1,30213,24,1,'org/openjdk/jmh/runner/ForkedMain.main')
f(2,30213,24,1,'org/openjdk/jmh/runner/ForkedRunner.run')
f(3,30213,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmarksForked')
f(4,30213,24,1,'org/openjdk/jmh/runner/BaseRunner.doSingle')
f(5,30213,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(6,30213,24,1,'org/openjdk/jmh/runner/BaseRunner.runBenchmark')
f(7,30213,1,1,'jdk/proxy1/$Proxy0.iteration')
f(8,30213,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient$$Lambda$8.0x0000000800c01c70.invoke')
f(9,30213,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.lambda$new$0')
f(10,30213,1,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(11,30213,1,1,'java/io/ObjectOutputStream.writeObject')
f(12,30213,1,1,'java/io/ObjectOutputStream.writeObject0')
f(13,30213,1,1,'java/io/ObjectOutputStream.writeOrdinaryObject')
f(14,30213,1,1,'java/io/ObjectOutputStream.writeSerialData')
f(15,30213,1,1,'java/io/ObjectOutputStream.defaultWriteFields')
f(16,30213,1,2,'java.lang.Object[]')
f(7,30214,8,1,'org/openjdk/jmh/runner/BenchmarkHandler.runIteration')
f(8,30214,3,1,'java/util/concurrent/ExecutorCompletionService.<init>')
f(9,30214,3,2,'java.util.concurrent.LinkedBlockingQueue')
f(8,30217,5,1,'org/openjdk/jmh/runner/InfraControl.awaitWarmdownReady')
f(9,30217,5,1,'org/openjdk/jmh/runner/InfraControlL2.awaitWarmdownReady')
f(10,30217,5,1,'java/util/concurrent/CountDownLatch.await')
f(11,30217,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquireSharedInterruptibly')
f(12,30217,5,1,'java/util/concurrent/locks/AbstractQueuedSynchronizer.acquire')
f(13,30217,5,2,'java.util.concurrent.locks.AbstractQueuedSynchronizer$SharedNode')
f(7,30222,15,1,'org/openjdk/jmh/runner/ForkedRunner$1.accept')
f(8,30222,15,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushResults')
f(9,30222,4,1,'java/lang/ClassLoader.loadClass')
f(10,30222,4,1,'jdk/internal/loader/ClassLoaders$AppClassLoader.loadClass')
f(11,30222,4,1,'jdk/internal/loader/BuiltinClassLoader.loadClass')
f(12,30222,4,1,'jdk/internal/loader/BuiltinClassLoader.loadClassOrNull')
f(13,30222,4,1,'jdk/internal/loader/BuiltinClassLoader.findClassOnClassPathOrNull')
f(14,30222,3,1,'jdk/internal/loader/BuiltinClassLoader.defineClass')
f(15,30222,1,1,'java/security/CodeSource.<init>')
f(16,30222,1,1,'sun/net/util/URLUtil.urlNoFragString')
f(17,30222,1,1,'java/lang/StringBuilder.append')
f(18,30222,1,1,'java/lang/AbstractStringBuilder.append')
f(19,30222,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(20,30222,1,1,'java/util/Arrays.copyOf')
f(21,30222,1,2,'byte[]')
f(15,30223,1,1,'jdk/internal/loader/Resource.getByteBuffer')
f(16,30223,1,1,'jdk/internal/loader/Resource.cachedInputStream')
f(17,30223,1,1,'jdk/internal/loader/URLClassPath$JarLoader$2.getInputStream')
f(18,30223,1,1,'java/util/jar/JarFile.getInputStream')
f(19,30223,1,1,'java/util/zip/ZipFile.getInputStream')
f(20,30223,1,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(21,30223,1,1,'java/util/zip/ZipFile$ZipFileInflaterInputStream.<init>')
f(22,30223,1,1,'java/util/zip/InflaterInputStream.<init>')
f(23,30223,1,5,'byte[]')
f(15,30224,1,1,'jdk/internal/loader/Resource.getBytes')
f(16,30224,1,1,'java/util/Arrays.copyOf')
f(17,30224,1,5,'byte[]')
f(14,30225,1,1,'jdk/internal/loader/URLClassPath.getResource')
f(15,30225,1,1,'jdk/internal/loader/URLClassPath$JarLoader.getResource')
f(16,30225,1,1,'jdk/internal/loader/URLClassPath$JarLoader.checkResource')
f(17,30225,1,1,'java/net/URL.<init>')
f(18,30225,1,1,'java/net/URL.<init>')
f(19,30225,1,1,'sun/net/www/protocol/jar/Handler.parseURL')
f(20,30225,1,1,'sun/net/www/protocol/jar/Handler.parseContextSpec')
f(21,30225,1,1,'java/lang/StringBuilder.toString')
f(22,30225,1,1,'java/lang/StringLatin1.newString')
f(23,30225,1,2,'java.lang.String')
f(9,30226,11,1,'org/openjdk/jmh/runner/link/BinaryLinkClient.pushFrame')
f(10,30226,11,1,'java/io/ObjectOutputStream.writeObject')
f(11,30226,11,1,'java/io/ObjectOutputStream.writeObject0')
f(12,30226,11,1,'java/io/ObjectStreamClass.lookup')
f(13,30226,11,1,'java/io/ObjectStreamClass.<init>')
f(14,30226,11,1,'java/security/AccessController.doPrivileged')
f(15,30226,11,1,'java/security/AccessController.executePrivileged')
f(16,30226,11,1,'java/io/ObjectStreamClass$2.run')
f(17,30226,11,1,'java/io/ObjectStreamClass$2.run')
f(18,30226,2,1,'java/io/ObjectStreamClass.getInheritableMethod')
f(19,30226,2,1,'java/lang/Class.getDeclaredMethod')
f(20,30226,1,1,'java/lang/Class.methodToString')
f(21,30226,1,1,'java/lang/StringBuilder.append')
f(22,30226,1,1,'java/lang/AbstractStringBuilder.append')
f(23,30226,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,30226,1,1,'java/util/Arrays.copyOf')
f(25,30226,1,2,'byte[]')
f(20,30227,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,30227,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,30227,1,1,'java/lang/Exception.<init>')
f(23,30227,1,1,'java/lang/Throwable.<init>')
f(24,30227,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,30227,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,30227,1,2,'short[]')
f(18,30228,3,1,'java/io/ObjectStreamClass.getPrivateMethod')
f(19,30228,3,1,'java/lang/Class.getDeclaredMethod')
f(20,30228,2,1,'java/lang/Class.methodToString')
f(21,30228,1,1,'java/lang/StringBuilder.append')
f(22,30228,1,1,'java/lang/AbstractStringBuilder.append')
f(23,30228,1,1,'java/lang/AbstractStringBuilder.ensureCapacityInternal')
f(24,30228,1,1,'java/util/Arrays.copyOf')
f(25,30228,1,2,'byte[]')
f(21,30229,1,1,'java/lang/StringBuilder.toString')
f(22,30229,1,1,'java/lang/StringLatin1.newString')
f(23,30229,1,1,'java/util/Arrays.copyOfRange')
f(24,30229,1,2,'byte[]')
f(20,30230,1,1,'java/lang/NoSuchMethodException.<init>')
f(21,30230,1,1,'java/lang/ReflectiveOperationException.<init>')
f(22,30230,1,1,'java/lang/Exception.<init>')
f(23,30230,1,1,'java/lang/Throwable.<init>')
f(24,30230,1,1,'java/lang/Throwable.fillInStackTrace')
f(25,30230,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,30230,1,5,'long[]')
f(18,30231,1,1,'java/io/ObjectStreamClass.getSerialFields')
f(19,30231,1,1,'java/io/ObjectStreamClass.getDeclaredSerialFields')
f(20,30231,1,1,'java/lang/Class.getDeclaredField')
f(21,30231,1,1,'java/lang/NoSuchFieldException.<init>')
f(22,30231,1,1,'java/lang/ReflectiveOperationException.<init>')
f(23,30231,1,1,'java/lang/Exception.<init>')
f(24,30231,1,1,'java/lang/Throwable.<init>')
f(25,30231,1,1,'java/lang/Throwable.fillInStackTrace')
f(26,30231,1,1,'java/lang/Throwable.fillInStackTrace')
f(27,30231,1,2,'long[]')
f(18,30232,5,1,'java/io/ObjectStreamClass.getSerializableConstructor')
f(19,30232,5,1,'jdk/internal/reflect/ReflectionFactory.newConstructorForSerialization')
f(20,30232,5,1,'jdk/internal/reflect/ReflectionFactory.generateConstructor')
f(21,30232,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generateSerializationConstructor')
f(22,30232,5,1,'jdk/internal/reflect/MethodAccessorGenerator.generate')
f(23,30232,1,1,'java/security/AccessController.doPrivileged')
f(24,30232,1,1,'java/security/AccessController.executePrivileged')
f(25,30232,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(26,30232,1,1,'jdk/internal/reflect/MethodAccessorGenerator$1.run')
f(27,30232,1,1,'jdk/internal/reflect/ClassDefiner.defineClass')
f(28,30232,1,1,'java/security/AccessController.doPrivileged')
f(29,30232,1,1,'java/security/AccessController.executePrivileged')
f(30,30232,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(31,30232,1,1,'jdk/internal/reflect/ClassDefiner$1.run')
f(32,30232,1,1,'jdk/internal/reflect/DelegatingClassLoader.<init>')
f(33,30232,1,1,'java/lang/ClassLoader.<init>')
f(34,30232,1,1,'java/lang/ClassLoader.<init>')
f(35,30232,1,1,'java/lang/ClassLoader.nameAndId')
f(36,30232,1,1,'java/lang/StringBuilder.<init>')
f(37,30232,1,1,'java/lang/AbstractStringBuilder.<init>')
f(38,30232,1,2,'byte[]')
f(23,30233,1,1,'jdk/internal/reflect/AccessorGenerator.emitBoxingContantPoolEntries')
f(24,30233,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,30233,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,30233,1,2,'byte[]')
f(23,30234,1,1,'jdk/internal/reflect/AccessorGenerator.emitCommonConstantPoolEntries')
f(24,30234,1,1,'jdk/internal/reflect/ClassFileAssembler.emitConstantPoolUTF8')
f(25,30234,1,1,'jdk/internal/reflect/UTF8.encode')
f(26,30234,1,2,'byte[]')
f(23,30235,1,1,'jdk/internal/reflect/AccessorGenerator.getClassName')
f(24,30235,1,1,'jdk/internal/reflect/AccessorGenerator.internalize')
f(25,30235,1,1,'java/lang/String.replace')
f(26,30235,1,1,'java/lang/StringLatin1.replace')
f(27,30235,1,2,'java.lang.String')
f(23,30236,1,1,'jdk/internal/reflect/ByteVectorImpl.trim')
f(24,30236,1,5,'byte[]')
search();
</script></body></html>
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<style>
body {margin: 0; padding: 10px; background-color: #ffffff}
h1 {margin: 5px 0 0 0; font-size: 18px; font-weight: normal; text-align: center}
header {margin: -24px 0 5px 0; line-height: 24px}
button {font: 12px sans-serif; cursor: pointer}
p {margin: 5px 0 5px 0}
a {color: #0366d6}
#hl {position: absolute; display: none; overflow: hidden; white-space: nowrap; pointer-events: none; background-color: #ffffe0; outline: 1px solid #ffc000; height: 15px}
#hl span {padding: 0 3px 0 3px}
#status {o
View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment