Skip to content

feat: change cargo patch approach to generic annotations#1634

Draft
Aaalibaba42 wants to merge 2 commits intojwiriath/capability-traits-architecturefrom
jwiriath/capability-traits-architecture-generics
Draft

feat: change cargo patch approach to generic annotations#1634
Aaalibaba42 wants to merge 2 commits intojwiriath/capability-traits-architecturefrom
jwiriath/capability-traits-architecture-generics

Conversation

@Aaalibaba42
Copy link
Contributor

What does this PR do?

Change cargo patch approach to generic annotations

Motivation

Discussions with the team about the best approach.

Additional Notes

Currently this is for 1 (one) capability, when we have 2, 3, or more capabilities, all these annations should either:

  • Be bundled up into one
  • Take multiple generics (that actually will always be all correlated together)

In the former option, we lose the main gain of this approach: explicit denotation of the aspect that can change. In the latter, it's just more ugly than it already is.

But functionally, I agree this is still static dispatch for statically known information, so that's fine by me.

How to test the change?

For now this is mostly demonstrative, not actually something that ought be merged.

@github-actions
Copy link

github-actions bot commented Feb 26, 2026

📚 Documentation Check Results

⚠️ 1274 documentation warning(s) found

📦 libdd-data-pipeline - 793 warning(s)

📦 libdd-trace-utils - 481 warning(s)


Updated: 2026-03-04 13:55:02 UTC | Commit: 7ae7166 | missing-docs job results

@github-actions
Copy link

Clippy Allow Annotation Report

Comparing clippy allow annotations between branches:

Summary by Rule

Rule Base Branch PR Branch Change
unwrap_used 13 13 No change (0%)
Total 13 13 No change (0%)

Annotation Counts by File

File Base Branch PR Branch Change
datadog-sidecar/src/service/agent_info.rs 4 4 No change (0%)
datadog-sidecar/src/service/tracing/trace_flusher.rs 1 1 No change (0%)
libdd-data-pipeline/src/stats_exporter.rs 1 1 No change (0%)
libdd-data-pipeline/src/trace_exporter/mod.rs 2 2 No change (0%)
libdd-trace-utils/src/send_data/mod.rs 5 5 No change (0%)

Annotation Stats by Crate

Crate Base Branch PR Branch Change
clippy-annotation-reporter 5 5 No change (0%)
datadog-ffe-ffi 1 1 No change (0%)
datadog-ipc 27 27 No change (0%)
datadog-live-debugger 6 6 No change (0%)
datadog-live-debugger-ffi 10 10 No change (0%)
datadog-profiling-replayer 4 4 No change (0%)
datadog-remote-config 3 3 No change (0%)
datadog-sidecar 59 59 No change (0%)
libdd-common 10 10 No change (0%)
libdd-common-ffi 12 12 No change (0%)
libdd-crashtracker 12 12 No change (0%)
libdd-data-pipeline 5 5 No change (0%)
libdd-ddsketch 2 2 No change (0%)
libdd-dogstatsd-client 1 1 No change (0%)
libdd-profiling 13 13 No change (0%)
libdd-telemetry 19 19 No change (0%)
libdd-tinybytes 4 4 No change (0%)
libdd-trace-normalization 2 2 No change (0%)
libdd-trace-obfuscation 9 9 No change (0%)
libdd-trace-utils 15 15 No change (0%)
Total 219 219 No change (0%)

About This Report

This report tracks Clippy allow annotations for specific rules, showing how they've changed in this PR. Decreasing the number of these annotations generally improves code quality.

@github-actions
Copy link

github-actions bot commented Feb 26, 2026

🔒 Cargo Deny Results

⚠️ 3 issue(s) found, showing only errors (advisories, bans, sources)

📦 libdd-data-pipeline - 2 error(s)

Show output
error[vulnerability]: Integer overflow in `BytesMut::reserve`
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:50:1
   │
