Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Benchmarks and instrumentation #395

Merged
merged 55 commits into from
Mar 8, 2024
Merged

Benchmarks and instrumentation #395

merged 55 commits into from
Mar 8, 2024

Conversation

FelixMcFelix
Copy link
Collaborator

@FelixMcFelix FelixMcFelix commented Sep 29, 2023

This PR provides two new benchmarking tools locally scoped to the repository for measuring how XDE/OPTE performs on different test setups. These produce a mixture of flame graphs and histograms/stats of rx/tx timing information.

  • cargo ubench. This is a standard set of microbenchmarks using criterion in the expected way, which measures individual packet parse and processing times for various classes of packet: modified ULP traffic and hairpin packets. In addition, it measures the number and total size of memory allocations made for each packet class. This uses the standard criterion CLI, so offers full support for saving/comparing baselines and filtering down to specific benchmarks. These are designed to run on any compatible development machine.
  • cargo kbench. This is explicitly used for measuring the XDE kernel module in real Helios deployments using dtrace, and is something of a swiss-army knife in setting up zone-based deployment. Outputs are fed into criterion for more robust comparison of statistics on rx/tx timing, and flamegraphs are built in parallel. It operates in a few modes:
    • cargo kbench local. This spins up an identical topology to the existing XDE tests, runs iperf between the two nodes, and collects statistics.
    • cargo kbench remote/server. These commands allow two physical machines on the same lab network to run iperf over a physical underlay, allowing better measurement of rx/tx timings on one node.
    • cargo kbench in-situ. This produces identical statistics/flamegraphs to the above without building any topology or spawning a workload. This is intended for, e.g., taking live measurements from a gimlet.

There are some caveats to ubench today that would need extra engineering work to be spent on criterion. From what I can tell, saving of reports (and generation of plots) for elements with zero variance such as allocation counts/sizes are not an intended use case, so there are some deep NaN propagation issues preventing the results from being persisted and compared/saved as baselines. This only affects memory statistics, which can be rerun very quickly using a filter such as cargo ubench alloc_ct or cargo ubench alloc_sz.

Will close #392.

@FelixMcFelix
Copy link
Collaborator Author

FelixMcFelix commented Feb 14, 2024

We're in a better place with this now that I've had the time to dive back in! I have box-to-box iperf instrumentation working over the out-ports of a pair of Intel I350-T2 NICs (2 x 1GbE), so we can meaningfully separate Rx and Tx processing for each direction of iperf traffic.

Thanks to #381, I'm getting (typically) 1.6--1.75Gbps, though I do have to set around iperf -c -P 8 to minimise the chance that every flow gets put on the same out-path.

###----------------------###
:::  Running experiment  :::
:::iperf-tcp/over-nic/c2s:::
###----------------------###
Run 1/5...1607.884Mbps
Run 2/5...1730.36Mbps
Run 3/5...1625.038Mbps
Run 4/5...1661.736Mbps
Run 5/5...1472.234Mbps
###----------------------###
:::  Running experiment  :::
:::iperf-tcp/over-nic/s2c:::
###----------------------###
Run 1/5...1753.027Mbps
Run 2/5...1758.724Mbps
Run 3/5...1762.283Mbps
Run 4/5...1729.637Mbps
Run 5/5...1777.608Mbps

So, we get nice graphs like this of aggregate packet processing times (receive of large TCP segments):
median

...and nice demangled flamegraphs like these:

rxs2c
txs2c
rxc2s
txc2s

(github seems to have broken the interactivity when viewed on private-user-images.githubusercontent.com, but zooming into actual functions works if you save them to disk and reopen 🤷)

Since these are actually box-to-box, these should be higher fidelity than the initial prototype.

Still to do:

  • Add lockstat to kernel module-based benchmarks
  • Turn off USDT in the userland benchmarks
  • Add slow-/fast-path {In/Out} processing microbenchmarks
  • Add some more hairpin processing benchmarks.

@FelixMcFelix FelixMcFelix marked this pull request as ready for review March 4, 2024 16:14
@rcgoodfellow
Copy link
Contributor

rcgoodfellow commented Mar 6, 2024

An initial high-level observation is that we should run all the benchmarks we can in CI to maintain history. The ubench test for sure, and the kbench ones if possible.

Update: we should be able to run cargo kbench local in CI since it's based on the xde loopback tests.

@rcgoodfellow
Copy link
Contributor

rcgoodfellow commented Mar 6, 2024

There are many great tests in cargo utest. It would be amazing if we could somehow create a bar chart with candlesticks from CI. Kicking out graphs from cargo kbench local in CI would be great too.

@rcgoodfellow
Copy link
Contributor

Toward the tail end of cargo utest I got quite a few warnings on my workstation. Copied below.

Warning: It is not recommended to reduce nresamples below 1000.
Benchmarking parse/Hairpin-DHCPv4/alloc_ct/Discover: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 155.1µs.
Benchmarking parse/Hairpin-DHCPv4/alloc_ct/Discover: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-DHCPv4/alloc_ct/Discover took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-DHCPv4/alloc_ct/Discover: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 211.1µs.
process/Hairpin-DHCPv4/alloc_ct/Discover
time: [15.000 15.000 15.000 ]

Benchmarking parse/Hairpin-DHCPv4/alloc_ct/Request: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 32.3µs.
Benchmarking parse/Hairpin-DHCPv4/alloc_ct/Request: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-DHCPv4/alloc_ct/Request took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-DHCPv4/alloc_ct/Request: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 63.2µs.
process/Hairpin-DHCPv4/alloc_ct/Request
time: [14.000 14.000 14.000 ]

Benchmarking parse/Hairpin-DHCPv6/alloc_ct/Solicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 80.1µs.
Benchmarking parse/Hairpin-DHCPv6/alloc_ct/Solicit: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-DHCPv6/alloc_ct/Solicit took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-DHCPv6/alloc_ct/Solicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 105.9µs.
process/Hairpin-DHCPv6/alloc_ct/Solicit
time: [16.000 16.000 16.000 ]

Benchmarking parse/Hairpin-DHCPv6/alloc_ct/Request: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 47.4µs.
Benchmarking parse/Hairpin-DHCPv6/alloc_ct/Request: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-DHCPv6/alloc_ct/Request took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-DHCPv6/alloc_ct/Request: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 80.7µs.
process/Hairpin-DHCPv6/alloc_ct/Request
time: [17.000 17.000 17.000 ]

Benchmarking parse/Hairpin-ICMPv4/alloc_ct/EchoRequest: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 40.3µs.
Benchmarking parse/Hairpin-ICMPv4/alloc_ct/EchoRequest: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-ICMPv4/alloc_ct/EchoRequest took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-ICMPv4/alloc_ct/EchoRequest: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 42.7µs.
process/Hairpin-ICMPv4/alloc_ct/EchoRequest
time: [8.0000 8.0000 8.0000 ]

Benchmarking parse/Hairpin-ICMPv6/alloc_ct/EchoRequest: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 66.6µs.
parse/Hairpin-ICMPv6/alloc_ct/EchoRequest
time: [4.0000 4.0000 4.0000 ]

Benchmarking process/Hairpin-ICMPv6/alloc_ct/EchoRequest: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 72.6µs.
process/Hairpin-ICMPv6/alloc_ct/EchoRequest
time: [8.0000 8.0000 8.0000 ]

Benchmarking parse/Hairpin-ICMPv6/alloc_ct/NeighborSolicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 47.8µs.
Benchmarking parse/Hairpin-ICMPv6/alloc_ct/NeighborSolicit: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-ICMPv6/alloc_ct/NeighborSolicit took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-ICMPv6/alloc_ct/NeighborSolicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 69.6µs.
process/Hairpin-ICMPv6/alloc_ct/NeighborSolicit
time: [8.0000 8.0000 8.0000 ]

