Skip to content

Using forEach to avoid Iterator allocation#10830

Open
dougqh wants to merge 4 commits intomasterfrom
dougqh/coretracer-preprocessing
Open

Using forEach to avoid Iterator allocation#10830
dougqh wants to merge 4 commits intomasterfrom
dougqh/coretracer-preprocessing

Conversation

@dougqh
Copy link
Contributor

@dougqh dougqh commented Mar 12, 2026

What Does This Do

Use forEach in CoreTracer.write to avoid ArrayList$Itr allocation

Motivation

In span creation stress test: 16 threads x 10,000,000 traces x 2 spans, saves 5 GiB of allocation

Additional Notes

Contributor Checklist

Jira ticket: [PROJ-IDENT]

Note: Once your PR is ready to merge, add it to the merge queue by commenting /merge. /merge -c cancels the queue request. /merge -f --reason "reason" skips all merge queue checks; please use this judiciously, as some checks do not run at the PR-level. For more information, see this doc.

@dougqh dougqh requested a review from a team as a code owner March 12, 2026 20:08
@dougqh dougqh added type: enhancement Enhancements and improvements comp: core Tracer core labels Mar 12, 2026
@dougqh dougqh requested a review from mhlidd March 12, 2026 20:08
@dougqh dougqh added the tag: performance Performance related changes label Mar 12, 2026
@pr-commenter
Copy link

pr-commenter bot commented Mar 12, 2026

Benchmarks

⚠️ Warning: Baseline build not found for merge-base commit. Comparing against the latest commit on master instead.

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/coretracer-preprocessing
git_commit_date 1773436250 1773662030
git_commit_sha 8185dcf 3bee6c3
release_version 1.61.0-SNAPSHOT~8185dcf699 1.61.0-SNAPSHOT~3bee6c3843
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1773663702 1773663702
ci_job_id 1508018545 1508018545
ci_pipeline_id 102632058 102632058
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-7j5bn9pq 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-7j5bn9pq 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
module Agent Agent
parent None None

Summary