50 │ bytes 1.8.0 registry+https://github.com/rust-lang/crates.io-index
   │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
   │
   ├ ID: RUSTSEC-2026-0007
   ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0007
   ├ In the unique reclaim path of `BytesMut::reserve`, the condition
     ```rs
     if v_capacity >= new_cap + offset
     ```
     uses an unchecked addition. When `new_cap + offset` overflows `usize` in release builds, this condition may incorrectly pass, causing `self.cap` to be set to a value that exceeds the actual allocated capacity. Subsequent APIs such as `spare_capacity_mut()` then trust this corrupted `cap` value and may create out-of-bounds slices, leading to UB.
     
     This behavior is observable in release builds (integer overflow wraps), whereas debug builds panic due to overflow checks.
     
     ## PoC
     
     ```rs
     use bytes::*;
     
     fn main() {
         let mut a = BytesMut::from(&b"hello world"[..]);
         let mut b = a.split_off(5);
     
         // Ensure b becomes the unique owner of the backing storage
         drop(a);
     
         // Trigger overflow in new_cap + offset inside reserve
         b.reserve(usize::MAX - 6);
     
         // This call relies on the corrupted cap and may cause UB & HBO
         b.put_u8(b'h');
     }
     ```
     
     # Workarounds
     
     Users of `BytesMut::reserve` are only affected if integer overflow checks are configured to wrap. When integer overflow is configured to panic, this issue does not apply.
   ├ Announcement: https://github.com/advisories/GHSA-434x-w66g-qw3r
   ├ Solution: Upgrade to >=1.11.1 (try `cargo update -p bytes`)
   ├ bytes v1.8.0
     ├── h2 v0.4.6
     │   └── hyper v1.6.0
     │       ├── httpmock v0.8.0-alpha.1
     │       │   ├── (dev) libdd-data-pipeline v1.0.0
     │       │   └── libdd-trace-utils v1.0.0
     │       │       ├── libdd-data-pipeline v1.0.0 (*)
     │       │       ├── libdd-trace-stats v1.0.0
     │       │       │   └── libdd-data-pipeline v1.0.0 (*)
     │       │       └── (dev) libdd-trace-utils v1.0.0 (*)
     │       ├── hyper-rustls v0.27.3
     │       │   └── libdd-common v1.1.0
     │       │       ├── libdd-capabilities-impl v0.1.0
     │       │       │   ├── (dev) libdd-data-pipeline v1.0.0 (*)
     │       │       │   ├── libdd-telemetry v2.0.0
     │       │       │   │   └── libdd-data-pipeline v1.0.0 (*)
     │       │       │   └── (dev) libdd-trace-utils v1.0.0 (*)
     │       │       ├── libdd-data-pipeline v1.0.0 (*)
     │       │       ├── libdd-dogstatsd-client v1.0.0
     │       │       │   └── libdd-data-pipeline v1.0.0 (*)
     │       │       ├── libdd-telemetry v2.0.0 (*)
     │       │       └── libdd-trace-utils v1.0.0 (*)
     │       ├── hyper-util v0.1.17
     │       │   ├── httpmock v0.8.0-alpha.1 (*)
     │       │   ├── hyper-rustls v0.27.3 (*)
     │       │   └── libdd-common v1.1.0 (*)
     │       ├── libdd-capabilities-impl v0.1.0 (*)
     │       ├── libdd-common v1.1.0 (*)
     │       └── libdd-trace-utils v1.0.0 (*)
     ├── headers v0.4.0
     │   └── httpmock v0.8.0-alpha.1 (*)
     ├── http v1.1.0
     │   ├── h2 v0.4.6 (*)
     │   ├── headers v0.4.0 (*)
     │   ├── headers-core v0.3.0
     │   │   └── headers v0.4.0 (*)
     │   ├── http-body v1.0.1
     │   │   ├── http-body-util v0.1.2
     │   │   │   ├── httpmock v0.8.0-alpha.1 (*)
     │   │   │   ├── libdd-capabilities-impl v0.1.0 (*)
     │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   ├── libdd-data-pipeline v1.0.0 (*)
     │   │   │   ├── libdd-telemetry v2.0.0 (*)
     │   │   │   └── libdd-trace-utils v1.0.0 (*)
     │   │   ├── hyper v1.6.0 (*)
     │   │   ├── hyper-util v0.1.17 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   └── libdd-trace-utils v1.0.0 (*)
     │   ├── http-body-util v0.1.2 (*)
     │   ├── httpmock v0.8.0-alpha.1 (*)
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── libdd-capabilities v0.1.0
     │   │   ├── libdd-capabilities-impl v0.1.0 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   ├── libdd-data-pipeline v1.0.0 (*)
     │   │   ├── libdd-telemetry v2.0.0 (*)
     │   │   └── libdd-trace-utils v1.0.0 (*)
     │   ├── libdd-capabilities-impl v0.1.0 (*)
     │   ├── libdd-common v1.1.0 (*)
     │   ├── libdd-data-pipeline v1.0.0 (*)
     │   ├── libdd-dogstatsd-client v1.0.0 (*)
     │   ├── libdd-telemetry v2.0.0 (*)
     │   ├── libdd-trace-utils v1.0.0 (*)
     │   └── multer v3.1.0
     │       └── (dev) libdd-common v1.1.0 (*)
     ├── http-body v1.0.1 (*)
     ├── http-body-util v0.1.2 (*)
     ├── httpmock v0.8.0-alpha.1 (*)
     ├── hyper v1.6.0 (*)
     ├── hyper-util v0.1.17 (*)
     ├── libdd-capabilities v0.1.0 (*)
     ├── libdd-capabilities-impl v0.1.0 (*)
     ├── (dev) libdd-common v1.1.0 (*)
     ├── libdd-data-pipeline v1.0.0 (*)
     ├── libdd-telemetry v2.0.0 (*)
     ├── libdd-trace-utils v1.0.0 (*)
     ├── multer v3.1.0 (*)
     ├── prost v0.14.3
     │   ├── libdd-ddsketch v1.0.0
     │   │   ├── libdd-data-pipeline v1.0.0 (*)
     │   │   ├── libdd-telemetry v2.0.0 (*)
     │   │   └── libdd-trace-stats v1.0.0 (*)
     │   ├── libdd-trace-protobuf v1.0.0
     │   │   ├── libdd-data-pipeline v1.0.0 (*)
     │   │   ├── libdd-trace-normalization v1.0.0
     │   │   │   └── libdd-trace-utils v1.0.0 (*)
     │   │   ├── libdd-trace-stats v1.0.0 (*)
     │   │   └── libdd-trace-utils v1.0.0 (*)
     │   └── libdd-trace-utils v1.0.0 (*)
     ├── tokio v1.49.0
     │   ├── h2 v0.4.6 (*)
     │   ├── httpmock v0.8.0-alpha.1 (*)
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── (dev) libdd-common v1.1.0 (*)
     │   ├── (dev) libdd-data-pipeline v1.0.0 (*)
     │   ├── (dev) libdd-dogstatsd-client v1.0.0 (*)
     │   ├── (dev) libdd-telemetry v2.0.0 (*)
     │   ├── (dev) libdd-trace-protobuf v1.0.0 (*)
     │   ├── (dev) libdd-trace-utils v1.0.0 (*)
     │   ├── tokio-rustls v0.26.0
     │   │   ├── hyper-rustls v0.27.3 (*)
     │   │   └── libdd-common v1.1.0 (*)
     │   └── tokio-util v0.7.12
     │       ├── h2 v0.4.6 (*)
     │       ├── libdd-data-pipeline v1.0.0 (*)
     │       └── libdd-telemetry v2.0.0 (*)
     └── tokio-util v0.7.12 (*)

