Improve flow map / rotation performance
Closed this issue · 1 comments
Based on more detailed profiles obtained on very busy hosts it seems that the dominating path(s) are related to flow map insertion / update and, consequently, flow map rotation. Given that in certain situations we still observe few packet drops both during normal capture and rotation, this can probably be improved substantially. The following items were identified as possible paths for improvements:
- Add high cardinality benchmark reflecting the situation encountered in the wild
- Separate IPv4 / IPv6 flow map tracking / hashing: Right now we use 16 bytes per IP address in the
EPHash
array type no matter if we are handling IPv4 or IPv6 data (for convenience). However, since most traffic is still IPv4 we are not only wasting significant amounts of memory but also increase the duration of all operations pertaining to operations on these arrays, including hashing for map operations. - Preempt classification / direction assessment: At present we have to perform map lookups during insertion more that one time on average (because we have to check for the reverse hash). This could probably be alleviated by performing classification earlier (hence making it possible to ascertain the initial flow direction and determine the hash instead of trying both directions.
-
Preempt source port aggregation: If we manage to perform classification early in the process we can also completely remove the source port from the hashing and from flow map(s) (reducing cardinality) because we already know which one is the source and we will aggregate them anyway
For details / annotations, see PR + code comments.
Benchmarks / comparisons on two different machines:
│ base_pcengines │ new_pcengines │
│ sec/op │ sec/op vs base │
Buffer/fill-3 154.3n ± 6% 116.4n ± 1% -24.56% (p=0.000 n=15)
Buffer/drain-3 126.40n ± 9% 84.27n ± 10% -33.33% (p=0.000 n=15)
Rotation/Minimal/pre_add_req-3 504.1n ± 11% 464.5n ± 13% ~ (p=0.116 n=15)
Rotation/Minimal/pre_add_resp-3 791.2n ± 12% 510.6n ± 10% -35.47% (p=0.000 n=15)
Rotation/Minimal/rotation-3 1.906m ± 5% 1.828m ± 2% ~ (p=0.050 n=15)
Rotation/Minimal/post_add_req-3 455.2n ± 18% 417.7n ± 11% -8.24% (p=0.021 n=15)
Rotation/Minimal/post_add_resp-3 802.5n ± 10% 443.6n ± 10% -44.72% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/pre_add_req-3 458.4n ± 11% 432.4n ± 18% ~ (p=0.137 n=15)
Rotation/ManyTalkersFewApplications/pre_add_resp-3 845.7n ± 6% 466.6n ± 14% -44.83% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/rotation-3 800.3m ± 14% 701.1m ± 15% -12.39% (p=0.041 n=15)
Rotation/ManyTalkersFewApplications/post_add_req-3 438.9n ± 11% 402.2n ± 10% -8.36% (p=0.005 n=15)
Rotation/ManyTalkersFewApplications/post_add_resp-3 728.7n ± 21% 442.4n ± 6% -39.29% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/pre_add_req-3 463.0n ± 12% 467.1n ± 14% ~ (p=0.624 n=15)
Rotation/FewTalkersManyPortPairs/pre_add_resp-3 790.6n ± 30% 510.8n ± 20% -35.39% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/rotation-3 1.590 ± 6% 1.294 ± 20% -18.62% (p=0.016 n=15)
Rotation/FewTalkersManyPortPairs/post_add_req-3 439.4n ± 11% 394.4n ± 10% ~ (p=0.050 n=15)
Rotation/FewTalkersManyPortPairs/post_add_resp-3 727.5n ± 25% 428.9n ± 12% -41.04% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/pre_add_req-3 449.1n ± 14% 405.5n ± 7% -9.71% (p=0.003 n=15)
Rotation/FewTalkersManySourcePorts/pre_add_resp-3 783.6n ± 14% 451.7n ± 9% -42.36% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/rotation-3 618.3m ± 11% 476.0m ± 8% -23.02% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/post_add_req-3 457.7n ± 10% 380.6n ± 19% -16.85% (p=0.019 n=15)
Rotation/FewTalkersManySourcePorts/post_add_resp-3 786.6n ± 11% 454.9n ± 11% -42.17% (p=0.000 n=15)
Rotation/FewTalkersManyDestinationPorts/pre_add_req-3 462.2n ± 10% 389.9n ± 25% -15.64% (p=0.009 n=15)
Rotation/FewTalkersManyDestinationPorts/pre_add_resp-3 793.1n ± 28% 469.0n ± 8% -40.86% (p=0.000 n=15)
Rotation/FewTalkersManyDestinationPorts/rotation-3 562.8m ± 11% 535.8m ± 12% ~ (p=0.098 n=15)
Rotation/FewTalkersManyDestinationPorts/post_add_req-3 467.1n ± 11% 378.9n ± 18% -18.88% (p=0.015 n=15)
Rotation/FewTalkersManyDestinationPorts/post_add_resp-3 777.0n ± 13% 421.8n ± 21% -45.71% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/pre_add_req-3 471.6n ± 13% 401.2n ± 19% -14.93% (p=0.011 n=15)
Rotation/ManyTalkersManySourcePorts/pre_add_resp-3 775.3n ± 16% 456.5n ± 14% -41.12% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/rotation-3 1.992 ± 12% 1.377 ± 26% -30.88% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/post_add_req-3 434.5n ± 13% 390.1n ± 9% -10.22% (p=0.013 n=15)
Rotation/ManyTalkersManySourcePorts/post_add_resp-3 755.2n ± 13% 420.3n ± 22% -44.35% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/pre_add_req-3 454.8n ± 12% 471.6n ± 7% ~ (p=0.389 n=15)
Rotation/ManyTalkersManyDestinationPorts/pre_add_resp-3 807.9n ± 15% 530.9n ± 6% -34.29% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/rotation-3 6.505 ± 10% 3.275 ± 21% -49.66% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/post_add_req-3 431.3n ± 21% 383.8n ± 8% -11.01% (p=0.019 n=15)
Rotation/ManyTalkersManyDestinationPorts/post_add_resp-3 847.2n ± 15% 438.9n ± 11% -48.19% (p=0.000 n=15)
Population/2c04:4000::6ab:0->2c01:2000::3:0_58_80-3 74.08n ± 12% 61.55n ± 15% -16.91% (p=0.010 n=15)
Population/2c01:2000::3:0->2c04:4000::6ab:0_58_81-3 71.90n ± 13% 64.72n ± 12% ~ (p=0.267 n=15)
Population/fe80::3df3:abbf:3d8d:7f03:0->ff02::2:0_58_86-3 72.42n ± 15% 63.66n ± 13% ~ (p=0.116 n=15)
Population/10.0.0.1:0->10.0.0.2:0_1_8-3 77.08n ± 26% 75.93n ± 14% ~ (p=0.206 n=15)
Population/10.0.0.2:0->10.0.0.1:0_1_0-3 78.40n ± 27% 75.07n ± 21% ~ (p=0.161 n=15)
Population/10.0.0.1:37485->10.0.0.2:17500_6_0-3 94.38n ± 19% 96.47n ± 13% ~ (p=0.683 n=15)
Population/10.0.0.2:17500->10.0.0.1:34000_6_0-3 99.17n ± 12% 96.94n ± 11% ~ (p=0.870 n=15)
Population/2c04:4000::6ab:37485->2c01:2000::3:17500_6_0-3 97.03n ± 9% 82.35n ± 21% ~ (p=0.087 n=15)
Population/2c01:2000::3:17500->2c04:4000::6ab:34000_6_0-3 97.57n ± 14% 83.72n ± 20% ~ (p=0.076 n=15)
Population/10.0.0.1:33561->4.5.6.7:444_17_0-3 115.7n ± 15% 107.0n ± 19% ~ (p=0.104 n=15)
Population/4.5.6.7:444->10.0.0.1:33561_17_0-3 115.6n ± 13% 112.4n ± 15% ~ (p=0.237 n=15)
Population/10.0.0.1:33561->4.5.6.7:33560_17_0-3 107.90n ± 16% 90.36n ± 27% ~ (p=0.126 n=15)
Population/4.5.6.7:33560->10.0.0.1:33561_17_0-3 102.50n ± 15% 98.43n ± 17% ~ (p=0.480 n=15)
Population/10.0.0.1:445->4.5.6.7:444_17_0-3 125.2n ± 13% 118.6n ± 23% ~ (p=0.351 n=15)
Population/4.5.6.7:444->10.0.0.1:445_17_0-3 127.8n ± 20% 116.6n ± 21% ~ (p=0.118 n=15)
Population/10.0.0.1:33561->4.5.6.7:33561_17_0-3 102.50n ± 11% 85.61n ± 15% -16.48% (p=0.013 n=15)
Population/10.0.0.1:444->4.5.6.7:444_17_0-3 122.3n ± 7% 119.9n ± 9% ~ (p=0.310 n=15)
Population/0.0.0.0:68->255.255.255.255:67_17_0-3 134.4n ± 11% 119.3n ± 24% ~ (p=0.087 n=15)
Population/10.0.0.1:67->10.0.0.2:68_17_0-3 137.2n ± 12% 120.1n ± 8% -12.46% (p=0.001 n=15)
Population/10.0.0.1:0->4.5.6.7:53_17_0-3 135.5n ± 12% 116.2n ± 13% -14.24% (p=0.010 n=15)
Population/10.0.0.1:0->4.5.6.7:53_6_0-3 131.8n ± 14% 116.4n ± 14% ~ (p=0.050 n=15)
Population/10.0.0.1:0->4.5.6.7:80_6_0-3 118.6n ± 18% 113.9n ± 20% ~ (p=0.233 n=15)
Population/10.0.0.1:0->4.5.6.7:443_6_0-3 121.0n ± 21% 107.0n ± 22% ~ (p=0.061 n=15)
Population/2c04:4000::6ab:33561->2c04:4000::6ab:33561_17_0-3 91.89n ± 17% 85.58n ± 15% ~ (p=0.098 n=15)
Population/2c04:4000::6ab:444->2c04:4000::6ab:444_17_0-3 117.3n ± 11% 119.9n ± 12% ~ (p=0.815 n=15)
Population/2c04:4000::6ab:0->2c04:4000::6ab:53_17_0-3 124.4n ± 11% 106.3n ± 14% -14.55% (p=0.032 n=15)
Classification/2c04:4000::6ab:0->2c01:2000::3:0_58_80-3 84.53n ± 15% 82.13n ± 14% ~ (p=0.775 n=15)
Classification/2c01:2000::3:0->2c04:4000::6ab:0_58_81-3 90.44n ± 11% 85.54n ± 15% ~ (p=0.340 n=15)
Classification/fe80::3df3:abbf:3d8d:7f03:0->ff02::2:0_58_86-3 80.07n ± 10% 81.33n ± 6% ~ (p=0.943 n=15)
Classification/10.0.0.1:0->10.0.0.2:0_1_8-3 58.15n ± 14% 52.98n ± 9% ~ (p=0.148 n=15)
Classification/10.0.0.2:0->10.0.0.1:0_1_0-3 48.48n ± 11% 50.75n ± 13% ~ (p=0.902 n=15)
Classification/10.0.0.1:37485->10.0.0.2:17500_6_0-3 137.40n ± 14% 79.71n ± 27% -41.99% (p=0.000 n=15)
Classification/10.0.0.2:17500->10.0.0.1:34000_6_0-3 129.00n ± 34% 83.34n ± 20% -35.40% (p=0.000 n=15)
Classification/2c04:4000::6ab:37485->2c01:2000::3:17500_6_0-3 129.60n ± 9% 82.49n ± 10% -36.35% (p=0.000 n=15)
Classification/2c01:2000::3:17500->2c04:4000::6ab:34000_6_0-3 128.40n ± 11% 86.31n ± 15% -32.78% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:444_17_0-3 137.60n ± 12% 93.94n ± 15% -31.73% (p=0.000 n=15)
Classification/4.5.6.7:444->10.0.0.1:33561_17_0-3 140.50n ± 10% 91.57n ± 11% -34.83% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:33560_17_0-3 128.7n ± 20% 102.6n ± 10% -20.28% (p=0.000 n=15)
Classification/4.5.6.7:33560->10.0.0.1:33561_17_0-3 127.7n ± 17% 101.1n ± 11% -20.83% (p=0.000 n=15)
Classification/10.0.0.1:445->4.5.6.7:444_17_0-3 136.1n ± 21% 116.0n ± 14% -14.77% (p=0.000 n=15)
Classification/4.5.6.7:444->10.0.0.1:445_17_0-3 146.00n ± 15% 95.40n ± 18% -34.66% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:33561_17_0-3 127.0n ± 20% 103.2n ± 13% -18.74% (p=0.000 n=15)
Classification/10.0.0.1:444->4.5.6.7:444_17_0-3 138.0n ± 16% 108.1n ± 13% -21.67% (p=0.000 n=15)
Classification/0.0.0.0:68->255.255.255.255:67_17_0-3 85.75n ± 22% 60.60n ± 8% -29.33% (p=0.000 n=15)
Classification/10.0.0.1:67->10.0.0.2:68_17_0-3 147.3n ± 14% 104.3n ± 9% -29.19% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:53_17_0-3 137.9n ± 14% 100.4n ± 11% -27.19% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:53_6_0-3 147.80n ± 11% 99.19n ± 16% -32.89% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:80_6_0-3 138.50n ± 10% 95.38n ± 11% -31.13% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:443_6_0-3 136.60n ± 9% 86.96n ± 17% -36.34% (p=0.000 n=15)
Classification/2c04:4000::6ab:33561->2c04:4000::6ab:33561_17_0-3 138.6n ± 18% 101.7n ± 20% -26.62% (p=0.000 n=15)
Classification/2c04:4000::6ab:444->2c04:4000::6ab:444_17_0-3 132.5n ± 19% 110.9n ± 21% -16.30% (p=0.001 n=15)
Classification/2c04:4000::6ab:0->2c04:4000::6ab:53_17_0-3 124.80n ± 13% 99.45n ± 9% -20.31% (p=0.000 n=15)
CaptureThroughput/pcap_data 469.0n ± 2% 323.0n ± 2% -31.13% (p=0.000 n=15)
CaptureThroughput/random 1029.0n ± 3% 958.0n ± 3% -6.90% (p=0.000 n=15)
CaptureThroughput/random+return 1031.0n ± 1% 956.0n ± 2% -7.27% (p=0.000 n=15)
CaptureThroughput/non-random 473.0n ± 2% 384.0n ± 1% -18.82% (p=0.000 n=15)
CaptureThroughput/non-random+return 586.0n ± 6% 412.0n ± 6% -29.69% (p=0.000 n=15)
geomean 637.4n 504.2n -20.89%
│ base_x1 │ new_x1 │
│ sec/op │ sec/op vs base │
Buffer/fill-4 10.710n ± 11% 8.129n ± 2% -24.10% (p=0.000 n=15)
Buffer/drain-4 17.110n ± 6% 6.329n ± 0% -63.01% (p=0.000 n=15)
Rotation/Minimal/pre_add_req-4 33.28n ± 8% 28.17n ± 1% -15.35% (p=0.000 n=15)
Rotation/Minimal/pre_add_resp-4 53.44n ± 8% 39.79n ± 2% -25.54% (p=0.000 n=15)
Rotation/Minimal/rotation-4 158.5µ ± 5% 146.9µ ± 1% -7.30% (p=0.000 n=15)
Rotation/Minimal/post_add_req-4 29.78n ± 10% 27.88n ± 2% -6.38% (p=0.000 n=15)
Rotation/Minimal/post_add_resp-4 52.61n ± 8% 38.73n ± 1% -26.38% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/pre_add_req-4 31.87n ± 9% 28.01n ± 2% -12.11% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/pre_add_resp-4 54.22n ± 8% 39.24n ± 2% -27.63% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/rotation-4 73.65m ± 3% 65.68m ± 1% -10.82% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/post_add_req-4 32.20n ± 5% 28.13n ± 2% -12.64% (p=0.000 n=15)
Rotation/ManyTalkersFewApplications/post_add_resp-4 54.71n ± 7% 40.31n ± 2% -26.32% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/pre_add_req-4 36.74n ± 1% 29.70n ± 3% -19.16% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/pre_add_resp-4 60.44n ± 8% 41.33n ± 2% -31.62% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/rotation-4 173.1m ± 3% 161.5m ± 2% -6.71% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/post_add_req-4 32.52n ± 8% 28.67n ± 2% -11.84% (p=0.000 n=15)
Rotation/FewTalkersManyPortPairs/post_add_resp-4 53.39n ± 6% 39.00n ± 3% -26.95% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/pre_add_req-4 37.01n ± 7% 29.90n ± 4% -19.21% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/pre_add_resp-4 56.19n ± 8% 41.59n ± 3% -25.98% (p=0.000 n=15)
Rotation/FewTalkersManySourcePorts/rotation-4 62.72m ± 2% 50.39m ± 38% -19.66% (p=0.019 n=15)
Rotation/FewTalkersManySourcePorts/post_add_req-4 32.22n ± 8% 29.27n ± 2% -9.16% (p=0.002 n=15)
Rotation/FewTalkersManySourcePorts/post_add_resp-4 56.95n ± 6% 40.87n ± 3% -28.24% (p=0.000 n=15)
Rotation/FewTalkersManyDestinationPorts/pre_add_req-4 31.63n ± 6% 32.99n ± 4% +4.30% (p=0.042 n=15)
Rotation/FewTalkersManyDestinationPorts/pre_add_resp-4 53.60n ± 8% 42.30n ± 2% -21.08% (p=0.000 n=15)
Rotation/FewTalkersManyDestinationPorts/rotation-4 61.91m ± 2% 50.05m ± 52% -19.15% (p=0.021 n=15)
Rotation/FewTalkersManyDestinationPorts/post_add_req-4 32.48n ± 10% 29.04n ± 4% -10.59% (p=0.001 n=15)
Rotation/FewTalkersManyDestinationPorts/post_add_resp-4 58.10n ± 7% 38.89n ± 4% -33.06% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/pre_add_req-4 30.87n ± 9% 28.94n ± 3% -6.25% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/pre_add_resp-4 53.91n ± 7% 39.79n ± 2% -26.19% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/rotation-4 177.9m ± 3% 161.2m ± 1% -9.42% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/post_add_req-4 29.80n ± 4% 27.55n ± 5% -7.55% (p=0.000 n=15)
Rotation/ManyTalkersManySourcePorts/post_add_resp-4 57.52n ± 7% 39.65n ± 2% -31.07% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/pre_add_req-4 32.99n ± 5% 30.37n ± 6% -7.94% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/pre_add_resp-4 54.87n ± 8% 40.52n ± 4% -26.15% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/rotation-4 464.7m ± 7% 433.4m ± 2% -6.74% (p=0.000 n=15)
Rotation/ManyTalkersManyDestinationPorts/post_add_req-4 29.79n ± 8% 29.23n ± 8% -1.88% (p=0.027 n=15)
Rotation/ManyTalkersManyDestinationPorts/post_add_resp-4 56.17n ± 1% 39.61n ± 4% -29.48% (p=0.000 n=15)
Population/2c04:4000::6ab:0->2c01:2000::3:0_58_80-4 4.420n ± 9% 3.852n ± 7% -12.85% (p=0.001 n=15)
Population/2c01:2000::3:0->2c04:4000::6ab:0_58_81-4 4.061n ± 11% 4.107n ± 1% ~ (p=0.493 n=15)
Population/fe80::3df3:abbf:3d8d:7f03:0->ff02::2:0_58_86-4 4.064n ± 9% 4.054n ± 6% -0.25% (p=0.021 n=15)
Population/10.0.0.1:0->10.0.0.2:0_1_8-4 4.644n ± 8% 4.291n ± 5% -7.60% (p=0.006 n=15)
Population/10.0.0.2:0->10.0.0.1:0_1_0-4 4.284n ± 10% 4.012n ± 8% -6.35% (p=0.015 n=15)
Population/10.0.0.1:37485->10.0.0.2:17500_6_0-4 5.921n ± 9% 5.517n ± 6% -6.82% (p=0.015 n=15)
Population/10.0.0.2:17500->10.0.0.1:34000_6_0-4 5.922n ± 9% 5.526n ± 7% -6.69% (p=0.004 n=15)
Population/2c04:4000::6ab:37485->2c01:2000::3:17500_6_0-4 4.963n ± 11% 5.007n ± 7% ~ (p=0.910 n=15)
Population/2c01:2000::3:17500->2c04:4000::6ab:34000_6_0-4 5.021n ± 9% 5.011n ± 8% ~ (p=0.467 n=15)
Population/10.0.0.1:33561->4.5.6.7:444_17_0-4 6.414n ± 8% 5.714n ± 6% -10.91% (p=0.000 n=15)
Population/4.5.6.7:444->10.0.0.1:33561_17_0-4 6.369n ± 10% 5.932n ± 7% -6.86% (p=0.001 n=15)
Population/10.0.0.1:33561->4.5.6.7:33560_17_0-4 5.918n ± 9% 5.216n ± 8% -11.86% (p=0.001 n=15)
Population/4.5.6.7:33560->10.0.0.1:33561_17_0-4 5.558n ± 7% 5.188n ± 8% -6.66% (p=0.013 n=15)
Population/10.0.0.1:445->4.5.6.7:444_17_0-4 7.014n ± 10% 6.930n ± 7% -1.20% (p=0.002 n=15)
Population/4.5.6.7:444->10.0.0.1:445_17_0-4 7.609n ± 8% 6.470n ± 8% -14.97% (p=0.000 n=15)
Population/10.0.0.1:33561->4.5.6.7:33561_17_0-4 5.405n ± 10% 5.160n ± 10% -4.53% (p=0.004 n=15)
Population/10.0.0.1:444->4.5.6.7:444_17_0-4 7.023n ± 9% 6.922n ± 7% -1.44% (p=0.000 n=15)
Population/0.0.0.0:68->255.255.255.255:67_17_0-4 8.261n ± 7% 6.462n ± 7% -21.78% (p=0.000 n=15)
Population/10.0.0.1:67->10.0.0.2:68_17_0-4 7.791n ± 7% 6.986n ± 7% -10.33% (p=0.000 n=15)
Population/10.0.0.1:0->4.5.6.7:53_17_0-4 7.717n ± 9% 6.696n ± 6% -13.23% (p=0.000 n=15)
Population/10.0.0.1:0->4.5.6.7:53_6_0-4 7.099n ± 9% 6.210n ± 9% -12.52% (p=0.000 n=15)
Population/10.0.0.1:0->4.5.6.7:80_6_0-4 7.540n ± 9% 6.259n ± 8% -16.99% (p=0.000 n=15)
Population/10.0.0.1:0->4.5.6.7:443_6_0-4 7.492n ± 8% 6.682n ± 7% -10.81% (p=0.000 n=15)
Population/2c04:4000::6ab:33561->2c04:4000::6ab:33561_17_0-4 4.965n ± 9% 5.347n ± 8% ~ (p=0.602 n=15)
Population/2c04:4000::6ab:444->2c04:4000::6ab:444_17_0-4 7.020n ± 8% 6.619n ± 9% -5.71% (p=0.040 n=15)
Population/2c04:4000::6ab:0->2c04:4000::6ab:53_17_0-4 7.402n ± 7% 5.864n ± 9% -20.78% (p=0.000 n=15)
Classification/2c04:4000::6ab:0->2c01:2000::3:0_58_80-4 5.760n ± 6% 5.058n ± 6% -12.19% (p=0.000 n=15)
Classification/2c01:2000::3:0->2c04:4000::6ab:0_58_81-4 5.904n ± 7% 5.589n ± 5% -5.34% (p=0.016 n=15)
Classification/fe80::3df3:abbf:3d8d:7f03:0->ff02::2:0_58_86-4 5.296n ± 7% 4.827n ± 6% -8.86% (p=0.000 n=15)
Classification/10.0.0.1:0->10.0.0.2:0_1_8-4 2.397n ± 11% 2.200n ± 10% ~ (p=0.095 n=15)
Classification/10.0.0.2:0->10.0.0.1:0_1_0-4 2.174n ± 11% 2.038n ± 7% -6.26% (p=0.000 n=15)
Classification/10.0.0.1:37485->10.0.0.2:17500_6_0-4 10.250n ± 6% 6.421n ± 5% -37.36% (p=0.000 n=15)
Classification/10.0.0.2:17500->10.0.0.1:34000_6_0-4 9.793n ± 5% 6.643n ± 5% -32.17% (p=0.000 n=15)
Classification/2c04:4000::6ab:37485->2c01:2000::3:17500_6_0-4 10.250n ± 6% 5.312n ± 5% -48.18% (p=0.000 n=15)
Classification/2c01:2000::3:17500->2c04:4000::6ab:34000_6_0-4 10.200n ± 5% 5.469n ± 7% -46.38% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:444_17_0-4 10.290n ± 6% 6.457n ± 5% -37.25% (p=0.000 n=15)
Classification/4.5.6.7:444->10.0.0.1:33561_17_0-4 10.270n ± 6% 6.471n ± 4% -36.99% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:33560_17_0-4 10.510n ± 5% 6.078n ± 6% -42.17% (p=0.000 n=15)
Classification/4.5.6.7:33560->10.0.0.1:33561_17_0-4 9.830n ± 7% 6.493n ± 7% -33.95% (p=0.000 n=15)
Classification/10.0.0.1:445->4.5.6.7:444_17_0-4 10.510n ± 6% 6.858n ± 6% -34.75% (p=0.000 n=15)
Classification/4.5.6.7:444->10.0.0.1:445_17_0-4 10.520n ± 6% 6.517n ± 6% -38.05% (p=0.000 n=15)
Classification/10.0.0.1:33561->4.5.6.7:33561_17_0-4 10.520n ± 6% 6.671n ± 7% -36.59% (p=0.000 n=15)
Classification/10.0.0.1:444->4.5.6.7:444_17_0-4 9.841n ± 7% 6.656n ± 6% -32.36% (p=0.000 n=15)
Classification/0.0.0.0:68->255.255.255.255:67_17_0-4 6.435n ± 8% 2.879n ± 9% -55.26% (p=0.000 n=15)
Classification/10.0.0.1:67->10.0.0.2:68_17_0-4 10.080n ± 6% 6.933n ± 6% -31.22% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:53_17_0-4 9.740n ± 8% 6.847n ± 6% -29.70% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:53_6_0-4 10.280n ± 1% 6.583n ± 4% -35.96% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:80_6_0-4 9.654n ± 7% 6.695n ± 6% -30.65% (p=0.000 n=15)
Classification/10.0.0.1:0->4.5.6.7:443_6_0-4 10.280n ± 6% 6.513n ± 5% -36.64% (p=0.000 n=15)
Classification/2c04:4000::6ab:33561->2c04:4000::6ab:33561_17_0-4 10.490n ± 5% 5.780n ± 8% -44.90% (p=0.000 n=15)
Classification/2c04:4000::6ab:444->2c04:4000::6ab:444_17_0-4 9.977n ± 5% 6.502n ± 8% -34.83% (p=0.000 n=15)
Classification/2c04:4000::6ab:0->2c04:4000::6ab:53_17_0-4 9.759n ± 6% 5.788n ± 8% -40.69% (p=0.000 n=15)
CaptureThroughput/pcap_data 61.00n ± 2% 63.00n ± 3% +3.28% (p=0.004 n=15)
CaptureThroughput/random 87.00n ± 1% 85.00n ± 1% -2.30% (p=0.001 n=15)
CaptureThroughput/random+return 87.00n ± 2% 82.00n ± 1% -5.75% (p=0.000 n=15)
CaptureThroughput/non-random 61.00n ± 2% 62.00n ± 2% +1.64% (p=0.027 n=15)
CaptureThroughput/non-random+return 61.00n ± 3% 62.00n ± 2% +1.64% (p=0.005 n=15)
geomean 44.57n 35.70n -19.90%
Interesting observation: For the X1 (my rather powerful laptop) there is only little improvement on the synthetic overall benchmarks CaptureThroughput...
(while the less powerful device and tests in production show much more significant changes). My guess is that there's just not a lot to gain on that device (showing once more the limits of synthetic benchmarks)...