Repository navigation
Perf regression: benchmark outside its baseline band #275
Description
Activity
Perf regression vs
Tests/Verbara.Sdk.Benchmarks/baseline.jsonMode: OBSERVING (reports, does not fail the job — §2.5)
Band breaches (15)
- [Verbara.Sdk.Benchmarks.AmiProtocolReaderBenchmark.Parse100EventBatch] FASTER than baseline by 37.05%, outside the +/-10% band by 27.05 pp. baseline 88642 ns, observed 55801.18 ns.
- [Verbara.Sdk.Benchmarks.AmiProtocolReaderBenchmark.ParseResponse] FASTER than baseline by 36.83%, outside the +/-25% band by 11.83 pp. baseline 981.16 ns, observed 619.83 ns.
- [Verbara.Sdk.Benchmarks.AmiProtocolReaderBenchmark.ParseSingleEvent] FASTER than baseline by 38.82%, outside the +/-25% band by 13.82 pp. baseline 1484 ns, observed 907.93 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.Deserialize100Channels] FASTER than baseline by 41.54%, outside the +/-15% band by 26.54 pp. baseline 64354 ns, observed 37622.70 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.DeserializeChannel] FASTER than baseline by 41.81%, outside the +/-20% band by 21.81 pp. baseline 666.79 ns, observed 388.01 ns.
- [Verbara.Sdk.Benchmarks.AriParseEventBenchmark.ParseChannelDtmf] FASTER than baseline by 34.37%, outside the +/-25% band by 9.37 pp. baseline 1939 ns, observed 1272.63 ns.
- [Verbara.Sdk.Benchmarks.AriParseEventBenchmark.ParseStasisStart] FASTER than baseline by 36.73%, outside the +/-25% band by 11.73 pp. baseline 3947 ns, observed 2497.34 ns.
- [Verbara.Sdk.Benchmarks.AriParseEventBenchmark.ParseUnknownEvent] FASTER than baseline by 34.58%, outside the +/-25% band by 9.58 pp. baseline 547.36 ns, observed 358.06 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.Create1000Channels] FASTER than baseline by 30.11%, outside the +/-30% band by 0.11 pp. baseline 353056 ns, observed 246751.16 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.LookupByName] FASTER than baseline by 34.77%, outside the +/-15% band by 19.77 pp. baseline 14.69 ns, observed 9.58 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.LookupByUniqueId] FASTER than baseline by 33.75%, outside the +/-15% band by 18.75 pp. baseline 12.01 ns, observed 7.96 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.Update1000ChannelStates] FASTER than baseline by 16.46%, outside the +/-15% band by 1.46 pp. baseline 65925 ns, observed 55074.90 ns.
- [Verbara.Sdk.Benchmarks.ObserverDispatchBenchmark.Dispatch_100Observers] FASTER than baseline by 16.80%, outside the +/-15% band by 1.80 pp. baseline 47.61 ns, observed 39.61 ns.
- [Verbara.Sdk.Benchmarks.ObserverDispatchBenchmark.Dispatch_10Observers] FASTER than baseline by 30.06%, outside the +/-20% band by 10.06 pp. baseline 5.67 ns, observed 3.97 ns.
- [Verbara.Sdk.Benchmarks.ObserverDispatchBenchmark.Dispatch_1Observer] FASTER than baseline by 77.19%, outside the +/-15% band by 62.19 pp. baseline 0.94 ns, observed 0.21 ns.
Measured
benchmark baseline (ns) observed (ns) delta band AmiProtocolReaderBenchmark.Parse100EventBatch88642 55801.18 -37.05% ±10% BREACH (FASTER) AmiProtocolReaderBenchmark.ParseResponse981.16 619.83 -36.83% ±25% BREACH (FASTER) AmiProtocolReaderBenchmark.ParseSingleEvent1484 907.93 -38.82% ±25% BREACH (FASTER) AriJsonBenchmark.Deserialize100Channels64354 37622.70 -41.54% ±15% BREACH (FASTER) AriJsonBenchmark.DeserializeBridge562.22 418.75 -25.52% ±30% ok AriJsonBenchmark.DeserializeChannel666.79 388.01 -41.81% ±20% BREACH (FASTER) AriJsonBenchmark.SerializeBridge264.5 175.12 -33.79% ±35% ok AriJsonBenchmark.SerializeChannel363.01 232.44 -35.97% ±45% ok AriParseEventBenchmark.ParseChannelDtmf1939 1272.63 -34.37% ±25% BREACH (FASTER) AriParseEventBenchmark.ParseStasisStart3947 2497.34 -36.73% ±25% BREACH (FASTER) AriParseEventBenchmark.ParseUnknownEvent547.36 358.06 -34.58% ±25% BREACH (FASTER) ChannelManagerBenchmark.Create1000Channels353056 246751.16 -30.11% ±30% BREACH (FASTER) ChannelManagerBenchmark.EnumerateByState125710 100104.33 -20.37% ±30% ok ChannelManagerBenchmark.LookupByName14.69 9.58 -34.77% ±15% BREACH (FASTER) ChannelManagerBenchmark.LookupByUniqueId12.01 7.96 -33.75% ±15% BREACH (FASTER) ChannelManagerBenchmark.Update1000ChannelStates65925 55074.90 -16.46% ±15% BREACH (FASTER) ObserverDispatchBenchmark.Dispatch_100Observers47.61 39.61 -16.80% ±15% BREACH (FASTER) ObserverDispatchBenchmark.Dispatch_10Observers5.67 3.97 -30.06% ±20% BREACH (FASTER) ObserverDispatchBenchmark.Dispatch_1Observer0.94 0.21 -77.19% ±15% BREACH (FASTER) Measured but not baselined (4)
Not a failure. Add a
benchmarksentry once its hosted-runner spread is observed — seebaseline.README.md.Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 1)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 2)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 4)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 8)
Run: https://github.com/verbara/Verbara.Sdk/actions/runs/35536542837
Baselines move only by human-authored commit (ADR-0042 D6) — CI never writes back to
Tests/Verbara.Sdk.Benchmarks/baseline.json. If this is a real regression, fix the code.
If the hosted-runner fleet moved under us, re-baseline per
Tests/Verbara.Sdk.Benchmarks/baseline.README.md: a PR stating which benchmark moved, in
which direction, by how much, and why.Perf regression vs
Tests/Verbara.Sdk.Benchmarks/baseline.jsonMode: OBSERVING (reports, does not fail the job — §2.5)
Band breaches (5)
- [Verbara.Sdk.Benchmarks.AmiProtocolReaderBenchmark.Parse100EventBatch] FASTER than baseline by 21.46%, outside the +/-10% band by 11.46 pp. baseline 88642 ns, observed 69621.17 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.Deserialize100Channels] FASTER than baseline by 24.39%, outside the +/-15% band by 9.39 pp. baseline 64354 ns, observed 48660.41 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.DeserializeChannel] FASTER than baseline by 25.27%, outside the +/-20% band by 5.27 pp. baseline 666.79 ns, observed 498.28 ns.
- [Verbara.Sdk.Benchmarks.ObserverDispatchBenchmark.Dispatch_100Observers] FASTER than baseline by 19.88%, outside the +/-15% band by 4.88 pp. baseline 47.61 ns, observed 38.14 ns.
- [Verbara.Sdk.Benchmarks.ObserverDispatchBenchmark.Dispatch_1Observer] FASTER than baseline by 66.49%, outside the +/-15% band by 51.49 pp. baseline 0.94 ns, observed 0.31 ns.
Measured
benchmark baseline (ns) observed (ns) delta band AmiProtocolReaderBenchmark.Parse100EventBatch88642 69621.17 -21.46% ±10% BREACH (FASTER) AmiProtocolReaderBenchmark.ParseResponse981.16 848.67 -13.50% ±25% ok AmiProtocolReaderBenchmark.ParseSingleEvent1484 1153.76 -22.25% ±25% ok AriJsonBenchmark.Deserialize100Channels64354 48660.41 -24.39% ±15% BREACH (FASTER) AriJsonBenchmark.DeserializeBridge562.22 474.49 -15.60% ±30% ok AriJsonBenchmark.DeserializeChannel666.79 498.28 -25.27% ±20% BREACH (FASTER) AriJsonBenchmark.SerializeBridge264.5 223.81 -15.38% ±35% ok AriJsonBenchmark.SerializeChannel363.01 290.19 -20.06% ±45% ok AriParseEventBenchmark.ParseChannelDtmf1939 1694.65 -12.60% ±25% ok AriParseEventBenchmark.ParseStasisStart3947 3341.81 -15.33% ±25% ok AriParseEventBenchmark.ParseUnknownEvent547.36 481.52 -12.03% ±25% ok ChannelManagerBenchmark.Create1000Channels353056 302697.20 -14.26% ±30% ok ChannelManagerBenchmark.EnumerateByState125710 123901.36 -1.44% ±30% ok ChannelManagerBenchmark.LookupByName14.69 15.03 +2.32% ±15% ok ChannelManagerBenchmark.LookupByUniqueId12.01 10.35 -13.84% ±15% ok ChannelManagerBenchmark.Update1000ChannelStates65925 69736.61 +5.78% ±15% ok ObserverDispatchBenchmark.Dispatch_100Observers47.61 38.14 -19.88% ±15% BREACH (FASTER) ObserverDispatchBenchmark.Dispatch_10Observers5.67 4.76 -16.09% ±20% ok ObserverDispatchBenchmark.Dispatch_1Observer0.94 0.31 -66.49% ±15% BREACH (FASTER) Measured but not baselined (4)
Not a failure. Add a
benchmarksentry once its hosted-runner spread is observed — seebaseline.README.md.Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 1)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 2)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 4)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 8)
Run: https://github.com/verbara/Verbara.Sdk/actions/runs/35536628224
Baselines move only by human-authored commit (ADR-0042 D6) — CI never writes back to
Tests/Verbara.Sdk.Benchmarks/baseline.json. If this is a real regression, fix the code.
If the hosted-runner fleet moved under us, re-baseline per
Tests/Verbara.Sdk.Benchmarks/baseline.README.md: a PR stating which benchmark moved, in
which direction, by how much, and why.Perf regression vs
Tests/Verbara.Sdk.Benchmarks/baseline.jsonMode: OBSERVING (reports, does not fail the job — §2.5)
Band breaches (18)
- [Verbara.Sdk.Benchmarks.AmiProtocolReaderBenchmark.Parse100EventBatch] FASTER than baseline by 48.70%, outside the +/-10% band by 38.70 pp. baseline 88642 ns, observed 45477.00 ns.
- [Verbara.Sdk.Benchmarks.AmiProtocolReaderBenchmark.ParseResponse] FASTER than baseline by 47.30%, outside the +/-25% band by 22.30 pp. baseline 981.16 ns, observed 517.08 ns.
- [Verbara.Sdk.Benchmarks.AmiProtocolReaderBenchmark.ParseSingleEvent] FASTER than baseline by 49.58%, outside the +/-25% band by 24.58 pp. baseline 1484 ns, observed 748.19 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.Deserialize100Channels] FASTER than baseline by 47.01%, outside the +/-15% band by 32.01 pp. baseline 64354 ns, observed 34099.30 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.DeserializeBridge] FASTER than baseline by 41.78%, outside the +/-30% band by 11.78 pp. baseline 562.22 ns, observed 327.33 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.DeserializeChannel] FASTER than baseline by 48.84%, outside the +/-20% band by 28.84 pp. baseline 666.79 ns, observed 341.14 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.SerializeBridge] FASTER than baseline by 43.61%, outside the +/-35% band by 8.61 pp. baseline 264.5 ns, observed 149.16 ns.
- [Verbara.Sdk.Benchmarks.AriJsonBenchmark.SerializeChannel] FASTER than baseline by 47.91%, outside the +/-45% band by 2.91 pp. baseline 363.01 ns, observed 189.10 ns.
- [Verbara.Sdk.Benchmarks.AriParseEventBenchmark.ParseChannelDtmf] FASTER than baseline by 43.27%, outside the +/-25% band by 18.27 pp. baseline 1939 ns, observed 1099.96 ns.
- [Verbara.Sdk.Benchmarks.AriParseEventBenchmark.ParseStasisStart] FASTER than baseline by 47.01%, outside the +/-25% band by 22.01 pp. baseline 3947 ns, observed 2091.35 ns.
- [Verbara.Sdk.Benchmarks.AriParseEventBenchmark.ParseUnknownEvent] FASTER than baseline by 49.42%, outside the +/-25% band by 24.42 pp. baseline 547.36 ns, observed 276.86 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.Create1000Channels] FASTER than baseline by 33.30%, outside the +/-30% band by 3.30 pp. baseline 353056 ns, observed 235482.91 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.EnumerateByState] FASTER than baseline by 46.34%, outside the +/-30% band by 16.34 pp. baseline 125710 ns, observed 67460.15 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.LookupByName] FASTER than baseline by 39.93%, outside the +/-15% band by 24.93 pp. baseline 14.69 ns, observed 8.82 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.LookupByUniqueId] FASTER than baseline by 50.80%, outside the +/-15% band by 35.80 pp. baseline 12.01 ns, observed 5.91 ns.
- [Verbara.Sdk.Benchmarks.ChannelManagerBenchmark.Update1000ChannelStates] FASTER than baseline by 36.07%, outside the +/-15% band by 21.07 pp. baseline 65925 ns, observed 42148.71 ns.
- [Verbara.Sdk.Benchmarks.ObserverDispatchBenchmark.Dispatch_100Observers] FASTER than baseline by 39.78%, outside the +/-15% band by 24.78 pp. baseline 47.61 ns, observed 28.67 ns.
- [Verbara.Sdk.Benchmarks.ObserverDispatchBenchmark.Dispatch_10Observers] FASTER than baseline by 59.97%, outside the +/-20% band by 39.97 pp. baseline 5.67 ns, observed 2.27 ns.
Measured
benchmark baseline (ns) observed (ns) delta band AmiProtocolReaderBenchmark.Parse100EventBatch88642 45477.00 -48.70% ±10% BREACH (FASTER) AmiProtocolReaderBenchmark.ParseResponse981.16 517.08 -47.30% ±25% BREACH (FASTER) AmiProtocolReaderBenchmark.ParseSingleEvent1484 748.19 -49.58% ±25% BREACH (FASTER) AriJsonBenchmark.Deserialize100Channels64354 34099.30 -47.01% ±15% BREACH (FASTER) AriJsonBenchmark.DeserializeBridge562.22 327.33 -41.78% ±30% BREACH (FASTER) AriJsonBenchmark.DeserializeChannel666.79 341.14 -48.84% ±20% BREACH (FASTER) AriJsonBenchmark.SerializeBridge264.5 149.16 -43.61% ±35% BREACH (FASTER) AriJsonBenchmark.SerializeChannel363.01 189.10 -47.91% ±45% BREACH (FASTER) AriParseEventBenchmark.ParseChannelDtmf1939 1099.96 -43.27% ±25% BREACH (FASTER) AriParseEventBenchmark.ParseStasisStart3947 2091.35 -47.01% ±25% BREACH (FASTER) AriParseEventBenchmark.ParseUnknownEvent547.36 276.86 -49.42% ±25% BREACH (FASTER) ChannelManagerBenchmark.Create1000Channels353056 235482.91 -33.30% ±30% BREACH (FASTER) ChannelManagerBenchmark.EnumerateByState125710 67460.15 -46.34% ±30% BREACH (FASTER) ChannelManagerBenchmark.LookupByName14.69 8.82 -39.93% ±15% BREACH (FASTER) ChannelManagerBenchmark.LookupByUniqueId12.01 5.91 -50.80% ±15% BREACH (FASTER) ChannelManagerBenchmark.Update1000ChannelStates65925 42148.71 -36.07% ±15% BREACH (FASTER) ObserverDispatchBenchmark.Dispatch_100Observers47.61 28.67 -39.78% ±15% BREACH (FASTER) ObserverDispatchBenchmark.Dispatch_10Observers5.67 2.27 -59.97% ±20% BREACH (FASTER) Measured but not baselined (5)
Not a failure. Add a
benchmarksentry once its hosted-runner spread is observed — seebaseline.README.md.Verbara.Sdk.Benchmarks.ObserverDispatchBenchmark.Dispatch_1ObserverVerbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 1)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 2)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 4)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 8)
Run: https://github.com/verbara/Verbara.Sdk/actions/runs/37195447499
Baselines move only by human-authored commit (ADR-0042 D6) — CI never writes back to
Tests/Verbara.Sdk.Benchmarks/baseline.json. If this is a real regression, fix the code.
If the hosted-runner fleet moved under us, re-baseline per
Tests/Verbara.Sdk.Benchmarks/baseline.README.md: a PR stating which benchmark moved, in
which direction, by how much, and why.
Perf regression vs
Tests/Verbara.Sdk.Benchmarks/baseline.jsonMode: OBSERVING (reports, does not fail the job — §2.5)
Band breaches (15)
Measured
AmiProtocolReaderBenchmark.Parse100EventBatchAmiProtocolReaderBenchmark.ParseResponseAmiProtocolReaderBenchmark.ParseSingleEventAriJsonBenchmark.Deserialize100ChannelsAriJsonBenchmark.DeserializeBridgeAriJsonBenchmark.DeserializeChannelAriJsonBenchmark.SerializeBridgeAriJsonBenchmark.SerializeChannelAriParseEventBenchmark.ParseChannelDtmfAriParseEventBenchmark.ParseStasisStartAriParseEventBenchmark.ParseUnknownEventChannelManagerBenchmark.Create1000ChannelsChannelManagerBenchmark.EnumerateByStateChannelManagerBenchmark.LookupByNameChannelManagerBenchmark.LookupByUniqueIdChannelManagerBenchmark.Update1000ChannelStatesObserverDispatchBenchmark.Dispatch_100ObserversObserverDispatchBenchmark.Dispatch_10ObserversObserverDispatchBenchmark.Dispatch_1ObserverMeasured but not baselined (4)
Not a failure. Add a
benchmarksentry once its hosted-runner spread is observed — seebaseline.README.md.Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 1)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 2)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 4)Verbara.Sdk.Benchmarks.TurnDetectionBenchmark.EndOfUtteranceDecision(UtteranceSeconds: 8)Run: https://github.com/verbara/Verbara.Sdk/actions/runs/35501530838
Baselines move only by human-authored commit (ADR-0042 D6) — CI never writes back to
Tests/Verbara.Sdk.Benchmarks/baseline.json. If this is a real regression, fix the code.If the hosted-runner fleet moved under us, re-baseline per
Tests/Verbara.Sdk.Benchmarks/baseline.README.md: a PR stating which benchmark moved, inwhich direction, by how much, and why.