Found 0 performance improvements and 0 performance regressions! Performance is the same for 65 metrics, 6 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.61.0-SNAPSHOT~3bee6c3843, baseline=1.61.0-SNAPSHOT~8185dcf699

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.069 s) : 0, 1068922
Total [baseline] (8.892 s) : 0, 8891929
Agent [candidate] (1.065 s) : 0, 1065187
Total [candidate] (8.855 s) : 0, 8855206
section iast
Agent [baseline] (1.225 s) : 0, 1225056
Total [baseline] (9.586 s) : 0, 9586439
Agent [candidate] (1.227 s) : 0, 1226870
Total [candidate] (9.653 s) : 0, 9652622
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.069 s -
Agent iast 1.225 s 156.134 ms (14.6%)
Total tracing 8.892 s -
Total iast 9.586 s 694.51 ms (7.8%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.065 s -
Agent iast 1.227 s 161.683 ms (15.2%)
Total tracing 8.855 s -
Total iast 9.653 s 797.416 ms (9.0%)
gantt
    title insecure-bank - break down per module: candidate=1.61.0-SNAPSHOT~3bee6c3843, baseline=1.61.0-SNAPSHOT~8185dcf699

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.214 ms) : 0, 1214
crashtracking [candidate] (1.216 ms) : 0, 1216
BytebuddyAgent [baseline] (633.124 ms) : 0, 633124
BytebuddyAgent [candidate] (632.337 ms) : 0, 632337
AgentMeter [baseline] (29.314 ms) : 0, 29314
AgentMeter [candidate] (29.245 ms) : 0, 29245
GlobalTracer [baseline] (258.549 ms) : 0, 258549
GlobalTracer [candidate] (258.674 ms) : 0, 258674
AppSec [baseline] (31.781 ms) : 0, 31781
AppSec [candidate] (31.837 ms) : 0, 31837
Debugger [baseline] (59.061 ms) : 0, 59061
Debugger [candidate] (59.055 ms) : 0, 59055
Remote Config [baseline] (622.81 µs) : 0, 623
Remote Config [candidate] (614.342 µs) : 0, 614
Telemetry [baseline] (8.696 ms) : 0, 8696
Telemetry [candidate] (8.688 ms) : 0, 8688
Flare Poller [baseline] (10.347 ms) : 0, 10347
Flare Poller [candidate] (7.252 ms) : 0, 7252
section iast
crashtracking [baseline] (1.199 ms) : 0, 1199
crashtracking [candidate] (1.207 ms) : 0, 1207
BytebuddyAgent [baseline] (794.404 ms) : 0, 794404
BytebuddyAgent [candidate] (795.695 ms) : 0, 795695
AgentMeter [baseline] (11.298 ms) : 0, 11298
AgentMeter [candidate] (11.352 ms) : 0, 11352
GlobalTracer [baseline] (247.358 ms) : 0, 247358
GlobalTracer [candidate] (247.539 ms) : 0, 247539
IAST [baseline] (25.149 ms) : 0, 25149
IAST [candidate] (25.173 ms) : 0, 25173
AppSec [baseline] (26.353 ms) : 0, 26353
AppSec [candidate] (26.35 ms) : 0, 26350
Debugger [baseline] (62.9 ms) : 0, 62900
Debugger [candidate] (62.983 ms) : 0, 62983
Remote Config [baseline] (517.532 µs) : 0, 518
Remote Config [candidate] (514.07 µs) : 0, 514
Telemetry [baseline] (14.811 ms) : 0, 14811
Telemetry [candidate] (14.934 ms) : 0, 14934
Flare Poller [baseline] (4.946 ms) : 0, 4946
Flare Poller [candidate] (4.929 ms) : 0, 4929
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.61.0-SNAPSHOT~3bee6c3843, baseline=1.61.0-SNAPSHOT~8185dcf699

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.067 s) : 0, 1067094
Total [baseline] (11.1 s) : 0, 11100204
Agent [candidate] (1.061 s) : 0, 1060548
Total [candidate] (11.146 s) : 0, 11146135
section appsec
Agent [baseline] (1.246 s) : 0, 1245602
Total [baseline] (11.285 s) : 0, 11284997
Agent [candidate] (1.255 s) : 0, 1255225
Total [candidate] (11.207 s) : 0, 11207313
section iast
Agent [baseline] (1.23 s) : 0, 1229712
Total [baseline] (11.446 s) : 0, 11446212
Agent [candidate] (1.229 s) : 0, 1228741
Total [candidate] (11.325 s) : 0, 11324855
section profiling
Agent [baseline] (1.179 s) : 0, 1179426
Total [baseline] (11.092 s) : 0, 11092209
Agent [candidate] (1.183 s) : 0, 1183258
Total [candidate] (11.081 s) : 0, 11080510
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.067 s -
Agent appsec 1.246 s 178.508 ms (16.7%)
Agent iast 1.23 s 162.618 ms (15.2%)
Agent profiling 1.179 s 112.333 ms (10.5%)
Total tracing 11.1 s -
Total appsec 11.285 s 184.793 ms (1.7%)
Total iast 11.446 s 346.008 ms (3.1%)
Total profiling 11.092 s -7.995 ms (-0.1%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.061 s -
Agent appsec 1.255 s 194.677 ms (18.4%)
Agent iast 1.229 s 168.194 ms (15.9%)
Agent profiling 1.183 s 122.711 ms (11.6%)
Total tracing 11.146 s -
Total appsec 11.207 s 61.178 ms (0.5%)
Total iast 11.325 s 178.719 ms (1.6%)
Total profiling 11.081 s -65.626 ms (-0.6%)
gantt
    title petclinic - break down per module: candidate=1.61.0-SNAPSHOT~3bee6c3843, baseline=1.61.0-SNAPSHOT~8185dcf699

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.215 ms) : 0, 1215
crashtracking [candidate] (1.203 ms) : 0, 1203
BytebuddyAgent [baseline] (632.078 ms) : 0, 632078
BytebuddyAgent [candidate] (629.982 ms) : 0, 629982
AgentMeter [baseline] (29.314 ms) : 0, 29314
AgentMeter [candidate] (29.204 ms) : 0, 29204
GlobalTracer [baseline] (258.648 ms) : 0, 258648
GlobalTracer [candidate] (257.888 ms) : 0, 257888
AppSec [baseline] (31.762 ms) : 0, 31762
AppSec [candidate] (31.642 ms) : 0, 31642
Debugger [baseline] (59.735 ms) : 0, 59735
Debugger [candidate] (59.469 ms) : 0, 59469
Remote Config [baseline] (621.556 µs) : 0, 622
Remote Config [candidate] (602.869 µs) : 0, 603
Telemetry [baseline] (8.842 ms) : 0, 8842
Telemetry [candidate] (8.7 ms) : 0, 8700
Flare Poller [baseline] (8.658 ms) : 0, 8658
Flare Poller [candidate] (5.77 ms) : 0, 5770
section appsec
crashtracking [baseline] (1.189 ms) : 0, 1189
crashtracking [candidate] (1.212 ms) : 0, 1212
BytebuddyAgent [baseline] (656.786 ms) : 0, 656786
BytebuddyAgent [candidate] (663.473 ms) : 0, 663473
AgentMeter [baseline] (12.088 ms) : 0, 12088
AgentMeter [candidate] (12.219 ms) : 0, 12219
GlobalTracer [baseline] (258.149 ms) : 0, 258149
GlobalTracer [candidate] (259.828 ms) : 0, 259828
IAST [baseline] (23.995 ms) : 0, 23995
IAST [candidate] (24.213 ms) : 0, 24213
AppSec [baseline] (177.546 ms) : 0, 177546
AppSec [candidate] (178.559 ms) : 0, 178559
Debugger [baseline] (66.359 ms) : 0, 66359
Debugger [candidate] (66.109 ms) : 0, 66109
Remote Config [baseline] (569.757 µs) : 0, 570
Remote Config [candidate] (568.014 µs) : 0, 568
Telemetry [baseline] (9.023 ms) : 0, 9023
Telemetry [candidate] (9.009 ms) : 0, 9009
Flare Poller [baseline] (3.664 ms) : 0, 3664
Flare Poller [candidate] (3.623 ms) : 0, 3623
section iast
crashtracking [baseline] (1.193 ms) : 0, 1193
crashtracking [candidate] (1.199 ms) : 0, 1199
BytebuddyAgent [baseline] (795.837 ms) : 0, 795837
BytebuddyAgent [candidate] (796.526 ms) : 0, 796526
AgentMeter [baseline] (11.347 ms) : 0, 11347
AgentMeter [candidate] (11.338 ms) : 0, 11338
GlobalTracer [baseline] (248.948 ms) : 0, 248948
GlobalTracer [candidate] (248.016 ms) : 0, 248016
IAST [baseline] (25.35 ms) : 0, 25350
IAST [candidate] (25.15 ms) : 0, 25150
AppSec [baseline] (26.698 ms) : 0, 26698
AppSec [candidate] (26.518 ms) : 0, 26518
Debugger [baseline] (64.55 ms) : 0, 64550
Debugger [candidate] (65.06 ms) : 0, 65060
Remote Config [baseline] (523.267 µs) : 0, 523
Remote Config [candidate] (1.147 ms) : 0, 1147
Telemetry [baseline] (14.416 ms) : 0, 14416
Telemetry [candidate] (13.276 ms) : 0, 13276
Flare Poller [baseline] (4.778 ms) : 0, 4778
Flare Poller [candidate] (4.436 ms) : 0, 4436
section profiling
crashtracking [baseline] (1.171 ms) : 0, 1171
crashtracking [candidate] (1.168 ms) : 0, 1168
BytebuddyAgent [baseline] (681.076 ms) : 0, 681076
BytebuddyAgent [candidate] (682.808 ms) : 0, 682808
AgentMeter [baseline] (8.629 ms) : 0, 8629
AgentMeter [candidate] (8.661 ms) : 0, 8661
GlobalTracer [baseline] (215.054 ms) : 0, 215054
GlobalTracer [candidate] (215.739 ms) : 0, 215739
AppSec [baseline] (31.759 ms) : 0, 31759
AppSec [candidate] (32.031 ms) : 0, 32031
Debugger [baseline] (65.329 ms) : 0, 65329
Debugger [candidate] (64.618 ms) : 0, 64618
Remote Config [baseline] (581.024 µs) : 0, 581
Remote Config [candidate] (606.084 µs) : 0, 606
Telemetry [baseline] (8.193 ms) : 0, 8193
Telemetry [candidate] (8.245 ms) : 0, 8245
Flare Poller [baseline] (3.467 ms) : 0, 3467
Flare Poller [candidate] (4.239 ms) : 0, 4239
ProfilingAgent [baseline] (93.698 ms) : 0, 93698
ProfilingAgent [candidate] (94.413 ms) : 0, 94413
Profiling [baseline] (94.257 ms) : 0, 94257
Profiling [candidate] (94.979 ms) : 0, 94979
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/coretracer-preprocessing
git_commit_date 1773436250 1773662030
git_commit_sha 8185dcf 3bee6c3
release_version 1.61.0-SNAPSHOT~8185dcf699 1.61.0-SNAPSHOT~3bee6c3843
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1773664269 1773664269
ci_job_id 1508018546 1508018546
ci_pipeline_id 102632058 102632058
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-2-r7fxjbmb 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-2-r7fxjbmb 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 2 performance improvements and 0 performance regressions! Performance is the same for 19 metrics, 15 unstable metrics.

