sip2json Benchmark Performance Report

Generated on 2026-08-21 15:53:13 | Modern C++23 Header-Only SIP Parser

Total Benchmarks

78

Total Iterations

669,571,011

Fastest Operation

2.62 ns

Slowest Operation

28420972.88 ns

Visual Performance Graphs

Single-Threaded Parsing Rate (Messages / Sec)

Single Stream Architecture Comparison (Messages / Sec)

Multi-Threaded Stream Scaling (Messages / Sec)

Detailed Benchmark Data

Benchmark Name Real Time CPU Time Iterations Items/Sec (Throughput)
BM_ParseMinimalResponse 2211.55 ns 2199.20 ns 325,005 454,710
BM_ParseRegisterRequest 2712.45 ns 2699.99 ns 255,945 370,372
BM_ParseInviteWithSDP 7525.42 ns 7491.30 ns 93,317 133,488
BM_ParseInviteComplexSDP 11206.74 ns 11158.58 ns 62,377 89,617
BM_ParseNotifyLF 2618.22 ns 2607.73 ns 265,821 383,475
BM_ParseMultipleMessages/1 2830.73 ns 2819.05 ns 250,605 354,729
BM_ParseMultipleMessages/5 17293.44 ns 17219.78 ns 40,675 290,364
BM_ParseMultipleMessages/10 34452.10 ns 34300.92 ns 20,112 291,537
BM_ParseMultipleMessages/50 167370.06 ns 166706.53 ns 4,159 299,928
BM_ParseAsyncMultipleMessages/1 2795.00 ns 2783.57 ns 254,580 359,251
BM_ParseAsyncMultipleMessages/5 13980.25 ns 13923.97 ns 49,192 359,093
BM_ParseAsyncMultipleMessages/10 28260.50 ns 28142.57 ns 25,016 355,334
BM_ParseAsyncMultipleMessages/50 139986.28 ns 139372.89 ns 4,951 358,750
BM_SerializeRegister 1119.66 ns 1115.11 ns 629,303 896,775
BM_SerializeInviteWithSDP 3446.54 ns 3432.30 ns 203,916 291,350
BM_RoundTripRegister 4288.04 ns 4270.88 ns 163,664 234,144
BM_RoundTripInviteWithSDP 11954.06 ns 11894.66 ns 59,715 84,071
BM_ConstructDefaultSipmessage 473.48 ns 471.67 ns 1,443,992 2,120,113
BM_ConstructRequestSipmessage 2135.66 ns 2126.63 ns 323,886 470,228
BM_ConstructResponseSipmessage 1974.43 ns 1966.42 ns 355,959 508,539
BM_ConstructResponseFromRequest 1751.62 ns 1744.56 ns 400,196 573,209
BM_TimeAsRFC1123 109.13 ns 108.72 ns 6,386,106 9,198,089
BM_TimeAsRFC3339 145.03 ns 144.48 ns 4,876,687 6,921,603
BM_TimeAsISO8601 119.12 ns 118.65 ns 5,978,565 8,428,004
BM_CreateCallId 613.38 ns 611.04 ns 1,135,756 1,636,566
BM_GetContentType 55.41 ns 55.19 ns 12,752,983 18,119,383
BM_GetMethod 51.52 ns 51.31 ns 13,166,227 19,488,334
BM_GetHeader_LibraryConstant 24.27 ns 24.17 ns 30,187,951 41,375,231
BM_GetHeader_StringLiteral 23.40 ns 23.30 ns 29,376,017 42,911,755
BM_GetHeader_CustomHeader 25.55 ns 25.43 ns 28,158,869 39,319,966
BM_SetHeader_LibraryConstant 25.50 ns 25.40 ns 26,375,284 39,367,513
BM_SetHeader_StringLiteral 23.47 ns 23.38 ns 28,927,486 42,777,354
BM_SetHeader_CustomHeader 26.30 ns 26.20 ns 27,291,295 38,166,941
BM_ConstructRequest_LibraryConstant 2159.26 ns 2150.31 ns 327,175 465,050
BM_ConstructRequest_StringLiteral 2153.01 ns 2143.94 ns 323,247 466,431
BM_HighFrequencyDecodeLargePacket 26687.23 ns 26577.49 ns 26,399 37,626
BM_StressTest100LargePackets 2756324.38 ns 2743877.93 ns 255 36,445
BM_StressTestAsyncParse100LargePackets 2701675.67 ns 2690070.02 ns 261 37,174
BM_StressTest1000LargePackets 28420972.88 ns 28292540.04 ns 25 35,345
BM_StressTestAsyncParse1000LargePackets 27225258.89 ns 27099365.04 ns 26 36,901
BM_VariableSizeStressTest/10 279767.77 ns 278516.35 ns 2,514 35,905
BM_VariableSizeStressTest/50 1383285.65 ns 1377061.03 ns 510 36,309
BM_VariableSizeStressTest/100 2759595.00 ns 2747789.61 ns 254 36,393
BM_VariableSizeStressTest/500 14044317.66 ns 13977741.12 ns 50 35,771
BM_VariableSizeAsyncStressTest/10 271461.52 ns 270297.48 ns 2,595 36,996
BM_VariableSizeAsyncStressTest/50 1358173.45 ns 1351894.19 ns 517 36,985
BM_VariableSizeAsyncStressTest/100 2730065.95 ns 2718359.04 ns 258 36,787
BM_VariableSizeAsyncStressTest/500 13489193.04 ns 13428610.37 ns 51 37,234
BM_WorstCaseNoisyBufferParsing/10 17706.32 ns 17626.60 ns 39,753 567,324
BM_WorstCaseNoisyBufferParsing/100 18117.75 ns 18028.28 ns 36,465 5,546,841
BM_WorstCaseNoisyBufferParsing/500 21287.80 ns 21187.26 ns 33,274 23,599,090
BM_WorstCaseNoisyBufferParsing/1000 24923.88 ns 24810.22 ns 28,795 40,305,969
BM_WorstCaseNoisyAsyncParsing/10 17955.02 ns 17872.21 ns 39,221 559,528
BM_WorstCaseNoisyAsyncParsing/100 19324.71 ns 19233.62 ns 35,804 5,199,228
BM_WorstCaseNoisyAsyncParsing/500 26818.32 ns 26692.80 ns 25,995 18,731,643
BM_WorstCaseNoisyAsyncParsing/1000 34053.87 ns 33898.34 ns 19,704 29,499,972
BM_MultiThreadedAsyncParsing/2 1765032.43 ns 40234.27 ns 10,000 24,854,432
BM_MultiThreadedAsyncParsing/4 2379223.53 ns 80586.70 ns 9,201 24,817,992
BM_MultiThreadedAsyncParsing/8 5402786.73 ns 183080.70 ns 1,000 21,848,289
BM_MultiThreadedAsyncParsing/16 9977912.02 ns 381003.76 ns 1,000 20,997,168
BM_MultiThreadedNoisyAsyncParsing/2 93939.82 ns 38157.25 ns 16,596 26,207,341
BM_MultiThreadedNoisyAsyncParsing/4 119875.21 ns 67011.92 ns 10,269 29,845,435
BM_MultiThreadedNoisyAsyncParsing/8 216810.81 ns 157440.63 ns 4,253 25,406,402
BM_MultiThreadedNoisyAsyncParsing/16 456219.18 ns 375565.73 ns 1,623 21,301,198
BM_SimulatedStream_ParseAsync_SingleThread 3441321.99 ns 3421645.86 ns 174 292,257
BM_SimulatedStream_Parse_SingleThread 3821094.03 ns 3803442.13 ns 176 262,920
BM_SimulatedStream_ParseAsync_WithThreadPoolOffload 19374023.31 ns 9845145.68 ns 68 101,573
BM_SimulatedStream_Parse_WithThreadPoolHandoff 8600916.94 ns 2831272.83 ns 247 353,198
BM_HeaderCanonicalization 22.83 ns 22.74 ns 30,271,957 43,973,454
BM_ParseLowercaseAndMixedCaseHeaders 7356.70 ns 7324.47 ns 95,961 136,529
BM_WhatIf_Construct_NativeStruct 245.17 ns 244.08 ns 2,860,352 4,097,057
BM_WhatIf_Construct_JsonSubclass 2188.58 ns 2179.01 ns 321,971 458,924
BM_WhatIf_SetHeader_NativeStruct 2.62 ns 2.61 ns 267,890,841 383,249,372
BM_WhatIf_SetHeader_JsonSubclass 24.43 ns 24.32 ns 27,662,927 41,120,947
BM_WhatIf_GetHeader_NativeStruct 7.71 ns 7.68 ns 90,433,383 130,241,404
BM_WhatIf_GetHeader_JsonSubclass 23.25 ns 23.15 ns 28,210,118 43,193,560
BM_WhatIf_ParseInvite_NativeStruct 768.82 ns 765.63 ns 883,975 1,306,117
BM_WhatIf_ParseInvite_JsonSubclass 7409.72 ns 7377.06 ns 96,159 135,555