error[vulnerability]: Denial of Service via Stack Exhaustion
    ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:293:1
    │
293 │ time 0.3.41 registry+https://github.com/rust-lang/crates.io-index
    │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
    │
    ├ ID: RUSTSEC-2026-0009
    ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0009
    ├ ## Impact
      
      When user-provided input is provided to any type that parses with the RFC 2822 format, a denial of
      service attack via stack exhaustion is possible. The attack relies on formally deprecated and
      rarely-used features that are part of the RFC 2822 format used in a malicious manner. Ordinary,
      non-malicious input will never encounter this scenario.
      
      ## Patches
      
      A limit to the depth of recursion was added in v0.3.47. From this version, an error will be returned
      rather than exhausting the stack.
      
      ## Workarounds
      
      Limiting the length of user input is the simplest way to avoid stack exhaustion, as the amount of
      the stack consumed would be at most a factor of the length of the input.
    ├ Announcement: https://github.com/time-rs/time/blob/main/CHANGELOG.md#0347-2026-02-05
    ├ Solution: Upgrade to >=0.3.47 (try `cargo update -p time`)
    ├ time v0.3.41
      └── tracing-appender v0.2.3
          └── libdd-log v1.0.0
              └── (dev) libdd-data-pipeline v1.0.0

advisories FAILED, bans ok, sources ok

📦 libdd-trace-utils - 1 error(s)

Show output
error[vulnerability]: Integer overflow in `BytesMut::reserve`
   ┌─ /home/runner/work/libdatadog/libdatadog/Cargo.lock:42:1
   │
42 │ bytes 1.8.0 registry+https://github.com/rust-lang/crates.io-index
   │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ security vulnerability detected
   │
   ├ ID: RUSTSEC-2026-0007
   ├ Advisory: https://rustsec.org/advisories/RUSTSEC-2026-0007
   ├ In the unique reclaim path of `BytesMut::reserve`, the condition
     ```rs
     if v_capacity >= new_cap + offset
     ```
     uses an unchecked addition. When `new_cap + offset` overflows `usize` in release builds, this condition may incorrectly pass, causing `self.cap` to be set to a value that exceeds the actual allocated capacity. Subsequent APIs such as `spare_capacity_mut()` then trust this corrupted `cap` value and may create out-of-bounds slices, leading to UB.
     
     This behavior is observable in release builds (integer overflow wraps), whereas debug builds panic due to overflow checks.
     
     ## PoC
     
     ```rs
     use bytes::*;
     
     fn main() {
         let mut a = BytesMut::from(&b"hello world"[..]);
         let mut b = a.split_off(5);
     
         // Ensure b becomes the unique owner of the backing storage
         drop(a);
     
         // Trigger overflow in new_cap + offset inside reserve
         b.reserve(usize::MAX - 6);
     
         // This call relies on the corrupted cap and may cause UB & HBO
         b.put_u8(b'h');
     }
     ```
     
     # Workarounds
     
     Users of `BytesMut::reserve` are only affected if integer overflow checks are configured to wrap. When integer overflow is configured to panic, this issue does not apply.
   ├ Announcement: https://github.com/advisories/GHSA-434x-w66g-qw3r
   ├ Solution: Upgrade to >=1.11.1 (try `cargo update -p bytes`)
   ├ bytes v1.8.0
     ├── h2 v0.4.6
     │   └── hyper v1.6.0
     │       ├── httpmock v0.8.0-alpha.1
     │       │   └── libdd-trace-utils v1.0.0
     │       │       └── (dev) libdd-trace-utils v1.0.0 (*)
     │       ├── hyper-rustls v0.27.3
     │       │   └── libdd-common v1.1.0
     │       │       ├── libdd-capabilities-impl v0.1.0
     │       │       │   └── (dev) libdd-trace-utils v1.0.0 (*)
     │       │       └── libdd-trace-utils v1.0.0 (*)
     │       ├── hyper-util v0.1.17
     │       │   ├── httpmock v0.8.0-alpha.1 (*)
     │       │   ├── hyper-rustls v0.27.3 (*)
     │       │   └── libdd-common v1.1.0 (*)
     │       ├── libdd-capabilities-impl v0.1.0 (*)
     │       ├── libdd-common v1.1.0 (*)
     │       └── libdd-trace-utils v1.0.0 (*)
     ├── headers v0.4.0
     │   └── httpmock v0.8.0-alpha.1 (*)
     ├── http v1.1.0
     │   ├── h2 v0.4.6 (*)
     │   ├── headers v0.4.0 (*)
     │   ├── headers-core v0.3.0
     │   │   └── headers v0.4.0 (*)
     │   ├── http-body v1.0.1
     │   │   ├── http-body-util v0.1.2
     │   │   │   ├── httpmock v0.8.0-alpha.1 (*)
     │   │   │   ├── libdd-capabilities-impl v0.1.0 (*)
     │   │   │   ├── libdd-common v1.1.0 (*)
     │   │   │   └── libdd-trace-utils v1.0.0 (*)
     │   │   ├── hyper v1.6.0 (*)
     │   │   ├── hyper-util v0.1.17 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   └── libdd-trace-utils v1.0.0 (*)
     │   ├── http-body-util v0.1.2 (*)
     │   ├── httpmock v0.8.0-alpha.1 (*)
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── libdd-capabilities v0.1.0
     │   │   ├── libdd-capabilities-impl v0.1.0 (*)
     │   │   ├── libdd-common v1.1.0 (*)
     │   │   └── libdd-trace-utils v1.0.0 (*)
     │   ├── libdd-capabilities-impl v0.1.0 (*)
     │   ├── libdd-common v1.1.0 (*)
     │   ├── libdd-trace-utils v1.0.0 (*)
     │   └── multer v3.1.0
     │       └── (dev) libdd-common v1.1.0 (*)
     ├── http-body v1.0.1 (*)
     ├── http-body-util v0.1.2 (*)
     ├── httpmock v0.8.0-alpha.1 (*)
     ├── hyper v1.6.0 (*)
     ├── hyper-util v0.1.17 (*)
     ├── libdd-capabilities v0.1.0 (*)
     ├── libdd-capabilities-impl v0.1.0 (*)
     ├── (dev) libdd-common v1.1.0 (*)
     ├── libdd-trace-utils v1.0.0 (*)
     ├── multer v3.1.0 (*)
     ├── prost v0.14.3
     │   ├── libdd-trace-protobuf v1.0.0
     │   │   ├── libdd-trace-normalization v1.0.0
     │   │   │   └── libdd-trace-utils v1.0.0 (*)
     │   │   └── libdd-trace-utils v1.0.0 (*)
     │   └── libdd-trace-utils v1.0.0 (*)
     ├── tokio v1.49.0
     │   ├── h2 v0.4.6 (*)
     │   ├── httpmock v0.8.0-alpha.1 (*)
     │   ├── hyper v1.6.0 (*)
     │   ├── hyper-rustls v0.27.3 (*)
     │   ├── hyper-util v0.1.17 (*)
     │   ├── (dev) libdd-common v1.1.0 (*)
     │   ├── (dev) libdd-trace-protobuf v1.0.0 (*)
     │   ├── (dev) libdd-trace-utils v1.0.0 (*)
     │   ├── tokio-rustls v0.26.0
     │   │   ├── hyper-rustls v0.27.3 (*)
     │   │   └── libdd-common v1.1.0 (*)
     │   └── tokio-util v0.7.12
     │       └── h2 v0.4.6 (*)
     └── tokio-util v0.7.12 (*)

advisories FAILED, bans ok, sources ok

Updated: 2026-03-04 13:58:01 UTC | Commit: 7ae7166 | dependency-check job results

Copy link
Contributor

@bantonsson bantonsson left a comment

Choose a reason for hiding this comment

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

So I don't think this looks that terrible, and as you said bundling up the capabilities in some common type will ensure that it doesn't get too unwieldy.

#[no_mangle]
pub unsafe extern "C" fn ddog_trace_exporter_new(
out_handle: NonNull<Box<TraceExporter>>,
out_handle: NonNull<Box<TraceExporter<DefaultHttpClient>>>,
Copy link
Contributor

Choose a reason for hiding this comment

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

So this is just turbofish noise, since the builder isn't generic with the type and you need to repeat it below at the builder.build::<DefaultHttpClient>() call.

Either get the generic builder directly TraceExporterBuilder::default() or have the H propagate to the builder so we have builder.build() (which I prefer).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If I make TraceExporterBuilder generic over H, I believe I'd be required to manually impl Default with a PhantomData<H> for perfect derive reasons, which seems worth it for how much boilerplate it shaves off, but yeah

@pr-commenter
Copy link

pr-commenter bot commented Mar 4, 2026

Benchmarks

Comparison

Benchmark execution time: 2026-03-04 14:09:12

Comparing candidate commit e0697b5 in PR branch jwiriath/capability-traits-architecture-generics with baseline commit f44f4cb in branch jwiriath/capability-traits-architecture.

Found 5 performance improvements and 2 performance regressions! Performance is the same for 50 metrics, 2 unstable metrics.

scenario:credit_card/is_card_number/ 378282246310005

  • 🟩 execution_time [-3.868µs; -3.676µs] or [-5.148%; -4.892%]
  • 🟩 throughput [+685733.278op/s; +722642.229op/s] or [+5.153%; +5.430%]

scenario:credit_card/is_card_number/378282246310005

  • 🟩 execution_time [-4.276µs; -4.070µs] or [-5.904%; -5.619%]
  • 🟩 throughput [+823500.587op/s; +866885.058op/s] or [+5.965%; +6.279%]

scenario:credit_card/is_card_number_no_luhn/x371413321323331

  • 🟥 execution_time [+261.220ns; +281.068ns] or [+4.531%; +4.876%]
  • 🟥 throughput [-8113681.261op/s; -7524418.515op/s] or [-4.677%; -4.337%]

scenario:single_flag_killswitch/rules-based

  • 🟩 execution_time [-16.448ns; -11.622ns] or [-8.053%; -5.690%]

Candidate

Candidate benchmark details

Group 1

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_trace/test_trace execution_time 247.390ns 255.350ns ± 11.518ns 250.438ns ± 1.943ns 255.411ns 285.824ns 293.627ns 296.687ns 18.47% 2.157 3.579 4.50% 0.814ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_trace/test_trace execution_time [253.754ns; 256.946ns] or [-0.625%; +0.625%] None None None

Group 2

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
tags/replace_trace_tags execution_time 2.402µs 2.421µs ± 0.011µs 2.419µs ± 0.006µs 2.427µs 2.445µs 2.450µs 2.453µs 1.40% 0.717 0.124 0.46% 0.001µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
tags/replace_trace_tags execution_time [2.420µs; 2.423µs] or [-0.065%; +0.065%] None None None

Group 3

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
two way interface execution_time 17.935µs 26.276µs ± 9.648µs 18.383µs ± 0.319µs 34.423µs 43.470µs 45.030µs 63.713µs 246.59% 0.851 0.268 36.63% 0.682µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
two way interface execution_time [24.939µs; 27.614µs] or [-5.089%; +5.089%] None None None

Group 4

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
credit_card/is_card_number/ execution_time 3.895µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.915µs 3.918µs 3.919µs 3.920µs 0.16% -1.346 8.094 0.07% 0.000µs 1 200
credit_card/is_card_number/ throughput 255115382.819op/s 255515044.139op/s ± 181243.747op/s 255515296.683op/s ± 115568.379op/s 255634919.743op/s 255768276.344op/s 255824671.937op/s 256718419.466op/s 0.47% 1.364 8.229 0.07% 12815.868op/s 1 200
credit_card/is_card_number/ 3782-8224-6310-005 execution_time 76.818µs 78.721µs ± 0.829µs 78.669µs ± 0.589µs 79.257µs 80.069µs 80.851µs 81.092µs 3.08% 0.283 -0.193 1.05% 0.059µs 1 200
credit_card/is_card_number/ 3782-8224-6310-005 throughput 12331659.497op/s 12704453.853op/s ± 133391.679op/s 12711444.124op/s ± 95107.954op/s 12807670.998op/s 12917994.603op/s 12962774.784op/s 13017839.668op/s 2.41% -0.229 -0.244 1.05% 9432.216op/s 1 200
credit_card/is_card_number/ 378282246310005 execution_time 69.943µs 71.375µs ± 0.626µs 71.374µs ± 0.416µs 71.762µs 72.478µs 72.946µs 73.438µs 2.89% 0.281 0.184 0.87% 0.044µs 1 200
credit_card/is_card_number/ 378282246310005 throughput 13617014.044op/s 14011582.692op/s ± 122536.542op/s 14010697.939op/s ± 82101.346op/s 14096858.583op/s 14195421.270op/s 14272520.004op/s 14297294.080op/s 2.05% -0.226 0.117 0.87% 8664.642op/s 1 200
credit_card/is_card_number/37828224631 execution_time 3.892µs 3.913µs ± 0.003µs 3.913µs ± 0.002µs 3.915µs 3.917µs 3.919µs 3.922µs 0.25% -1.521 12.697 0.07% 0.000µs 1 200
credit_card/is_card_number/37828224631 throughput 254943495.006op/s 255566040.795op/s ± 191243.241op/s 255589405.820op/s ± 113744.668op/s 255682981.914op/s 255799457.089op/s 255862714.093op/s 256957842.326op/s 0.54% 1.548 12.917 0.07% 13522.939op/s 1 200
credit_card/is_card_number/378282246310005 execution_time 66.705µs 68.260µs ± 0.676µs 68.179µs ± 0.469µs 68.714µs 69.469µs 69.847µs 70.106µs 2.83% 0.322 -0.310 0.99% 0.048µs 1 200
credit_card/is_card_number/378282246310005 throughput 14264132.213op/s 14651308.705op/s ± 144748.895op/s 14667355.056op/s ± 100805.137op/s 14749849.063op/s 14857336.037op/s 14943609.753op/s 14991483.217op/s 2.21% -0.275 -0.333 0.99% 10235.293op/s 1 200
credit_card/is_card_number/37828224631000521389798 execution_time 52.153µs 52.232µs ± 0.036µs 52.236µs ± 0.025µs 52.257µs 52.291µs 52.305µs 52.325µs 0.17% 0.032 -0.650 0.07% 0.003µs 1 200
credit_card/is_card_number/37828224631000521389798 throughput 19111401.454op/s 19145291.018op/s ± 13284.630op/s 19144024.790op/s ± 8980.011op/s 19155967.614op/s 19165666.817op/s 19171962.175op/s 19174427.067op/s 0.16% -0.029 -0.651 0.07% 939.365op/s 1 200
credit_card/is_card_number/x371413321323331 execution_time 6.026µs 6.035µs ± 0.004µs 6.034µs ± 0.002µs 6.037µs 6.042µs 6.044µs 6.046µs 0.19% 0.443 0.004 0.06% 0.000µs 1 200
credit_card/is_card_number/x371413321323331 throughput 165407885.261op/s 165711968.302op/s ± 106935.626op/s 165718495.154op/s ± 61477.717op/s 165785000.443op/s 165878990.825op/s 165911434.838op/s 165955865.681op/s 0.14% -0.440 0.000 0.06% 7561.491op/s 1 200
credit_card/is_card_number_no_luhn/ execution_time 3.898µs 3.912µs ± 0.003µs 3.912µs ± 0.002µs 3.914µs 3.916µs 3.918µs 3.922µs 0.25% -0.516 5.094 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/ throughput 254997898.961op/s 255615995.905op/s ± 163790.928op/s 255624220.395op/s ± 109008.658op/s 255728868.170op/s 255851575.016op/s 255941743.408op/s 256559506.900op/s 0.37% 0.529 5.151 0.06% 11581.768op/s 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time 64.121µs 64.451µs ± 0.136µs 64.457µs ± 0.082µs 64.525µs 64.702µs 64.819µs 64.899µs 0.68% 0.345 0.443 0.21% 0.010µs 1 200
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput 15408649.230op/s 15515664.531op/s ± 32663.244op/s 15514103.839op/s ± 19714.799op/s 15539117.737op/s 15568100.806op/s 15583080.954op/s 15595400.916op/s 0.52% -0.331 0.425 0.21% 2309.640op/s 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time 58.023µs 58.225µs ± 0.111µs 58.206µs ± 0.062µs 58.279µs 58.440µs 58.603µs 58.652µs 0.77% 1.136 1.920 0.19% 0.008µs 1 200
credit_card/is_card_number_no_luhn/ 378282246310005 throughput 17049760.663op/s 17174890.250op/s ± 32556.190op/s 17180446.436op/s ± 18315.631op/s 17197506.303op/s 17217205.130op/s 17232040.590op/s 17234594.713op/s 0.32% -1.121 1.871 0.19% 2302.070op/s 1 200
credit_card/is_card_number_no_luhn/37828224631 execution_time 3.893µs 3.914µs ± 0.003µs 3.914µs ± 0.002µs 3.916µs 3.919µs 3.921µs 3.924µs 0.25% -0.876 6.560 0.08% 0.000µs 1 200
credit_card/is_card_number_no_luhn/37828224631 throughput 254866443.403op/s 255525185.296op/s ± 216281.026op/s 255512091.065op/s ± 136269.551op/s 255662100.331op/s 255803623.521op/s 255902185.693op/s 256880033.205op/s 0.54% 0.896 6.682 0.08% 15293.378op/s 1 200
credit_card/is_card_number_no_luhn/378282246310005 execution_time 54.595µs 54.873µs ± 0.217µs 54.800µs ± 0.117µs 54.968µs 55.293µs 55.467µs 55.587µs 1.44% 1.113 0.553 0.40% 0.015µs 1 200
credit_card/is_card_number_no_luhn/378282246310005 throughput 17989658.601op/s 18224323.150op/s ± 71887.770op/s 18248127.873op/s ± 39168.856op/s 18279438.832op/s 18301956.024op/s 18316343.032op/s 18316853.337op/s 0.38% -1.098 0.507 0.39% 5083.233op/s 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time 52.145µs 52.206µs ± 0.029µs 52.204µs ± 0.020µs 52.224µs 52.258µs 52.275µs 52.327µs 0.24% 0.569 0.644 0.06% 0.002µs 1 200
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput 19110724.252op/s 19155003.966op/s ± 10805.615op/s 19155636.504op/s ± 7263.165op/s 19162785.392op/s 19169779.422op/s 19175109.483op/s 19177142.764op/s 0.11% -0.566 0.634 0.06% 764.072op/s 1 200
credit_card/is_card_number_no_luhn/x371413321323331 execution_time 6.027µs 6.036µs ± 0.004µs 6.036µs ± 0.002µs 6.038µs 6.042µs 6.045µs 6.054µs 0.31% 0.638 1.751 0.06% 0.000µs 1 200
credit_card/is_card_number_no_luhn/x371413321323331 throughput 165178041.703op/s 165679734.879op/s ± 104998.229op/s 165683956.053op/s ± 66125.584op/s 165752925.477op/s 165831676.042op/s 165884186.448op/s 165907667.304op/s 0.14% -0.632 1.726 0.06% 7424.496op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
credit_card/is_card_number/ execution_time [3.913µs; 3.914µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ throughput [255489925.499op/s; 255540162.779op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 execution_time [78.606µs; 78.836µs] or [-0.146%; +0.146%] None None None
credit_card/is_card_number/ 3782-8224-6310-005 throughput [12685967.049op/s; 12722940.657op/s] or [-0.146%; +0.146%] None None None
credit_card/is_card_number/ 378282246310005 execution_time [71.288µs; 71.462µs] or [-0.121%; +0.121%] None None None
credit_card/is_card_number/ 378282246310005 throughput [13994600.306op/s; 14028565.079op/s] or [-0.121%; +0.121%] None None None
credit_card/is_card_number/37828224631 execution_time [3.912µs; 3.913µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631 throughput [255539536.321op/s; 255592545.269op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/378282246310005 execution_time [68.166µs; 68.354µs] or [-0.137%; +0.137%] None None None
credit_card/is_card_number/378282246310005 throughput [14631247.900op/s; 14671369.509op/s] or [-0.137%; +0.137%] None None None
credit_card/is_card_number/37828224631000521389798 execution_time [52.227µs; 52.237µs] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/37828224631000521389798 throughput [19143449.897op/s; 19147132.140op/s] or [-0.010%; +0.010%] None None None
credit_card/is_card_number/x371413321323331 execution_time [6.034µs; 6.035µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number/x371413321323331 throughput [165697148.053op/s; 165726788.551op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ execution_time [3.912µs; 3.912µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ throughput [255593296.057op/s; 255638695.752op/s] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 execution_time [64.432µs; 64.470µs] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 3782-8224-6310-005 throughput [15511137.720op/s; 15520191.343op/s] or [-0.029%; +0.029%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 execution_time [58.209µs; 58.240µs] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/ 378282246310005 throughput [17170378.275op/s; 17179402.225op/s] or [-0.026%; +0.026%] None None None
credit_card/is_card_number_no_luhn/37828224631 execution_time [3.913µs; 3.914µs] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/37828224631 throughput [255495210.826op/s; 255555159.766op/s] or [-0.012%; +0.012%] None None None
credit_card/is_card_number_no_luhn/378282246310005 execution_time [54.842µs; 54.903µs] or [-0.055%; +0.055%] None None None
credit_card/is_card_number_no_luhn/378282246310005 throughput [18214360.197op/s; 18234286.104op/s] or [-0.055%; +0.055%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 execution_time [52.202µs; 52.210µs] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/37828224631000521389798 throughput [19153506.412op/s; 19156501.521op/s] or [-0.008%; +0.008%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 execution_time [6.035µs; 6.036µs] or [-0.009%; +0.009%] None None None
credit_card/is_card_number_no_luhn/x371413321323331 throughput [165665183.134op/s; 165694286.623op/s] or [-0.009%; +0.009%] None None None

Group 5

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
write only interface execution_time 1.268µs 3.262µs ± 1.437µs 3.039µs ± 0.029µs 3.071µs 3.697µs 14.125µs 14.930µs 391.27% 7.317 54.825 43.95% 0.102µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
write only interface execution_time [3.063µs; 3.462µs] or [-6.106%; +6.106%] None None None

Group 6

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time 494.110µs 494.792µs ± 0.365µs 494.747µs ± 0.278µs 495.045µs 495.406µs 495.636µs 495.980µs 0.25% 0.421 -0.357 0.07% 0.026µs 1 200
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput 2016212.138op/s 2021052.398op/s ± 1489.190op/s 2021235.323op/s ± 1134.534op/s 2022247.645op/s 2023231.327op/s 2023473.213op/s 2023842.666op/s 0.13% -0.418 -0.362 0.07% 105.302op/s 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time 370.524µs 371.183µs ± 0.266µs 371.149µs ± 0.184µs 371.350µs 371.663µs 371.819µs 372.045µs 0.24% 0.464 -0.009 0.07% 0.019µs 1 200
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput 2687848.471op/s 2694087.944op/s ± 1927.140op/s 2694337.277op/s ± 1338.455op/s 2695526.616op/s 2696917.498op/s 2697622.765op/s 2698881.771op/s 0.17% -0.460 -0.014 0.07% 136.269op/s 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time 167.661µs 168.010µs ± 0.138µs 168.000µs ± 0.084µs 168.090µs 168.223µs 168.417µs 168.650µs 0.39% 0.728 1.984 0.08% 0.010µs 1 200
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput 5929435.580op/s 5952028.810op/s ± 4892.119op/s 5952375.597op/s ± 2975.521op/s 5955188.934op/s 5958886.566op/s 5961210.121op/s 5964409.674op/s 0.20% -0.719 1.955 0.08% 345.925op/s 1 200
normalization/normalize_service/normalize_service/[empty string] execution_time 36.532µs 36.682µs ± 0.054µs 36.676µs ± 0.040µs 36.721µs 36.769µs 36.814µs 36.853µs 0.48% 0.191 -0.008 0.15% 0.004µs 1 200
normalization/normalize_service/normalize_service/[empty string] throughput 27135042.746op/s 27261388.478op/s ± 39859.882op/s 27265830.115op/s ± 29801.776op/s 27289809.367op/s 27322422.818op/s 27347148.437op/s 27373301.005op/s 0.39% -0.182 -0.014 0.15% 2818.519op/s 1 200
normalization/normalize_service/normalize_service/test_ASCII execution_time 45.388µs 45.497µs ± 0.115µs 45.478µs ± 0.028µs 45.511µs 45.589µs 45.782µs 46.915µs 3.16% 9.608 113.705 0.25% 0.008µs 1 200
normalization/normalize_service/normalize_service/test_ASCII throughput 21315310.513op/s 21979816.801op/s ± 54325.716op/s 21988833.220op/s ± 13496.164op/s 21999564.030op/s 22015065.456op/s 22024406.340op/s 22032077.758op/s 0.20% -9.432 110.659 0.25% 3841.408op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... execution_time [494.741µs; 494.843µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/A0000000000000000000000000000000000000000000000000... throughput [2020846.011op/s; 2021258.786op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて execution_time [371.147µs; 371.220µs] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Data🐨dog🐶 繋がっ⛰てて throughput [2693820.861op/s; 2694355.027op/s] or [-0.010%; +0.010%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters execution_time [167.991µs; 168.029µs] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/Test Conversion 0f Weird !@#$%^&**() Characters throughput [5951350.810op/s; 5952706.811op/s] or [-0.011%; +0.011%] None None None
normalization/normalize_service/normalize_service/[empty string] execution_time [36.675µs; 36.689µs] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/[empty string] throughput [27255864.282op/s; 27266912.674op/s] or [-0.020%; +0.020%] None None None
normalization/normalize_service/normalize_service/test_ASCII execution_time [45.481µs; 45.513µs] or [-0.035%; +0.035%] None None None
normalization/normalize_service/normalize_service/test_ASCII throughput [21972287.779op/s; 21987345.822op/s] or [-0.034%; +0.034%] None None None

Group 7

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample_frames_x1000 execution_time 4.210ms 4.214ms ± 0.006ms 4.214ms ± 0.001ms 4.215ms 4.218ms 4.221ms 4.293ms 1.89% 11.553 149.043 0.14% 0.000ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample_frames_x1000 execution_time [4.213ms; 4.215ms] or [-0.020%; +0.020%] None None None

Group 8

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
single_flag_killswitch/rules-based execution_time 187.225ns 190.218ns ± 2.413ns 189.647ns ± 1.318ns 191.105ns 195.288ns 198.476ns 200.210ns 5.57% 1.573 2.848 1.27% 0.171ns 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
single_flag_killswitch/rules-based execution_time [189.884ns; 190.553ns] or [-0.176%; +0.176%] None None None

Group 9

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching string interning on wordpress profile execution_time 162.528µs 162.961µs ± 0.247µs 162.913µs ± 0.135µs 163.076µs 163.372µs 163.870µs 163.967µs 0.65% 1.268 2.495 0.15% 0.017µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching string interning on wordpress profile execution_time [162.927µs; 162.995µs] or [-0.021%; +0.021%] None None None

Group 10

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sdk_test_data/rules-based execution_time 143.456µs 145.936µs ± 1.852µs 145.624µs ± 0.535µs 146.144µs 148.450µs 154.541µs 162.421µs 11.53% 5.099 35.725 1.27% 0.131µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sdk_test_data/rules-based execution_time [145.679µs; 146.193µs] or [-0.176%; +0.176%] None None None

Group 11

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
concentrator/add_spans_to_concentrator execution_time 10.665ms 10.702ms ± 0.016ms 10.700ms ± 0.010ms 10.712ms 10.727ms 10.744ms 10.770ms 0.66% 0.827 2.248 0.15% 0.001ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
concentrator/add_spans_to_concentrator execution_time [10.700ms; 10.704ms] or [-0.021%; +0.021%] None None None

Group 12

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching deserializing traces from msgpack to their internal representation execution_time 48.969ms 49.950ms ± 1.279ms 49.835ms ± 0.111ms 49.950ms 50.252ms 54.701ms 62.204ms 24.82% 8.245 72.634 2.55% 0.090ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching deserializing traces from msgpack to their internal representation execution_time [49.773ms; 50.128ms] or [-0.355%; +0.355%] None None None

Group 13

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
sql/obfuscate_sql_string execution_time 85.285µs 85.507µs ± 0.210µs 85.480µs ± 0.039µs 85.520µs 85.609µs 86.182µs 88.005µs 2.95% 9.122 100.650 0.25% 0.015µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
sql/obfuscate_sql_string execution_time [85.478µs; 85.536µs] or [-0.034%; +0.034%] None None None

Group 14

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
redis/obfuscate_redis_string execution_time 33.966µs 34.828µs ± 1.155µs 34.108µs ± 0.066µs 36.381µs 36.769µs 36.837µs 36.991µs 8.45% 0.922 -1.105 3.31% 0.082µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
redis/obfuscate_redis_string execution_time [34.668µs; 34.988µs] or [-0.460%; +0.460%] None None None

Group 15

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
ip_address/quantize_peer_ip_address_benchmark execution_time 5.094µs 5.187µs ± 0.040µs 5.179µs ± 0.041µs 5.225µs 5.238µs 5.241µs 5.267µs 1.70% -0.208 -1.215 0.76% 0.003µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
ip_address/quantize_peer_ip_address_benchmark execution_time [5.182µs; 5.193µs] or [-0.106%; +0.106%] None None None

Group 16

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time 185.328µs 185.912µs ± 0.472µs 185.793µs ± 0.204µs 186.015µs 187.029µs 187.426µs 187.744µs 1.05% 1.729 2.600 0.25% 0.033µs 1 200
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput 5326396.944op/s 5378910.361op/s ± 13600.165op/s 5382328.672op/s ± 5928.604op/s 5387908.899op/s 5392358.121op/s 5394645.394op/s 5395834.362op/s 0.25% -1.717 2.555 0.25% 961.677op/s 1 200
normalization/normalize_name/normalize_name/bad-name execution_time 17.799µs 17.888µs ± 0.033µs 17.891µs ± 0.020µs 17.907µs 17.941µs 17.962µs 17.974µs 0.46% -0.063 -0.054 0.18% 0.002µs 1 200
normalization/normalize_name/normalize_name/bad-name throughput 55636880.987op/s 55903086.271op/s ± 101705.861op/s 55894943.811op/s ± 63223.834op/s 55968907.626op/s 56080301.826op/s 56125629.496op/s 56182480.697op/s 0.51% 0.073 -0.055 0.18% 7191.690op/s 1 200
normalization/normalize_name/normalize_name/good execution_time 9.794µs 9.839µs ± 0.023µs 9.833µs ± 0.012µs 9.857µs 9.877µs 9.902µs 9.911µs 0.80% 0.500 0.071 0.23% 0.002µs 1 200
normalization/normalize_name/normalize_name/good throughput 100895678.455op/s 101641511.581op/s ± 238201.710op/s 101701183.449op/s ± 121113.150op/s 101778423.745op/s 102054681.633op/s 102091897.001op/s 102106487.784op/s 0.40% -0.488 0.055 0.23% 16843.404op/s 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... execution_time [185.847µs; 185.978µs] or [-0.035%; +0.035%] None None None
normalization/normalize_name/normalize_name/Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Long-.Too-Lo... throughput [5377025.509op/s; 5380795.213op/s] or [-0.035%; +0.035%] None None None
normalization/normalize_name/normalize_name/bad-name execution_time [17.884µs; 17.893µs] or [-0.025%; +0.025%] None None None
normalization/normalize_name/normalize_name/bad-name throughput [55888990.817op/s; 55917181.725op/s] or [-0.025%; +0.025%] None None None
normalization/normalize_name/normalize_name/good execution_time [9.835µs; 9.842µs] or [-0.033%; +0.033%] None None None
normalization/normalize_name/normalize_name/good throughput [101608499.115op/s; 101674524.047op/s] or [-0.032%; +0.032%] None None None

Group 17

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
profile_add_sample2_frames_x1000 execution_time 746.569µs 747.640µs ± 0.492µs 747.631µs ± 0.313µs 747.938µs 748.363µs 748.969µs 750.192µs 0.34% 0.831 3.028 0.07% 0.035µs 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
profile_add_sample2_frames_x1000 execution_time [747.572µs; 747.708µs] or [-0.009%; +0.009%] None None None

Group 18

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
receiver_entry_point/report/2597 execution_time 3.382ms 3.419ms ± 0.025ms 3.412ms ± 0.011ms 3.426ms 3.467ms 3.522ms 3.546ms 3.94% 1.997 5.391 0.74% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
receiver_entry_point/report/2597 execution_time [3.415ms; 3.422ms] or [-0.103%; +0.103%] None None None

Group 19

cpu_model git_commit_sha git_commit_date git_branch
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz e0697b5 1772632402 jwiriath/capability-traits-architecture-generics
scenario metric min mean ± sd median ± mad p75 p95 p99 max peak_to_median_ratio skewness kurtosis cv sem runs sample_size
benching serializing traces from their internal representation to msgpack execution_time 14.855ms 14.909ms ± 0.030ms 14.904ms ± 0.014ms 14.919ms 14.951ms 15.025ms 15.084ms 1.21% 2.303 8.766 0.20% 0.002ms 1 200
scenario metric 95% CI mean Shapiro-Wilk pvalue Ljung-Box pvalue (lag=1) Dip test pvalue
benching serializing traces from their internal representation to msgpack execution_time [14.905ms; 14.913ms] or [-0.028%; +0.028%] None None None

Baseline

Omitted due to size.

@Aaalibaba42 Aaalibaba42 force-pushed the jwiriath/capability-traits-architecture branch 3 times, most recently from c299887 to 3dcd39b Compare March 9, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants