perf: improve the internal config set function#5872
Conversation
Overall package sizeSelf size: 9.64 MB Dependency sizes| name | version | self size | total size | |------|---------|-----------|------------| | @datadog/libdatadog | 0.6.0 | 30.47 MB | 30.47 MB | | @datadog/native-appsec | 8.5.2 | 19.33 MB | 19.34 MB | | @datadog/pprof | 5.8.0 | 12.55 MB | 12.92 MB | | @datadog/native-iast-taint-tracking | 4.0.0 | 11.72 MB | 11.73 MB | | @opentelemetry/core | 1.30.1 | 908.66 kB | 7.16 MB | | protobufjs | 7.5.3 | 2.95 MB | 5.6 MB | | @datadog/wasm-js-rewriter | 4.0.1 | 2.85 MB | 3.58 MB | | @datadog/native-metrics | 3.1.1 | 1.02 MB | 1.43 MB | | @opentelemetry/api | 1.8.0 | 1.21 MB | 1.21 MB | | import-in-the-middle | 1.14.0 | 120.58 kB | 841.68 kB | | source-map | 0.7.4 | 226 kB | 226 kB | | opentracing | 0.14.7 | 194.81 kB | 194.81 kB | | lru-cache | 7.18.3 | 133.92 kB | 133.92 kB | | pprof-format | 2.1.0 | 111.69 kB | 111.69 kB | | @datadog/sketches-js | 2.1.1 | 109.9 kB | 109.9 kB | | lodash.sortby | 4.7.0 | 75.76 kB | 75.76 kB | | ignore | 5.3.2 | 53.63 kB | 53.63 kB | | istanbul-lib-coverage | 3.2.2 | 34.37 kB | 34.37 kB | | rfdc | 1.4.1 | 27.15 kB | 27.15 kB | | @isaacs/ttlcache | 1.4.1 | 25.2 kB | 25.2 kB | | dc-polyfill | 0.1.9 | 25.11 kB | 25.11 kB | | tlhunter-sorted-set | 0.1.0 | 24.94 kB | 24.94 kB | | shell-quote | 1.8.2 | 23.54 kB | 23.54 kB | | limiter | 1.1.5 | 23.17 kB | 23.17 kB | | retry | 0.13.1 | 18.85 kB | 18.85 kB | | semifies | 1.0.0 | 15.84 kB | 15.84 kB | | jest-docblock | 29.7.0 | 8.99 kB | 12.76 kB | | crypto-randomuuid | 1.0.0 | 11.18 kB | 11.18 kB | | ttl-set | 1.0.0 | 4.61 kB | 9.69 kB | | mutexify | 1.4.0 | 5.71 kB | 8.74 kB | | path-to-regexp | 0.1.12 | 6.6 kB | 6.6 kB | | koalas | 1.0.2 | 6.47 kB | 6.47 kB | | module-details-from-path | 1.0.4 | 3.96 kB | 3.96 kB |🤖 This report was automatically generated by heaviest-objects-in-the-universe |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #5872 +/- ##
==========================================
+ Coverage 80.26% 80.79% +0.53%
==========================================
Files 460 464 +4
Lines 19795 19910 +115
==========================================
+ Hits 15888 16086 +198
+ Misses 3907 3824 -83 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
549ecd4 to
2fa6887
Compare
BenchmarksBenchmark execution time: 2025-06-11 12:34:48 Comparing candidate commit d8eb69c in PR branch Found 0 performance improvements and 0 performance regressions! Performance is the same for 1268 metrics, 55 unstable metrics. |
Datadog ReportBranch report: ✅ 0 Failed, 1087 Passed, 0 Skipped, 11m 17.94s Total Time |
The function is now almost twice as fast and doesn't create any temprary objects in memory.
2fa6887 to
c53e6fa
Compare
BridgeAR
left a comment
There was a problem hiding this comment.
LGTM while I believe we can simplify it quite a bit with my suggestion
Co-authored-by: Ruben Bridgewater <ruben@bridgewater.de>
The function is now almost twice as fast and doesn't create any temprary objects in memory.
The function is now almost twice as fast and doesn't create any temprary objects in memory.
The function is now almost twice as fast and doesn't create any temprary objects in memory.

What does this PR do?
Just an resource/peformance improvement: The function is now almost twice as fast and doesn't create any temprary objects in memory.
Motivation
Plugin Checklist
Additional Notes
The reason why I haven't touched the
getandhasfunctions, is because they are about to be removed in #5374