Benchmarking parse/Hairpin-ICMPv6/alloc_ct/RouterSolicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 34.8µs.
Benchmarking parse/Hairpin-ICMPv6/alloc_ct/RouterSolicit: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-ICMPv6/alloc_ct/RouterSolicit took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-ICMPv6/alloc_ct/RouterSolicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 65.2µs.
process/Hairpin-ICMPv6/alloc_ct/RouterSolicit
time: [8.0000 8.0000 8.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V4-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 49.1µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V4-Tcp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V4-Tcp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V4-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 230.2µs.
process/ULP-FastPath/alloc_ct/V4-Tcp-OUT-0B
time: [3.0000 3.0000 3.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V4-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 53.7µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V4-Tcp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V4-Tcp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V4-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 148.5µs.
process/ULP-FastPath/alloc_ct/V4-Tcp-OUT-1400B
time: [4.0000 4.0000 4.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V4-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 52.4µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V4-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V4-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V4-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 144.8µs.
Benchmarking process/ULP-FastPath/alloc_ct/V4-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_ct/V4-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_ct/V4-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 46.2µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V4-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V4-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V4-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 141.1µs.
Benchmarking process/ULP-FastPath/alloc_ct/V4-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_ct/V4-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_ct/V4-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 17.8µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V4-Udp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V4-Udp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V4-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 90.4µs.
process/ULP-FastPath/alloc_ct/V4-Udp-OUT-0B
time: [3.0000 3.0000 3.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V4-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 39.2µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V4-Udp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V4-Udp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V4-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 118.8µs.
process/ULP-FastPath/alloc_ct/V4-Udp-OUT-1400B
time: [4.0000 4.0000 4.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V4-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 43.1µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V4-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V4-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V4-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 123.7µs.
Benchmarking process/ULP-FastPath/alloc_ct/V4-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_ct/V4-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_ct/V4-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 41.9µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V4-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V4-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V4-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 131.7µs.
Benchmarking process/ULP-FastPath/alloc_ct/V4-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_ct/V4-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_ct/V6-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 28.9µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V6-Tcp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V6-Tcp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V6-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 109.2µs.
process/ULP-FastPath/alloc_ct/V6-Tcp-OUT-0B
time: [3.0000 3.0000 3.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V6-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 46.7µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V6-Tcp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V6-Tcp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V6-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 135.4µs.
process/ULP-FastPath/alloc_ct/V6-Tcp-OUT-1400B
time: [4.0000 4.0000 4.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V6-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 54.5µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V6-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V6-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V6-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 142.3µs.
Benchmarking process/ULP-FastPath/alloc_ct/V6-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_ct/V6-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_ct/V6-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 44.6µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V6-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V6-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V6-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 167.0µs.
Benchmarking process/ULP-FastPath/alloc_ct/V6-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_ct/V6-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_ct/V6-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 23.6µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V6-Udp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V6-Udp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V6-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 97.6µs.
process/ULP-FastPath/alloc_ct/V6-Udp-OUT-0B
time: [3.0000 3.0000 3.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V6-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 45.8µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V6-Udp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V6-Udp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V6-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 129.3µs.
process/ULP-FastPath/alloc_ct/V6-Udp-OUT-1400B
time: [4.0000 4.0000 4.0000 ]

Benchmarking parse/ULP-FastPath/alloc_ct/V6-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 47.9µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V6-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V6-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V6-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 129.4µs.
Benchmarking process/ULP-FastPath/alloc_ct/V6-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_ct/V6-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_ct/V6-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 45.0µs.
Benchmarking parse/ULP-FastPath/alloc_ct/V6-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_ct/V6-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_ct/V6-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 140.3µs.
Benchmarking process/ULP-FastPath/alloc_ct/V6-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_ct/V6-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 20.7µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 92.5µs.
process/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-0B
time: [17.000 17.000 17.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 40.1µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 126.5µs.
process/ULP-SlowPath/alloc_ct/V4-Tcp-OUT-1400B
time: [19.000 19.000 19.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 43.4µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V4-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V4-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 86.8µs.
process/ULP-SlowPath/alloc_ct/V4-Tcp-IN-0B
time: [10.000 10.000 10.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 60.1µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V4-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V4-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 109.2µs.
process/ULP-SlowPath/alloc_ct/V4-Tcp-IN-1400B
time: [11.000 11.000 11.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 29.1µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Udp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V4-Udp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V4-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 94.8µs.
process/ULP-SlowPath/alloc_ct/V4-Udp-OUT-0B
time: [17.000 17.000 17.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 38.3µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Udp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V4-Udp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V4-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 117.0µs.
process/ULP-SlowPath/alloc_ct/V4-Udp-OUT-1400B
time: [19.000 19.000 19.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 42.2µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V4-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V4-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 88.1µs.
process/ULP-SlowPath/alloc_ct/V4-Udp-IN-0B
time: [10.000 10.000 10.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 65.4µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V4-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V4-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V4-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 106.7µs.
process/ULP-SlowPath/alloc_ct/V4-Udp-IN-1400B
time: [11.000 11.000 11.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 36.5µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 106.8µs.
process/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-0B
time: [17.000 17.000 17.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 45.6µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 130.8µs.
process/ULP-SlowPath/alloc_ct/V6-Tcp-OUT-1400B
time: [19.000 19.000 19.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 48.7µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V6-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V6-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 105.6µs.
process/ULP-SlowPath/alloc_ct/V6-Tcp-IN-0B
time: [10.000 10.000 10.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 65.0µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V6-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V6-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 110.6µs.
process/ULP-SlowPath/alloc_ct/V6-Tcp-IN-1400B
time: [11.000 11.000 11.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 35.2µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Udp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V6-Udp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V6-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 96.7µs.
process/ULP-SlowPath/alloc_ct/V6-Udp-OUT-0B
time: [17.000 17.000 17.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 49.2µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Udp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V6-Udp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V6-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 125.2µs.
process/ULP-SlowPath/alloc_ct/V6-Udp-OUT-1400B
time: [19.000 19.000 19.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 47.7µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V6-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V6-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 94.2µs.
process/ULP-SlowPath/alloc_ct/V6-Udp-IN-0B
time: [10.000 10.000 10.000 ]

Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 64.3µs.
Benchmarking parse/ULP-SlowPath/alloc_ct/V6-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_ct/V6-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_ct/V6-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 112.3µs.
process/ULP-SlowPath/alloc_ct/V6-Udp-IN-1400B
time: [11.000 11.000 11.000 ]

Warning: It is not recommended to reduce nresamples below 1000.
Benchmarking parse/Hairpin-DHCPv4/alloc_sz/Discover: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 34.8µs.
Benchmarking parse/Hairpin-DHCPv4/alloc_sz/Discover: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-DHCPv4/alloc_sz/Discover took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-DHCPv4/alloc_sz/Discover: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 119.4µs.
process/Hairpin-DHCPv4/alloc_sz/Discover
time: [3467.0 B 3467.0 B 3467.0 B]

Benchmarking parse/Hairpin-DHCPv4/alloc_sz/Request: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 29.3µs.
Benchmarking parse/Hairpin-DHCPv4/alloc_sz/Request: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-DHCPv4/alloc_sz/Request took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-DHCPv4/alloc_sz/Request: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 54.6µs.
process/Hairpin-DHCPv4/alloc_sz/Request
time: [3203.0 B 3203.0 B 3203.0 B]

Benchmarking parse/Hairpin-DHCPv6/alloc_sz/Solicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 46.4µs.
Benchmarking parse/Hairpin-DHCPv6/alloc_sz/Solicit: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-DHCPv6/alloc_sz/Solicit took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-DHCPv6/alloc_sz/Solicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 71.3µs.
process/Hairpin-DHCPv6/alloc_sz/Solicit
time: [2840.0 B 2840.0 B 2840.0 B]

Benchmarking parse/Hairpin-DHCPv6/alloc_sz/Request: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 44.1µs.
Benchmarking parse/Hairpin-DHCPv6/alloc_sz/Request: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-DHCPv6/alloc_sz/Request took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-DHCPv6/alloc_sz/Request: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 69.8µs.
process/Hairpin-DHCPv6/alloc_sz/Request
time: [3238.0 B 3238.0 B 3238.0 B]

Benchmarking parse/Hairpin-ICMPv4/alloc_sz/EchoRequest: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 29.5µs.
Benchmarking parse/Hairpin-ICMPv4/alloc_sz/EchoRequest: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-ICMPv4/alloc_sz/EchoRequest took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-ICMPv4/alloc_sz/EchoRequest: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 38.2µs.
process/Hairpin-ICMPv4/alloc_sz/EchoRequest
time: [1538.0 B 1538.0 B 1538.0 B]

Benchmarking parse/Hairpin-ICMPv6/alloc_sz/EchoRequest: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 40.7µs.
parse/Hairpin-ICMPv6/alloc_sz/EchoRequest
time: [406.00 B 406.00 B 406.00 B]

Benchmarking process/Hairpin-ICMPv6/alloc_sz/EchoRequest: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 57.4µs.
process/Hairpin-ICMPv6/alloc_sz/EchoRequest
time: [1558.0 B 1558.0 B 1558.0 B]

Benchmarking parse/Hairpin-ICMPv6/alloc_sz/NeighborSolicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 34.2µs.
Benchmarking parse/Hairpin-ICMPv6/alloc_sz/NeighborSolicit: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-ICMPv6/alloc_sz/NeighborSolicit took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-ICMPv6/alloc_sz/NeighborSolicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 54.4µs.
process/Hairpin-ICMPv6/alloc_sz/NeighborSolicit
time: [1606.0 B 1606.0 B 1606.0 B]

Benchmarking parse/Hairpin-ICMPv6/alloc_sz/RouterSolicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 34.9µs.
Benchmarking parse/Hairpin-ICMPv6/alloc_sz/RouterSolicit: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/Hairpin-ICMPv6/alloc_sz/RouterSolicit took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/Hairpin-ICMPv6/alloc_sz/RouterSolicit: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 51.8µs.
process/Hairpin-ICMPv6/alloc_sz/RouterSolicit
time: [1590.0 B 1590.0 B 1590.0 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V4-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 28.0µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V4-Tcp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V4-Tcp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V4-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 106.3µs.
process/ULP-FastPath/alloc_sz/V4-Tcp-OUT-0B
time: [300.00 B 300.00 B 300.00 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V4-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 39.8µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V4-Tcp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V4-Tcp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V4-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 124.1µs.
process/ULP-FastPath/alloc_sz/V4-Tcp-OUT-1400B
time: [428.00 B 428.00 B 428.00 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V4-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 42.7µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V4-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V4-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V4-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 124.7µs.
Benchmarking process/ULP-FastPath/alloc_sz/V4-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_sz/V4-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_sz/V4-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 41.0µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V4-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V4-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V4-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 149.5µs.
Benchmarking process/ULP-FastPath/alloc_sz/V4-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_sz/V4-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_sz/V4-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 18.1µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V4-Udp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V4-Udp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V4-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 78.5µs.
process/ULP-FastPath/alloc_sz/V4-Udp-OUT-0B
time: [288.00 B 288.00 B 288.00 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V4-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 38.7µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V4-Udp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V4-Udp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V4-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 118.4µs.
process/ULP-FastPath/alloc_sz/V4-Udp-OUT-1400B
time: [416.00 B 416.00 B 416.00 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V4-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 42.0µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V4-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V4-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V4-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 125.1µs.
Benchmarking process/ULP-FastPath/alloc_sz/V4-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_sz/V4-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_sz/V4-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 39.9µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V4-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V4-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V4-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 125.1µs.
Benchmarking process/ULP-FastPath/alloc_sz/V4-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_sz/V4-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_sz/V6-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 26.3µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V6-Tcp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V6-Tcp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V6-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 104.7µs.
process/ULP-FastPath/alloc_sz/V6-Tcp-OUT-0B
time: [320.00 B 320.00 B 320.00 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V6-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 46.0µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V6-Tcp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V6-Tcp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V6-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 132.4µs.
process/ULP-FastPath/alloc_sz/V6-Tcp-OUT-1400B
time: [448.00 B 448.00 B 448.00 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V6-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 48.7µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V6-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V6-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V6-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 137.4µs.
Benchmarking process/ULP-FastPath/alloc_sz/V6-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_sz/V6-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_sz/V6-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 45.5µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V6-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V6-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V6-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 139.5µs.
Benchmarking process/ULP-FastPath/alloc_sz/V6-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_sz/V6-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_sz/V6-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 20.8µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V6-Udp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V6-Udp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V6-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 87.9µs.
process/ULP-FastPath/alloc_sz/V6-Udp-OUT-0B
time: [308.00 B 308.00 B 308.00 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V6-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 45.4µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V6-Udp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V6-Udp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V6-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 123.2µs.
process/ULP-FastPath/alloc_sz/V6-Udp-OUT-1400B
time: [436.00 B 436.00 B 436.00 B]

Benchmarking parse/ULP-FastPath/alloc_sz/V6-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 47.5µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V6-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V6-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V6-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 123.9µs.
Benchmarking process/ULP-FastPath/alloc_sz/V6-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_sz/V6-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-FastPath/alloc_sz/V6-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 43.3µs.
Benchmarking parse/ULP-FastPath/alloc_sz/V6-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-FastPath/alloc_sz/V6-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-FastPath/alloc_sz/V6-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 136.5µs.
Benchmarking process/ULP-FastPath/alloc_sz/V6-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark process/ULP-FastPath/alloc_sz/V6-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 21.1µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 82.4µs.
process/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-0B
time: [9091.0 B 9091.0 B 9091.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 38.5µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 115.4µs.
process/ULP-SlowPath/alloc_sz/V4-Tcp-OUT-1400B
time: [9283.0 B 9283.0 B 9283.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 42.1µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V4-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V4-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 82.4µs.
process/ULP-SlowPath/alloc_sz/V4-Tcp-IN-0B
time: [8008.0 B 8008.0 B 8008.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 66.2µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V4-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V4-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 111.3µs.
process/ULP-SlowPath/alloc_sz/V4-Tcp-IN-1400B
time: [8072.0 B 8072.0 B 8072.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 27.9µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Udp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V4-Udp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V4-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 97.0µs.
process/ULP-SlowPath/alloc_sz/V4-Udp-OUT-0B
time: [9079.0 B 9079.0 B 9079.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 38.7µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Udp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V4-Udp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V4-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 114.8µs.
process/ULP-SlowPath/alloc_sz/V4-Udp-OUT-1400B
time: [9271.0 B 9271.0 B 9271.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 41.1µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V4-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V4-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 78.8µs.
process/ULP-SlowPath/alloc_sz/V4-Udp-IN-0B
time: [8008.0 B 8008.0 B 8008.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 57.6µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V4-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V4-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V4-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 109.1µs.
process/ULP-SlowPath/alloc_sz/V4-Udp-IN-1400B
time: [8072.0 B 8072.0 B 8072.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 34.1µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 110.8µs.
process/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-0B
time: [9111.0 B 9111.0 B 9111.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 44.7µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 134.8µs.
process/ULP-SlowPath/alloc_sz/V6-Tcp-OUT-1400B
time: [9303.0 B 9303.0 B 9303.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 47.3µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Tcp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V6-Tcp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V6-Tcp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 90.3µs.
process/ULP-SlowPath/alloc_sz/V6-Tcp-IN-0B
time: [8008.0 B 8008.0 B 8008.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 63.1µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Tcp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V6-Tcp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V6-Tcp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 108.4µs.
process/ULP-SlowPath/alloc_sz/V6-Tcp-IN-1400B
time: [8072.0 B 8072.0 B 8072.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 32.9µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Udp-OUT-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V6-Udp-OUT-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V6-Udp-OUT-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 106.5µs.
process/ULP-SlowPath/alloc_sz/V6-Udp-OUT-0B
time: [9099.0 B 9099.0 B 9099.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 54.3µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Udp-OUT-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V6-Udp-OUT-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V6-Udp-OUT-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 131.0µs.
process/ULP-SlowPath/alloc_sz/V6-Udp-OUT-1400B
time: [9291.0 B 9291.0 B 9291.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 46.9µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Udp-IN-0B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V6-Udp-IN-0B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V6-Udp-IN-0B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 82.5µs.
process/ULP-SlowPath/alloc_sz/V6-Udp-IN-0B
time: [8008.0 B 8008.0 B 8008.0 B]

Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 74.5µs.
Benchmarking parse/ULP-SlowPath/alloc_sz/V6-Udp-IN-1400B: AnalyzingCriterion.rs ERROR: At least one measurement of benchmark parse/ULP-SlowPath/alloc_sz/V6-Udp-IN-1400B took zero time per iteration. This should not be possible. If using iter_custom, please verify that your routine is correctly measured.

Benchmarking process/ULP-SlowPath/alloc_sz/V6-Udp-IN-1400B: Warming up for 1.0000 ns
Warning: Unable to complete 10 samples in 10.0µs. You may wish to increase target time to 103.1µs.
process/ULP-SlowPath/alloc_sz/V6-Udp-IN-1400B
time: [8072.0 B 8072.0 B 8072.0 B]

@FelixMcFelix
Copy link
Collaborator Author

FelixMcFelix commented Mar 6, 2024

Thanks for giving this a test.

Update: we should be able to run cargo kbench local in CI since it's based on the xde loopback tests.

I think that should be doable, it would be really nice to host the results on buildomat. I'll need to dust off my gnuplot-fu on the candlestick graphs.

Toward the tail end of cargo utest I got quite a few warnings on my workstation. Copied below.

I've tweaked config to the point that I can silence all but the 'zero time per iteration' warnings. I'll dig into that.

EDIT: it's specifically the parse/alloc{sz, ct} tests, where we're (correctly) doing zero allocs for the specified packets when USDTs are disabled. (IPv6 with extension headers is the exception, but I haven't built that in yet). I think we can exclude those for now, short of teaching criterion how to handle the fact that non-wallclock measurements can be zero.

Copy link
Contributor

@rcgoodfellow rcgoodfellow left a comment

Choose a reason for hiding this comment

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

Still working my way through this, but wanted to post my comments on taking the ubench and kbench machinery for a spin.

bench/README.adoc Show resolved Hide resolved
bench/README.adoc Show resolved Hide resolved
bench/README.adoc Show resolved Hide resolved
bench/README.adoc Outdated Show resolved Hide resolved
Copy link
Contributor

@rcgoodfellow rcgoodfellow left a comment

Choose a reason for hiding this comment

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

CI report archive looks great. Thanks for the really great starting point with benchmarks and instrumentation here!

@FelixMcFelix
Copy link
Collaborator Author

FelixMcFelix commented Mar 8, 2024

Thanks; I'm going to open some issues around the remaining nice to haves/bugbears so we don't lose track:

@FelixMcFelix FelixMcFelix merged commit c30aa36 into master Mar 8, 2024
10 checks passed
@FelixMcFelix FelixMcFelix deleted the instrument branch March 8, 2024 17:24
FelixMcFelix added a commit to oxidecomputer/omicron that referenced this pull request Mar 13, 2024
* a4c956e chore(deps): lock file maintenance (oxidecomputer/opte#474)
* 6847b04 chore(deps): update rust crate nix to 0.28
(oxidecomputer/opte#473)
* c30aa36 Benchmarks and instrumentation (oxidecomputer/opte#395)
* 53201de Fix xtask non-package install for fresh systems.
(oxidecomputer/opte#470)
* 7e56634 Correctly preserve inbound UFID on outbound TCP close
(oxidecomputer/opte#469)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Benchmark userland/kernel performance
3 participants