scenario Δ mean agg_http_req_duration_p50 Δ mean agg_http_req_duration_p95 Δ mean throughput candidate mean agg_http_req_duration_p50 candidate mean agg_http_req_duration_p95 candidate mean throughput baseline mean agg_http_req_duration_p50 baseline mean agg_http_req_duration_p95 baseline mean throughput
scenario:load:petclinic:no_agent:high_load better
[-2.219ms; -0.690ms] or [-11.632%; -3.619%]
unsure
[-3.108ms; -0.162ms] or [-9.856%; -0.514%]
unstable
[-11.193op/s; +43.131op/s] or [-4.634%; +17.857%]
17.621ms 29.904ms 257.500op/s 19.076ms 31.539ms 241.531op/s
scenario:load:petclinic:iast:high_load better
[-1219.707µs; -460.987µs] or [-6.667%; -2.520%]
unsure
[-1319.469µs; -176.709µs] or [-4.450%; -0.596%]
unstable
[-16.679op/s; +35.804op/s] or [-6.632%; +14.236%]
17.454ms 28.904ms 261.062op/s 18.294ms 29.653ms 251.500op/s
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~3bee6c3843, baseline=1.61.0-SNAPSHOT~8185dcf699
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.204 ms) : 1192, 1217
.   : milestone, 1204,
iast (3.181 ms) : 3136, 3226
.   : milestone, 3181,
iast_FULL (5.922 ms) : 5863, 5981
.   : milestone, 5922,
iast_GLOBAL (3.613 ms) : 3560, 3665
.   : milestone, 3613,
profiling (2.226 ms) : 2205, 2247
.   : milestone, 2226,
tracing (1.783 ms) : 1769, 1797
.   : milestone, 1783,
section candidate
no_agent (1.17 ms) : 1159, 1182
.   : milestone, 1170,
iast (3.113 ms) : 3074, 3151
.   : milestone, 3113,
iast_FULL (5.842 ms) : 5784, 5900
.   : milestone, 5842,
iast_GLOBAL (3.52 ms) : 3465, 3575
.   : milestone, 3520,
profiling (2.006 ms) : 1988, 2025
.   : milestone, 2006,
tracing (1.813 ms) : 1798, 1827
.   : milestone, 1813,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.204 ms [1.192 ms, 1.217 ms] -
iast 3.181 ms [3.136 ms, 3.226 ms] 1.976 ms (164.1%)
iast_FULL 5.922 ms [5.863 ms, 5.981 ms] 4.717 ms (391.7%)
iast_GLOBAL 3.613 ms [3.56 ms, 3.665 ms] 2.408 ms (199.9%)
profiling 2.226 ms [2.205 ms, 2.247 ms] 1.022 ms (84.8%)
tracing 1.783 ms [1.769 ms, 1.797 ms] 578.173 µs (48.0%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.17 ms [1.159 ms, 1.182 ms] -
iast 3.113 ms [3.074 ms, 3.151 ms] 1.943 ms (166.0%)
iast_FULL 5.842 ms [5.784 ms, 5.9 ms] 4.672 ms (399.2%)
iast_GLOBAL 3.52 ms [3.465 ms, 3.575 ms] 2.35 ms (200.8%)
profiling 2.006 ms [1.988 ms, 2.025 ms] 836.163 µs (71.5%)
tracing 1.813 ms [1.798 ms, 1.827 ms] 642.374 µs (54.9%)
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.61.0-SNAPSHOT~3bee6c3843, baseline=1.61.0-SNAPSHOT~8185dcf699
    dateFormat X
    axisFormat %s
section baseline
no_agent (19.324 ms) : 19129, 19518
.   : milestone, 19324,
appsec (18.742 ms) : 18551, 18934
.   : milestone, 18742,
code_origins (18.201 ms) : 18023, 18380
.   : milestone, 18201,
iast (18.554 ms) : 18369, 18739
.   : milestone, 18554,
profiling (19.007 ms) : 18813, 19200
.   : milestone, 19007,
tracing (17.995 ms) : 17815, 18175
.   : milestone, 17995,
section candidate
no_agent (18.124 ms) : 17939, 18308
.   : milestone, 18124,
appsec (18.548 ms) : 18356, 18739
.   : milestone, 18548,
code_origins (18.137 ms) : 17954, 18320
.   : milestone, 18137,
iast (17.87 ms) : 17691, 18048
.   : milestone, 17870,
profiling (19.138 ms) : 18949, 19327
.   : milestone, 19138,
tracing (17.748 ms) : 17573, 17923
.   : milestone, 17748,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 19.324 ms [19.129 ms, 19.518 ms] -
appsec 18.742 ms [18.551 ms, 18.934 ms] -581.188 µs (-3.0%)
code_origins 18.201 ms [18.023 ms, 18.38 ms] -1.122 ms (-5.8%)
iast 18.554 ms [18.369 ms, 18.739 ms] -769.498 µs (-4.0%)
profiling 19.007 ms [18.813 ms, 19.2 ms] -317.131 µs (-1.6%)
tracing 17.995 ms [17.815 ms, 18.175 ms] -1.328 ms (-6.9%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 18.124 ms [17.939 ms, 18.308 ms] -
appsec 18.548 ms [18.356 ms, 18.739 ms] 423.912 µs (2.3%)
code_origins 18.137 ms [17.954 ms, 18.32 ms] 13.335 µs (0.1%)
iast 17.87 ms [17.691 ms, 18.048 ms] -254.171 µs (-1.4%)
profiling 19.138 ms [18.949 ms, 19.327 ms] 1.014 ms (5.6%)
tracing 17.748 ms [17.573 ms, 17.923 ms] -375.768 µs (-2.1%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/coretracer-preprocessing
git_commit_date 1773436250 1773662030
git_commit_sha 8185dcf 3bee6c3
release_version 1.61.0-SNAPSHOT~8185dcf699 1.61.0-SNAPSHOT~3bee6c3843
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1773663897 1773663897
ci_job_id 1508018548 1508018548
ci_pipeline_id 102632058 102632058
cpu_model Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
kernel_version Linux runner-zfyrx7zua-project-304-concurrent-1-pdl0hg6n 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux Linux runner-zfyrx7zua-project-304-concurrent-1-pdl0hg6n 6.8.0-1031-aws #33~22.04.1-Ubuntu SMP Thu Jun 26 14:22:30 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux

Summary

Found 1 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 0 unstable metrics.

scenario Δ mean execution_time candidate mean execution_time baseline mean execution_time
scenario:dacapo:tomcat:appsec better
[-1.453ms; -1.106ms] or [-38.162%; -29.058%]
2.527ms 3.806ms
Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~3bee6c3843, baseline=1.61.0-SNAPSHOT~8185dcf699
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.477 ms) : 1466, 1489
.   : milestone, 1477,
appsec (3.806 ms) : 3585, 4027
.   : milestone, 3806,
iast (2.261 ms) : 2192, 2330
.   : milestone, 2261,
iast_GLOBAL (2.295 ms) : 2225, 2364
.   : milestone, 2295,
profiling (2.077 ms) : 2022, 2131
.   : milestone, 2077,
tracing (2.075 ms) : 2021, 2129
.   : milestone, 2075,
section candidate
no_agent (1.473 ms) : 1461, 1484
.   : milestone, 1473,
appsec (2.527 ms) : 2472, 2582
.   : milestone, 2527,
iast (2.246 ms) : 2177, 2315
.   : milestone, 2246,
iast_GLOBAL (2.3 ms) : 2231, 2370
.   : milestone, 2300,
profiling (2.092 ms) : 2037, 2147
.   : milestone, 2092,
tracing (2.056 ms) : 2003, 2109
.   : milestone, 2056,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.477 ms [1.466 ms, 1.489 ms] -
appsec 3.806 ms [3.585 ms, 4.027 ms] 2.329 ms (157.7%)
iast 2.261 ms [2.192 ms, 2.33 ms] 783.845 µs (53.1%)
iast_GLOBAL 2.295 ms [2.225 ms, 2.364 ms] 817.404 µs (55.3%)
profiling 2.077 ms [2.022 ms, 2.131 ms] 599.522 µs (40.6%)
tracing 2.075 ms [2.021 ms, 2.129 ms] 597.974 µs (40.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.461 ms, 1.484 ms] -
appsec 2.527 ms [2.472 ms, 2.582 ms] 1.054 ms (71.6%)
iast 2.246 ms [2.177 ms, 2.315 ms] 773.15 µs (52.5%)
iast_GLOBAL 2.3 ms [2.231 ms, 2.37 ms] 827.654 µs (56.2%)
profiling 2.092 ms [2.037 ms, 2.147 ms] 619.051 µs (42.0%)
tracing 2.056 ms [2.003 ms, 2.109 ms] 583.538 µs (39.6%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.61.0-SNAPSHOT~3bee6c3843, baseline=1.61.0-SNAPSHOT~8185dcf699
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.573 s) : 15573000, 15573000
.   : milestone, 15573000,
appsec (14.937 s) : 14937000, 14937000
.   : milestone, 14937000,
iast (17.945 s) : 17945000, 17945000
.   : milestone, 17945000,
iast_GLOBAL (17.84 s) : 17840000, 17840000
.   : milestone, 17840000,
profiling (14.933 s) : 14933000, 14933000
.   : milestone, 14933000,
tracing (14.961 s) : 14961000, 14961000
.   : milestone, 14961000,
section candidate
no_agent (15.418 s) : 15418000, 15418000
.   : milestone, 15418000,
appsec (15.08 s) : 15080000, 15080000
.   : milestone, 15080000,
iast (18.165 s) : 18165000, 18165000
.   : milestone, 18165000,
iast_GLOBAL (17.656 s) : 17656000, 17656000
.   : milestone, 17656000,
profiling (15.155 s) : 15155000, 15155000
.   : milestone, 15155000,
tracing (14.862 s) : 14862000, 14862000
.   : milestone, 14862000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.573 s [15.573 s, 15.573 s] -
appsec 14.937 s [14.937 s, 14.937 s] -636.0 ms (-4.1%)
iast 17.945 s [17.945 s, 17.945 s] 2.372 s (15.2%)
iast_GLOBAL 17.84 s [17.84 s, 17.84 s] 2.267 s (14.6%)
profiling 14.933 s [14.933 s, 14.933 s] -640.0 ms (-4.1%)
tracing 14.961 s [14.961 s, 14.961 s] -612.0 ms (-3.9%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.418 s [15.418 s, 15.418 s] -
appsec 15.08 s [15.08 s, 15.08 s] -338.0 ms (-2.2%)
iast 18.165 s [18.165 s, 18.165 s] 2.747 s (17.8%)
iast_GLOBAL 17.656 s [17.656 s, 17.656 s] 2.238 s (14.5%)
profiling 15.155 s [15.155 s, 15.155 s] -263.0 ms (-1.7%)
tracing 14.862 s [14.862 s, 14.862 s] -556.0 ms (-3.6%)

@dougqh
Copy link
Contributor Author

dougqh commented Mar 13, 2026

In a separate PR, I'm going to try to create a benchmark to show why this happens.
In this case, the profile pretty clearly shows that escape analysis failed and the Iterator was being allocated, but that doesn't always happen. I think the difference is not fully inlining the call inside the loop, but I'd like to prove it.

@dougqh dougqh added this pull request to the merge queue Mar 13, 2026
@dd-octo-sts
Copy link
Contributor

dd-octo-sts bot commented Mar 13, 2026

/merge

@gh-worker-devflow-routing-ef8351
Copy link

gh-worker-devflow-routing-ef8351 bot commented Mar 13, 2026

View all feedbacks in Devflow UI.

2026-03-13 12:58:37 UTC ℹ️ Start processing command /merge


2026-03-13 12:58:43 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 2h (p90).


2026-03-13 14:00:12 UTCMergeQueue: This merge request is not mergeable, blocked by github

PR can't be merged according to github policy

@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Mar 13, 2026
@dougqh dougqh enabled auto-merge March 13, 2026 19:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: core Tracer core tag: performance Performance related changes type: enhancement Enhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants