Skip to content

Creating HashingUtils as alternative to Objects.hash#10628

Open
dougqh wants to merge 3 commits intomasterfrom
dougqh/objects-hash-replacement
Open

Creating HashingUtils as alternative to Objects.hash#10628
dougqh wants to merge 3 commits intomasterfrom
dougqh/objects-hash-replacement

Conversation

@dougqh
Copy link
Contributor

@dougqh dougqh commented Feb 18, 2026

What Does This Do

Adds HashingUtils which is a replacement for the hashing routines of java.util.Objects.

Motivation

HashingUtils is specifically designed to avoid var-args allocation which can lead to lots of allocation if hashCode is hot.

HashingBenchmark shows a 3-4x improvement in throughput with HashingUtils.hash vs Objects.hash,
but more importantly no allocation as compared to GiB/secc with Objects.hash.

Additional Notes

In a subsequent PR, I'll update callers of Objects.hash to call HashingUtils.hash instead.

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.

Adding HashingUtils which is a replacement for the hashing routines of java.util.Objects.

HashingUtils is specifically designed to avoid var-args allocation which can lead to lots of allocation if hashCode is hot.

To demonstrate the potential impact see HashingBenchmark
@dougqh dougqh requested a review from a team as a code owner February 18, 2026 17:20
@dougqh dougqh added the type: enhancement Enhancements and improvements label Feb 18, 2026
@dougqh dougqh requested a review from amarziali February 18, 2026 17:20
@dougqh dougqh added comp: core Tracer core tag: performance Performance related changes labels Feb 18, 2026
@pr-commenter
Copy link

pr-commenter bot commented Feb 18, 2026

Benchmarks

Startup

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/objects-hash-replacement
git_commit_date 1771357015 1771447024
git_commit_sha 7f66c79 4f7064f
release_version 1.60.0-SNAPSHOT~7f66c79293 1.60.0-SNAPSHOT~4f7064fd8e
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1771448859 1771448859
ci_job_id 1437209198 1437209198
ci_pipeline_id 97372441 97372441
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-0-l616y338 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-0-l616y338 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 63 metrics, 8 unstable metrics.

Startup time reports for insecure-bank
gantt
    title insecure-bank - global startup overhead: candidate=1.60.0-SNAPSHOT~4f7064fd8e, baseline=1.60.0-SNAPSHOT~7f66c79293

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.077 s) : 0, 1076795
Total [baseline] (8.789 s) : 0, 8789384
Agent [candidate] (1.068 s) : 0, 1067662
Total [candidate] (8.758 s) : 0, 8758369
section iast
Agent [baseline] (1.241 s) : 0, 1241402
Total [baseline] (9.372 s) : 0, 9371670
Agent [candidate] (1.243 s) : 0, 1242733
Total [candidate] (9.399 s) : 0, 9399229
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.077 s -
Agent iast 1.241 s 164.607 ms (15.3%)
Total tracing 8.789 s -
Total iast 9.372 s 582.286 ms (6.6%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.068 s -
Agent iast 1.243 s 175.071 ms (16.4%)
Total tracing 8.758 s -
Total iast 9.399 s 640.86 ms (7.3%)
gantt
    title insecure-bank - break down per module: candidate=1.60.0-SNAPSHOT~4f7064fd8e, baseline=1.60.0-SNAPSHOT~7f66c79293

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.201 ms) : 0, 1201
crashtracking [candidate] (1.186 ms) : 0, 1186
BytebuddyAgent [baseline] (636.017 ms) : 0, 636017
BytebuddyAgent [candidate] (630.718 ms) : 0, 630718
AgentMeter [baseline] (29.415 ms) : 0, 29415
AgentMeter [candidate] (29.065 ms) : 0, 29065
GlobalTracer [baseline] (260.719 ms) : 0, 260719
GlobalTracer [candidate] (258.493 ms) : 0, 258493
AppSec [baseline] (33.512 ms) : 0, 33512
AppSec [candidate] (32.834 ms) : 0, 32834
Debugger [baseline] (64.2 ms) : 0, 64200
Debugger [candidate] (61.602 ms) : 0, 61602
Remote Config [baseline] (627.244 µs) : 0, 627
Remote Config [candidate] (634.451 µs) : 0, 634
Telemetry [baseline] (11.661 ms) : 0, 11661
Telemetry [candidate] (11.574 ms) : 0, 11574
Flare Poller [baseline] (3.815 ms) : 0, 3815
Flare Poller [candidate] (6.098 ms) : 0, 6098
section iast
crashtracking [baseline] (1.2 ms) : 0, 1200
crashtracking [candidate] (1.193 ms) : 0, 1193
BytebuddyAgent [baseline] (802.736 ms) : 0, 802736
BytebuddyAgent [candidate] (803.639 ms) : 0, 803639
AgentMeter [baseline] (11.535 ms) : 0, 11535
AgentMeter [candidate] (11.537 ms) : 0, 11537
GlobalTracer [baseline] (249.626 ms) : 0, 249626
GlobalTracer [candidate] (249.797 ms) : 0, 249797
AppSec [baseline] (35.205 ms) : 0, 35205
AppSec [candidate] (35.085 ms) : 0, 35085
Debugger [baseline] (65.315 ms) : 0, 65315
Debugger [candidate] (65.728 ms) : 0, 65728
Remote Config [baseline] (544.531 µs) : 0, 545
Remote Config [candidate] (541.068 µs) : 0, 541
Telemetry [baseline] (8.691 ms) : 0, 8691
Telemetry [candidate] (8.676 ms) : 0, 8676
Flare Poller [baseline] (3.496 ms) : 0, 3496
Flare Poller [candidate] (3.526 ms) : 0, 3526
IAST [baseline] (27.439 ms) : 0, 27439
IAST [candidate] (27.52 ms) : 0, 27520
Loading
Startup time reports for petclinic
gantt
    title petclinic - global startup overhead: candidate=1.60.0-SNAPSHOT~4f7064fd8e, baseline=1.60.0-SNAPSHOT~7f66c79293

    dateFormat X
    axisFormat %s
section tracing
Agent [baseline] (1.074 s) : 0, 1073514
Total [baseline] (11.032 s) : 0, 11031601
Agent [candidate] (1.07 s) : 0, 1069735
Total [candidate] (10.825 s) : 0, 10825244
section appsec
Agent [baseline] (1.242 s) : 0, 1241774
Total [baseline] (11.025 s) : 0, 11024905
Agent [candidate] (1.24 s) : 0, 1239778
Total [candidate] (11.11 s) : 0, 11109660
section iast
Agent [baseline] (1.247 s) : 0, 1247352
Total [baseline] (11.255 s) : 0, 11254665
Agent [candidate] (1.233 s) : 0, 1233191
Total [candidate] (11.288 s) : 0, 11287753
section profiling
Agent [baseline] (1.201 s) : 0, 1201243
Total [baseline] (11.05 s) : 0, 11049572
Agent [candidate] (1.19 s) : 0, 1189990
Total [candidate] (10.998 s) : 0, 10997859
Loading
  • baseline results
Module Variant Duration Δ tracing
Agent tracing 1.074 s -
Agent appsec 1.242 s 168.26 ms (15.7%)
Agent iast 1.247 s 173.838 ms (16.2%)
Agent profiling 1.201 s 127.729 ms (11.9%)
Total tracing 11.032 s -
Total appsec 11.025 s -6.696 ms (-0.1%)
Total iast 11.255 s 223.065 ms (2.0%)
Total profiling 11.05 s 17.971 ms (0.2%)
  • candidate results
Module Variant Duration Δ tracing
Agent tracing 1.07 s -
Agent appsec 1.24 s 170.043 ms (15.9%)
Agent iast 1.233 s 163.455 ms (15.3%)
Agent profiling 1.19 s 120.254 ms (11.2%)
Total tracing 10.825 s -
Total appsec 11.11 s 284.416 ms (2.6%)
Total iast 11.288 s 462.51 ms (4.3%)
Total profiling 10.998 s 172.616 ms (1.6%)
gantt
    title petclinic - break down per module: candidate=1.60.0-SNAPSHOT~4f7064fd8e, baseline=1.60.0-SNAPSHOT~7f66c79293

    dateFormat X
    axisFormat %s
section tracing
crashtracking [baseline] (1.193 ms) : 0, 1193
crashtracking [candidate] (1.181 ms) : 0, 1181
BytebuddyAgent [baseline] (634.24 ms) : 0, 634240
BytebuddyAgent [candidate] (631.257 ms) : 0, 631257
AgentMeter [baseline] (29.162 ms) : 0, 29162
AgentMeter [candidate] (29.056 ms) : 0, 29056
GlobalTracer [baseline] (259.199 ms) : 0, 259199
GlobalTracer [candidate] (258.18 ms) : 0, 258180
AppSec [baseline] (33.388 ms) : 0, 33388
AppSec [candidate] (32.987 ms) : 0, 32987
Debugger [baseline] (62.031 ms) : 0, 62031
Debugger [candidate] (62.64 ms) : 0, 62640
Remote Config [baseline] (657.308 µs) : 0, 657
Remote Config [candidate] (625.471 µs) : 0, 625
Telemetry [baseline] (13.4 ms) : 0, 13400
Telemetry [candidate] (11.401 ms) : 0, 11401
Flare Poller [baseline] (4.576 ms) : 0, 4576
Flare Poller [candidate] (7.022 ms) : 0, 7022
section appsec
crashtracking [baseline] (1.185 ms) : 0, 1185
crashtracking [candidate] (1.182 ms) : 0, 1182
BytebuddyAgent [baseline] (659.114 ms) : 0, 659114
BytebuddyAgent [candidate] (659.03 ms) : 0, 659030
AgentMeter [baseline] (11.965 ms) : 0, 11965
AgentMeter [candidate] (11.955 ms) : 0, 11955
GlobalTracer [baseline] (258.456 ms) : 0, 258456
GlobalTracer [candidate] (258.254 ms) : 0, 258254
AppSec [baseline] (168.761 ms) : 0, 168761
AppSec [candidate] (168.202 ms) : 0, 168202
Debugger [baseline] (67.464 ms) : 0, 67464
Debugger [candidate] (66.828 ms) : 0, 66828
Remote Config [baseline] (669.393 µs) : 0, 669
Remote Config [candidate] (636.276 µs) : 0, 636
Telemetry [baseline] (9.735 ms) : 0, 9735
Telemetry [candidate] (9.496 ms) : 0, 9496
Flare Poller [baseline] (3.721 ms) : 0, 3721
Flare Poller [candidate] (3.585 ms) : 0, 3585
IAST [baseline] (25.237 ms) : 0, 25237
IAST [candidate] (25.204 ms) : 0, 25204
section iast
crashtracking [baseline] (1.196 ms) : 0, 1196
crashtracking [candidate] (1.181 ms) : 0, 1181
BytebuddyAgent [baseline] (806.6 ms) : 0, 806600
BytebuddyAgent [candidate] (797.344 ms) : 0, 797344
AgentMeter [baseline] (11.431 ms) : 0, 11431
AgentMeter [candidate] (11.23 ms) : 0, 11230
GlobalTracer [baseline] (250.962 ms) : 0, 250962
GlobalTracer [candidate] (248.025 ms) : 0, 248025
AppSec [baseline] (32.648 ms) : 0, 32648
AppSec [candidate] (34.545 ms) : 0, 34545
Debugger [baseline] (68.655 ms) : 0, 68655
Debugger [candidate] (65.861 ms) : 0, 65861
Remote Config [baseline] (553.836 µs) : 0, 554
Remote Config [candidate] (549.852 µs) : 0, 550
Telemetry [baseline] (8.634 ms) : 0, 8634
Telemetry [candidate] (8.615 ms) : 0, 8615
Flare Poller [baseline] (3.486 ms) : 0, 3486
Flare Poller [candidate] (3.457 ms) : 0, 3457
IAST [baseline] (27.453 ms) : 0, 27453
IAST [candidate] (26.962 ms) : 0, 26962
section profiling
ProfilingAgent [baseline] (100.298 ms) : 0, 100298
ProfilingAgent [candidate] (99.634 ms) : 0, 99634
crashtracking [baseline] (1.242 ms) : 0, 1242
crashtracking [candidate] (1.215 ms) : 0, 1215
BytebuddyAgent [baseline] (688.822 ms) : 0, 688822
BytebuddyAgent [candidate] (682.12 ms) : 0, 682120
AgentMeter [baseline] (8.668 ms) : 0, 8668
AgentMeter [candidate] (8.627 ms) : 0, 8627
GlobalTracer [baseline] (217.283 ms) : 0, 217283
GlobalTracer [candidate] (215.487 ms) : 0, 215487
AppSec [baseline] (32.986 ms) : 0, 32986
AppSec [candidate] (32.445 ms) : 0, 32445
Debugger [baseline] (68.141 ms) : 0, 68141
Debugger [candidate] (67.237 ms) : 0, 67237
Remote Config [baseline] (637.462 µs) : 0, 637
Remote Config [candidate] (629.486 µs) : 0, 629
Telemetry [baseline] (8.889 ms) : 0, 8889
Telemetry [candidate] (8.911 ms) : 0, 8911
Flare Poller [baseline] (3.787 ms) : 0, 3787
Flare Poller [candidate] (3.747 ms) : 0, 3747
Profiling [baseline] (100.873 ms) : 0, 100873
Profiling [candidate] (100.213 ms) : 0, 100213
Loading

Load

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/objects-hash-replacement
git_commit_date 1771357015 1771447024
git_commit_sha 7f66c79 4f7064f
release_version 1.60.0-SNAPSHOT~7f66c79293 1.60.0-SNAPSHOT~4f7064fd8e
See matching parameters
Baseline Candidate
application insecure-bank insecure-bank
ci_job_date 1771449345 1771449345
ci_job_id 1437209199 1437209199
ci_pipeline_id 97372441 97372441
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-0-jw5t4tbh 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-0-jw5t4tbh 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 3 performance improvements and 2 performance regressions! Performance is the same for 15 metrics, 16 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:insecure-bank:iast_FULL:high_load worse
[+138.466µs; +349.887µs] or [+2.680%; +6.771%]
worse
[+460.031µs; +1179.561µs] or [+3.769%; +9.664%]
unstable
[-121.993op/s; +47.181op/s] or [-15.307%; +5.920%]
5.411ms 13.025ms 759.562op/s 5.167ms 12.205ms 796.969op/s
scenario:load:petclinic:tracing:high_load better
[-1175.522µs; -497.774µs] or [-6.422%; -2.720%]
unsure
[-1615.217µs; -201.201µs] or [-5.491%; -0.684%]
unstable
[-14.150op/s; +38.712op/s] or [-5.649%; +15.454%]
17.467ms 28.505ms 262.781op/s 18.303ms 29.413ms 250.500op/s
scenario:load:petclinic:iast:high_load better
[-1349.252µs; -650.322µs] or [-7.316%; -3.526%]
unsure
[-1610.955µs; -321.348µs] or [-5.387%; -1.075%]
unstable
[-14.271op/s; +38.021op/s] or [-5.729%; +15.262%]
17.442ms 28.936ms 261.000op/s 18.441ms 29.902ms 249.125op/s
scenario:load:petclinic:profiling:high_load better
[-1.571ms; -0.667ms] or [-8.054%; -3.422%]
unsure
[-1.879ms; -0.527ms] or [-6.058%; -1.699%]
unstable
[-12.212op/s; +37.837op/s] or [-5.154%; +15.969%]
18.383ms 29.817ms 249.750op/s 19.502ms 31.020ms 236.938op/s
Request duration reports for petclinic
gantt
    title petclinic - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~4f7064fd8e, baseline=1.60.0-SNAPSHOT~7f66c79293
    dateFormat X
    axisFormat %s
section baseline
no_agent (17.448 ms) : 17271, 17625
.   : milestone, 17448,
appsec (19.149 ms) : 18954, 19343
.   : milestone, 19149,
code_origins (17.782 ms) : 17603, 17961
.   : milestone, 17782,
iast (18.732 ms) : 18544, 18920
.   : milestone, 18732,
profiling (19.704 ms) : 19505, 19903
.   : milestone, 19704,
tracing (18.63 ms) : 18446, 18813
.   : milestone, 18630,
section candidate
no_agent (17.941 ms) : 17765, 18117
.   : milestone, 17941,
appsec (18.772 ms) : 18578, 18966
.   : milestone, 18772,
code_origins (17.793 ms) : 17615, 17971
.   : milestone, 17793,
iast (17.879 ms) : 17697, 18061
.   : milestone, 17879,
profiling (18.688 ms) : 18502, 18874
.   : milestone, 18688,
tracing (17.758 ms) : 17581, 17935
.   : milestone, 17758,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.448 ms [17.271 ms, 17.625 ms] -
appsec 19.149 ms [18.954 ms, 19.343 ms] 1.701 ms (9.8%)
code_origins 17.782 ms [17.603 ms, 17.961 ms] 334.505 µs (1.9%)
iast 18.732 ms [18.544 ms, 18.92 ms] 1.285 ms (7.4%)
profiling 19.704 ms [19.505 ms, 19.903 ms] 2.256 ms (12.9%)
tracing 18.63 ms [18.446 ms, 18.813 ms] 1.182 ms (6.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 17.941 ms [17.765 ms, 18.117 ms] -
appsec 18.772 ms [18.578 ms, 18.966 ms] 831.045 µs (4.6%)
code_origins 17.793 ms [17.615 ms, 17.971 ms] -147.888 µs (-0.8%)
iast 17.879 ms [17.697 ms, 18.061 ms] -62.162 µs (-0.3%)
profiling 18.688 ms [18.502 ms, 18.874 ms] 746.824 µs (4.2%)
tracing 17.758 ms [17.581 ms, 17.935 ms] -183.158 µs (-1.0%)
Request duration reports for insecure-bank
gantt
    title insecure-bank - request duration [CI 0.99] : candidate=1.60.0-SNAPSHOT~4f7064fd8e, baseline=1.60.0-SNAPSHOT~7f66c79293
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.167 ms) : 1155, 1178
.   : milestone, 1167,
iast (3.185 ms) : 3146, 3224
.   : milestone, 3185,
iast_FULL (5.801 ms) : 5744, 5858
.   : milestone, 5801,
iast_GLOBAL (3.495 ms) : 3446, 3543
.   : milestone, 3495,
profiling (2.143 ms) : 2123, 2163
.   : milestone, 2143,
tracing (1.783 ms) : 1768, 1797
.   : milestone, 1783,
section candidate
no_agent (1.171 ms) : 1160, 1182
.   : milestone, 1171,
iast (3.189 ms) : 3143, 3235
.   : milestone, 3189,
iast_FULL (6.092 ms) : 6030, 6155
.   : milestone, 6092,
iast_GLOBAL (3.641 ms) : 3588, 3694
.   : milestone, 3641,
profiling (2.074 ms) : 2055, 2093
.   : milestone, 2074,
tracing (1.779 ms) : 1764, 1794
.   : milestone, 1779,
Loading
  • baseline results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.167 ms [1.155 ms, 1.178 ms] -
iast 3.185 ms [3.146 ms, 3.224 ms] 2.018 ms (173.0%)
iast_FULL 5.801 ms [5.744 ms, 5.858 ms] 4.634 ms (397.1%)
iast_GLOBAL 3.495 ms [3.446 ms, 3.543 ms] 2.328 ms (199.5%)
profiling 2.143 ms [2.123 ms, 2.163 ms] 975.806 µs (83.6%)
tracing 1.783 ms [1.768 ms, 1.797 ms] 615.845 µs (52.8%)
  • candidate results
Variant Request duration [CI 0.99] Δ no_agent
no_agent 1.171 ms [1.16 ms, 1.182 ms] -
iast 3.189 ms [3.143 ms, 3.235 ms] 2.018 ms (172.3%)
iast_FULL 6.092 ms [6.03 ms, 6.155 ms] 4.921 ms (420.3%)
iast_GLOBAL 3.641 ms [3.588 ms, 3.694 ms] 2.47 ms (210.9%)
profiling 2.074 ms [2.055 ms, 2.093 ms] 903.142 µs (77.1%)
tracing 1.779 ms [1.764 ms, 1.794 ms] 607.909 µs (51.9%)

Dacapo

Parameters

Baseline Candidate
baseline_or_candidate baseline candidate
git_branch master dougqh/objects-hash-replacement
git_commit_date 1771357015 1771447024
git_commit_sha 7f66c79 4f7064f
release_version 1.60.0-SNAPSHOT~7f66c79293 1.60.0-SNAPSHOT~4f7064fd8e
See matching parameters
Baseline Candidate
application biojava biojava
ci_job_date 1771449067 1771449067
ci_job_id 1437209201 1437209201
ci_pipeline_id 97372441 97372441
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-deqwj1hm 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-deqwj1hm 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 0 performance improvements and 0 performance regressions! Performance is the same for 11 metrics, 1 unstable metrics.

Execution time for tomcat
gantt
    title tomcat - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~4f7064fd8e, baseline=1.60.0-SNAPSHOT~7f66c79293
    dateFormat X
    axisFormat %s
section baseline
no_agent (1.473 ms) : 1461, 1484
.   : milestone, 1473,
appsec (3.755 ms) : 3534, 3976
.   : milestone, 3755,
iast (2.253 ms) : 2184, 2322
.   : milestone, 2253,
iast_GLOBAL (2.296 ms) : 2226, 2365
.   : milestone, 2296,
profiling (2.099 ms) : 2043, 2156
.   : milestone, 2099,
tracing (2.065 ms) : 2011, 2119
.   : milestone, 2065,
section candidate
no_agent (1.467 ms) : 1456, 1479
.   : milestone, 1467,
appsec (3.716 ms) : 3500, 3932
.   : milestone, 3716,
iast (2.258 ms) : 2188, 2327
.   : milestone, 2258,
iast_GLOBAL (2.295 ms) : 2225, 2365
.   : milestone, 2295,
profiling (2.07 ms) : 2016, 2125
.   : milestone, 2070,
tracing (2.064 ms) : 2010, 2118
.   : milestone, 2064,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.473 ms [1.461 ms, 1.484 ms] -
appsec 3.755 ms [3.534 ms, 3.976 ms] 2.282 ms (155.0%)
iast 2.253 ms [2.184 ms, 2.322 ms] 780.675 µs (53.0%)
iast_GLOBAL 2.296 ms [2.226 ms, 2.365 ms] 822.99 µs (55.9%)
profiling 2.099 ms [2.043 ms, 2.156 ms] 626.73 µs (42.6%)
tracing 2.065 ms [2.011 ms, 2.119 ms] 591.905 µs (40.2%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 1.467 ms [1.456 ms, 1.479 ms] -
appsec 3.716 ms [3.5 ms, 3.932 ms] 2.249 ms (153.2%)
iast 2.258 ms [2.188 ms, 2.327 ms] 790.369 µs (53.9%)
iast_GLOBAL 2.295 ms [2.225 ms, 2.365 ms] 827.747 µs (56.4%)
profiling 2.07 ms [2.016 ms, 2.125 ms] 602.898 µs (41.1%)
tracing 2.064 ms [2.01 ms, 2.118 ms] 596.634 µs (40.7%)
Execution time for biojava
gantt
    title biojava - execution time [CI 0.99] : candidate=1.60.0-SNAPSHOT~4f7064fd8e, baseline=1.60.0-SNAPSHOT~7f66c79293
    dateFormat X
    axisFormat %s
section baseline
no_agent (15.335 s) : 15335000, 15335000
.   : milestone, 15335000,
appsec (14.849 s) : 14849000, 14849000
.   : milestone, 14849000,
iast (18.155 s) : 18155000, 18155000
.   : milestone, 18155000,
iast_GLOBAL (17.974 s) : 17974000, 17974000
.   : milestone, 17974000,
profiling (15.429 s) : 15429000, 15429000
.   : milestone, 15429000,
tracing (14.794 s) : 14794000, 14794000
.   : milestone, 14794000,
section candidate
no_agent (15.328 s) : 15328000, 15328000
.   : milestone, 15328000,
appsec (14.727 s) : 14727000, 14727000
.   : milestone, 14727000,
iast (18.432 s) : 18432000, 18432000
.   : milestone, 18432000,
iast_GLOBAL (17.987 s) : 17987000, 17987000
.   : milestone, 17987000,
profiling (15.112 s) : 15112000, 15112000
.   : milestone, 15112000,
tracing (15.163 s) : 15163000, 15163000
.   : milestone, 15163000,
Loading
  • baseline results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.335 s [15.335 s, 15.335 s] -
appsec 14.849 s [14.849 s, 14.849 s] -486.0 ms (-3.2%)
iast 18.155 s [18.155 s, 18.155 s] 2.82 s (18.4%)
iast_GLOBAL 17.974 s [17.974 s, 17.974 s] 2.639 s (17.2%)
profiling 15.429 s [15.429 s, 15.429 s] 94.0 ms (0.6%)
tracing 14.794 s [14.794 s, 14.794 s] -541.0 ms (-3.5%)
  • candidate results
Variant Execution Time [CI 0.99] Δ no_agent
no_agent 15.328 s [15.328 s, 15.328 s] -
appsec 14.727 s [14.727 s, 14.727 s] -601.0 ms (-3.9%)
iast 18.432 s [18.432 s, 18.432 s] 3.104 s (20.3%)
iast_GLOBAL 17.987 s [17.987 s, 17.987 s] 2.659 s (17.3%)
profiling 15.112 s [15.112 s, 15.112 s] -216.0 ms (-1.4%)
tracing 15.163 s [15.163 s, 15.163 s] -165.0 ms (-1.1%)

@dougqh dougqh changed the title Creating HashingUtils Creating HashingUtils as alternative to Objects.hash Feb 18, 2026
@Fork(2)
@Warmup(iterations = 2)
@Measurement(iterations = 3)
@Threads(8)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

perhaps this adds only noise comparing doing it on a single core

Copy link
Contributor

@amarziali amarziali left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice improvement

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

Comments