Skip to content

Add JSON-LD related micro benchmarks#2617

Merged
jviotti merged 1 commit into
mainfrom
jsonld-benchmark
Jul 8, 2026
Merged

Add JSON-LD related micro benchmarks#2617
jviotti merged 1 commit into
mainfrom
jsonld-benchmark

Conversation

@jviotti

@jviotti jviotti commented Jul 8, 2026

Copy link
Copy Markdown
Member

Signed-off-by: Juan Cruz Viotti jv@jviotti.com

Review in cubic

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

No issues found across 2 files

Re-trigger cubic

@augmentcode

augmentcode Bot commented Jul 8, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: Adds JSON-LD micro-benchmarks to measure annotation-map setup and instance materialization.

Changes:

  • Enable benchmark/jsonld.cc when SOURCEMETA_CORE_JSONLD is on.
  • Link the benchmark target against sourcemeta::core::jsonld plus required JSON/JSONPointer libraries.
  • Add a synthetic “catalog” JSON generator (books with authors, keywords, identifiers, pricing, publisher, series, metadata, provenance).
  • Add benchmarks for (1) populating a JSONLDWeakAnnotationMap and (2) running jsonld_materialize over the generated instance.

Technical notes: Uses WeakPointer-keyed annotations backed by static JSON::String keys, reserves an expected entry count, and asserts basic output shape to catch regressions.

🤖 Was this summary useful? React with 👍 or 👎

@augmentcode augmentcode Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Review completed. 1 suggestion posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.

Comment thread benchmark/jsonld.cc
static constexpr std::size_t authors_per_member{3};
static constexpr std::size_t keywords_per_member{3};
static constexpr std::size_t identifiers_per_member{3};
static constexpr std::size_t annotations_per_member{

@augmentcode augmentcode Bot Jul 8, 2026

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

benchmark/jsonld.cc:20annotations_per_member relies on a hard-coded base 19, which is easy to get out of sync with populate_member; if it drifts, total_annotation_count and the size asserts will fail unexpectedly.

Severity: low

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.

@jviotti jviotti merged commit c30b26a into main Jul 8, 2026
12 checks passed
@jviotti jviotti deleted the jsonld-benchmark branch July 8, 2026 19:12

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Benchmark (linux/gcc)

Details
Benchmark suite Current: a3eea7c Previous: 2091647 Ratio
JOSE_VerifySignature_RS256 22052.304703279966 ns/iter 18880.145819215602 ns/iter 1.17
JOSE_VerifySignature_ES512 576195.4084158804 ns/iter 420337.2376950921 ns/iter 1.37
GZIP_Compress_ISO_Language_Set_3_Locations 36575032.89473664 ns/iter 23471951.266666718 ns/iter 1.56
GZIP_Decompress_ISO_Language_Set_3_Locations 4314410.69938682 ns/iter 3173276.117647119 ns/iter 1.36
GZIP_Compress_ISO_Language_Set_3_Schema 2029024.0927536523 ns/iter 1604214.7048054778 ns/iter 1.26
GZIP_Decompress_ISO_Language_Set_3_Schema 380749.5586319672 ns/iter 299884.5815147688 ns/iter 1.27
HTML_Build_Table_100000 59815995.833332635 ns/iter 40741236.17646939 ns/iter 1.47
HTML_Render_Table_100000 1843607.4289474236 ns/iter 2665627.5095057483 ns/iter 0.69
JSONLD_Catalog_Annotation_Map_Populate 13367582.509435775 ns/iter
JSONLD_Catalog_Materialize 17410273.90476174 ns/iter
JSONL_Parse_Large 13347695.673078218 ns/iter 9875843.25352046 ns/iter 1.35
JSONL_Parse_Large_GZIP 14767984.340425484 ns/iter 11107244.603174023 ns/iter 1.33
URITemplateRouter_Create 30353.203538292382 ns/iter 23507.763053157683 ns/iter 1.29
URITemplateRouter_Match 157.98986495612613 ns/iter 137.00584795321575 ns/iter 1.15
URITemplateRouter_Match_BasePath 189.471713223724 ns/iter 158.44536345677722 ns/iter 1.20
URITemplateRouterView_Restore 8374.212247471312 ns/iter 2900.843630930153 ns/iter 2.89
URITemplateRouterView_Match 124.41562089822408 ns/iter 97.33459121667346 ns/iter 1.28
URITemplateRouterView_Match_BasePath 141.73478532521648 ns/iter 111.58964627443714 ns/iter 1.27
URITemplateRouterView_Arguments 467.41111255785955 ns/iter 387.676135938653 ns/iter 1.21
Pointer_Object_Traverse 30.310733703684306 ns/iter 24.28058743380627 ns/iter 1.25
Pointer_Object_Try_Traverse 23.044475081271404 ns/iter 18.79711354695567 ns/iter 1.23
Pointer_Push_Back_Pointer_To_Weak_Pointer 156.2249796168009 ns/iter 135.63107051608208 ns/iter 1.15
Pointer_Walker_Schema_ISO_Language 2599709.591077906 ns/iter 2091134.5135134312 ns/iter 1.24
Pointer_Maybe_Tracked_Deeply_Nested/0 1876765.3804346814 ns/iter 1614362.1958526364 ns/iter 1.16
Pointer_Maybe_Tracked_Deeply_Nested/1 1759333.2853536913 ns/iter 1540482.0263157897 ns/iter 1.14
Pointer_Position_Tracker_Get_Deeply_Nested 396.11465105088035 ns/iter 420.0005830579193 ns/iter 0.94
JSON_Array_Of_Objects_Unique 461.15858601585916 ns/iter 359.23580961805374 ns/iter 1.28
JSON_Parse_1 9734.863218838293 ns/iter 7505.070013125043 ns/iter 1.30
JSON_Parse_Real 7697.288396091714 ns/iter 5873.402595009197 ns/iter 1.31
JSON_Parse_Decimal 12558.552307720332 ns/iter 8283.341853677008 ns/iter 1.52
JSON_Parse_Schema_ISO_Language 6433665.302752327 ns/iter 5133371.583941096 ns/iter 1.25
JSON_Parse_Integer 5619.215960255321 ns/iter 4355.045435590304 ns/iter 1.29
JSON_Parse_String_NonSSO_Plain 12236.319394816046 ns/iter 8979.704444701892 ns/iter 1.36
JSON_Parse_String_SSO_Plain 4836.413320240087 ns/iter 3723.7458854964884 ns/iter 1.30
JSON_Parse_String_Escape_Heavy 25640.66040912266 ns/iter 18987.83573448041 ns/iter 1.35
JSON_Parse_Object_Short_Keys 13347.043667289261 ns/iter 10354.983206218747 ns/iter 1.29
JSON_Parse_Object_Scalar_Properties 6880.46171668558 ns/iter 5352.114030132888 ns/iter 1.29
JSON_Parse_Object_Array_Properties 11794.000202070323 ns/iter 8834.346275701893 ns/iter 1.34
JSON_Parse_Object_Object_Properties 11973.858305965838 ns/iter 8991.08964266401 ns/iter 1.33
JSON_Parse_Nested_Containers 97588.03830617723 ns/iter 77069.05201049257 ns/iter 1.27
JSON_From_String_Copy 18.234172961591156 ns/iter 15.798179542866166 ns/iter 1.15
JSON_From_String_Temporary 15.044884586441365 ns/iter 12.876488265450325 ns/iter 1.17
JSON_Number_To_Double 22.141143249293535 ns/iter 19.656978533626486 ns/iter 1.13
JSON_Object_At_Last_Key/8 3.751427137251083 ns/iter 4.233996941246058 ns/iter 0.89
JSON_Object_At_Last_Key/32 11.869109441225293 ns/iter 11.395790974599302 ns/iter 1.04
JSON_Object_At_Last_Key/128 48.838379592971464 ns/iter 43.749919838791804 ns/iter 1.12
JSON_Object_At_Last_Key/512 356.4612110881055 ns/iter 180.85772977698284 ns/iter 1.97
JSON_Fast_Hash_Helm_Chart_Lock 87.28633280908211 ns/iter 60.99991940802792 ns/iter 1.43
JSON_Equality_Helm_Chart_Lock 155.00339385223765 ns/iter 132.84410434573815 ns/iter 1.17
JSON_Divisible_By_Decimal 240.6888821713364 ns/iter 205.07324659007503 ns/iter 1.17
JSON_String_Equal/10 5.707537980591824 ns/iter 5.152126616445466 ns/iter 1.11
JSON_String_Equal/100 6.314428474167769 ns/iter 6.267185082090913 ns/iter 1.01
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7571810404634172 ns/iter 0.8050526296010462 ns/iter 0.94
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.1925570508801 ns/iter 14.83643595889694 ns/iter 1.70
JSON_String_Fast_Hash/10 2.571696343509964 ns/iter 2.9049969771244895 ns/iter 0.89
JSON_String_Fast_Hash/100 2.5705843240634465 ns/iter 2.9039448139383257 ns/iter 0.89
JSON_String_Key_Hash/10 1.56127428351012 ns/iter 1.1197659134108613 ns/iter 1.39
JSON_String_Key_Hash/100 12.44330695047032 ns/iter 11.214915208374475 ns/iter 1.11
JSON_Object_Defines_Miss_Same_Length 3.129549832618708 ns/iter 2.553776381266996 ns/iter 1.23
JSON_Object_Defines_Miss_Too_Small 3.129521935274228 ns/iter 2.8190915829907355 ns/iter 1.11
JSON_Object_Defines_Miss_Too_Large 3.296627656412444 ns/iter 2.7985250176548044 ns/iter 1.18
Regex_Lower_S_Or_Upper_S_Asterisk 0.9349775168530298 ns/iter 0.845755713494456 ns/iter 1.11
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.6236253704494708 ns/iter 1.1186794392710282 ns/iter 0.56
Regex_Period_Asterisk 0.9361219835580854 ns/iter 1.1198541392990133 ns/iter 0.84
Regex_Group_Period_Asterisk_Group 0.6247733741579455 ns/iter 0.8443831675130161 ns/iter 0.74
Regex_Period_Plus 0.9449676318487256 ns/iter 0.8439053987591916 ns/iter 1.12
Regex_Period 0.6239178155121525 ns/iter 1.1190054562179022 ns/iter 0.56
Regex_Caret_Period_Plus_Dollar 0.9402226336168411 ns/iter 1.1197973384368314 ns/iter 0.84
Regex_Caret_Group_Period_Plus_Group_Dollar 0.6238544935497945 ns/iter 0.844270802477764 ns/iter 0.74
Regex_Caret_Period_Asterisk_Dollar 0.9347543507716193 ns/iter 0.8439444420907517 ns/iter 1.11
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.6230657029680958 ns/iter 1.1198890225195879 ns/iter 0.56
Regex_Caret_X_Hyphen 4.3876628651379495 ns/iter 3.085298346391086 ns/iter 1.42
Regex_Period_Md_Dollar 30.3431482543835 ns/iter 16.135423546699563 ns/iter 1.88
Regex_Caret_Slash_Period_Asterisk 4.6692626022360395 ns/iter 3.362557886333429 ns/iter 1.39
Regex_Caret_Period_Range_Dollar 1.2459262478191953 ns/iter 1.6801326337054854 ns/iter 0.74
Regex_Nested_Backtrack 38.48034586052472 ns/iter 31.753346863356192 ns/iter 1.21

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Benchmark (linux/llvm)

Details
Benchmark suite Current: a3eea7c Previous: 2091647 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.125673039312163 ns/iter 2.189147745466061 ns/iter 0.97
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.0761468803429373 ns/iter 2.235271882278112 ns/iter 0.93
Regex_Period_Asterisk 2.3789378042189258 ns/iter 2.196986152631681 ns/iter 1.08
Regex_Group_Period_Asterisk_Group 2.4073998587350753 ns/iter 2.1925022122214055 ns/iter 1.10
Regex_Period_Plus 2.3977895240207228 ns/iter 2.2229200150650708 ns/iter 1.08
Regex_Period 2.3882220869395407 ns/iter 2.4917524067172465 ns/iter 0.96
Regex_Caret_Period_Plus_Dollar 2.67167007225033 ns/iter 2.4922067882334944 ns/iter 1.07
Regex_Caret_Group_Period_Plus_Group_Dollar 2.6961870623515405 ns/iter 2.2378031336401727 ns/iter 1.20
Regex_Caret_Period_Asterisk_Dollar 2.1033572911524714 ns/iter 2.1900069084789484 ns/iter 0.96
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.086930251450482 ns/iter 2.2137331549466848 ns/iter 0.94
Regex_Caret_X_Hyphen 4.702225346049423 ns/iter 5.62539956856921 ns/iter 0.84
Regex_Period_Md_Dollar 19.714753829131222 ns/iter 27.243242225206103 ns/iter 0.72
Regex_Caret_Slash_Period_Asterisk 4.455930696717521 ns/iter 5.601426582348638 ns/iter 0.80
Regex_Caret_Period_Range_Dollar 2.767655486653574 ns/iter 3.11361312353425 ns/iter 0.89
Regex_Nested_Backtrack 32.57111790550046 ns/iter 38.28738714343511 ns/iter 0.85
JSON_Array_Of_Objects_Unique 353.7670092782416 ns/iter 469.9916462533097 ns/iter 0.75
JSON_Parse_1 4189.786115932707 ns/iter 4909.816069094318 ns/iter 0.85
JSON_Parse_Real 4426.408288306475 ns/iter 5243.55882638951 ns/iter 0.84
JSON_Parse_Decimal 6532.710903846967 ns/iter 7635.592905368363 ns/iter 0.86
JSON_Parse_Schema_ISO_Language 2828302.967213206 ns/iter 3490342.787128526 ns/iter 0.81
JSON_Parse_Integer 3047.699290688101 ns/iter 3802.273537365428 ns/iter 0.80
JSON_Parse_String_NonSSO_Plain 4041.008619785326 ns/iter 4909.02177086427 ns/iter 0.82
JSON_Parse_String_SSO_Plain 2198.3093126316508 ns/iter 2679.2035746223996 ns/iter 0.82
JSON_Parse_String_Escape_Heavy 13124.345175438766 ns/iter 14411.950802882346 ns/iter 0.91
JSON_Parse_Object_Short_Keys 6531.542432959279 ns/iter 10658.923211487976 ns/iter 0.61
JSON_Parse_Object_Scalar_Properties 3388.469027915921 ns/iter 4163.881680456383 ns/iter 0.81
JSON_Parse_Object_Array_Properties 4781.385691536849 ns/iter 5674.022939567503 ns/iter 0.84
JSON_Parse_Object_Object_Properties 4580.502636237941 ns/iter 5713.017485578538 ns/iter 0.80
JSON_Parse_Nested_Containers 38049.70094075425 ns/iter 45543.225829263014 ns/iter 0.84
JSON_From_String_Copy 16.812023167543963 ns/iter 19.334322360533836 ns/iter 0.87
JSON_From_String_Temporary 14.70794422299048 ns/iter 17.14784264528742 ns/iter 0.86
JSON_Number_To_Double 20.136812218817724 ns/iter 22.632688111220425 ns/iter 0.89
JSON_Object_At_Last_Key/8 4.121112535902017 ns/iter 3.8126213250863863 ns/iter 1.08
JSON_Object_At_Last_Key/32 11.884037500971457 ns/iter 12.480965348447853 ns/iter 0.95
JSON_Object_At_Last_Key/128 45.819210029220635 ns/iter 49.25157412339774 ns/iter 0.93
JSON_Object_At_Last_Key/512 191.2980259797007 ns/iter 400.9239163137827 ns/iter 0.48
JSON_Fast_Hash_Helm_Chart_Lock 50.40146002757938 ns/iter 56.989671702158 ns/iter 0.88
JSON_Equality_Helm_Chart_Lock 135.54353408018483 ns/iter 167.82780402196613 ns/iter 0.81
JSON_Divisible_By_Decimal 211.844964392245 ns/iter 251.41407221483522 ns/iter 0.84
JSON_String_Equal/10 4.402810102801551 ns/iter 5.919857127392508 ns/iter 0.74
JSON_String_Equal/100 5.688317113159917 ns/iter 6.545177198989227 ns/iter 0.87
JSON_String_Equal_Small_By_Perfect_Hash/10 0.601551037684994 ns/iter 0.9416275530691767 ns/iter 0.64
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 8.697279927437402 ns/iter 10.642829288422773 ns/iter 0.82
JSON_String_Fast_Hash/10 2.063856918161872 ns/iter 2.491963810589855 ns/iter 0.83
JSON_String_Fast_Hash/100 2.065319535974821 ns/iter 2.49220260805811 ns/iter 0.83
JSON_String_Key_Hash/10 1.7974088537288888 ns/iter 2.1810654617358805 ns/iter 0.82
JSON_String_Key_Hash/100 6.2803576358475555 ns/iter 6.536279461158068 ns/iter 0.96
JSON_Object_Defines_Miss_Same_Length 3.58887746320054 ns/iter 3.134350736778891 ns/iter 1.15
JSON_Object_Defines_Miss_Too_Small 3.488623792326534 ns/iter 3.430117221963514 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Large 4.365103513007025 ns/iter 2.8646214828131473 ns/iter 1.52
Pointer_Object_Traverse 20.545845786286517 ns/iter 29.141166035172617 ns/iter 0.71
Pointer_Object_Try_Traverse 24.676276662175226 ns/iter 31.127880383692467 ns/iter 0.79
Pointer_Push_Back_Pointer_To_Weak_Pointer 114.61972746677915 ns/iter 199.643367918412 ns/iter 0.57
Pointer_Walker_Schema_ISO_Language 2266434.3876219927 ns/iter 2651595.86692037 ns/iter 0.85
Pointer_Maybe_Tracked_Deeply_Nested/0 973537.6027776964 ns/iter 1215338.477112642 ns/iter 0.80
Pointer_Maybe_Tracked_Deeply_Nested/1 1461539.2725366708 ns/iter 1620197.6036864826 ns/iter 0.90
Pointer_Position_Tracker_Get_Deeply_Nested 651.1107241975734 ns/iter 627.4446730386649 ns/iter 1.04
URITemplateRouter_Create 26230.872797926953 ns/iter 33521.69141332257 ns/iter 0.78
URITemplateRouter_Match 156.27608941275844 ns/iter 182.75045951385673 ns/iter 0.86
URITemplateRouter_Match_BasePath 177.07718207398315 ns/iter 211.2724365979377 ns/iter 0.84
URITemplateRouterView_Restore 3246.0876450846995 ns/iter 8635.95542514709 ns/iter 0.38
URITemplateRouterView_Match 145.60667421071213 ns/iter 142.83896876100664 ns/iter 1.02
URITemplateRouterView_Match_BasePath 168.27684771193074 ns/iter 163.0751285788769 ns/iter 1.03
URITemplateRouterView_Arguments 401.40476582214706 ns/iter 434.1542272457843 ns/iter 0.92
JSONL_Parse_Large 8090631.058139003 ns/iter 9778497.44444528 ns/iter 0.83
JSONL_Parse_Large_GZIP 9452132.472972607 ns/iter 11336619.435483852 ns/iter 0.83
JSONLD_Catalog_Annotation_Map_Populate 9944623.299999682 ns/iter
JSONLD_Catalog_Materialize 11416413.262294866 ns/iter
HTML_Build_Table_100000 70374054.59999491 ns/iter 69517234.40000705 ns/iter 1.01
HTML_Render_Table_100000 5337632.137615059 ns/iter 5265382.039370227 ns/iter 1.01
GZIP_Compress_ISO_Language_Set_3_Locations 24826194.7142875 ns/iter 33488322.2380995 ns/iter 0.74
GZIP_Decompress_ISO_Language_Set_3_Locations 3357238.728571723 ns/iter 4264664.126506305 ns/iter 0.79
GZIP_Compress_ISO_Language_Set_3_Schema 1666761.7838478119 ns/iter 1884962.367567651 ns/iter 0.88
GZIP_Decompress_ISO_Language_Set_3_Schema 302223.8555084445 ns/iter 355001.7769308541 ns/iter 0.85
JOSE_VerifySignature_RS256 43936.9774454988 ns/iter 56744.55847313073 ns/iter 0.77
JOSE_VerifySignature_ES512 1887374.6334230662 ns/iter 2445496.0034721773 ns/iter 0.77

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Benchmark (macos/llvm)

Details
Benchmark suite Current: a3eea7c Previous: c30b26a Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.0939501474483704 ns/iter 1.5792249909364349 ns/iter 1.33
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.9773364102854163 ns/iter 1.5736354392243306 ns/iter 1.26
Regex_Period_Asterisk 1.7223533787057543 ns/iter 1.604891260661497 ns/iter 1.07
Regex_Group_Period_Asterisk_Group 1.7741287256308154 ns/iter 1.5672955194430616 ns/iter 1.13
Regex_Period_Plus 2.515679309460192 ns/iter 1.8938407730336309 ns/iter 1.33
Regex_Period 2.4728719475034007 ns/iter 1.8851141475026976 ns/iter 1.31
Regex_Caret_Period_Plus_Dollar 2.5059008192216634 ns/iter 1.8829624091517188 ns/iter 1.33
Regex_Caret_Group_Period_Plus_Group_Dollar 2.5555179083916597 ns/iter 2.0599116578433656 ns/iter 1.24
Regex_Caret_Period_Asterisk_Dollar 2.1239915156394193 ns/iter 1.5743757752124994 ns/iter 1.35
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.118418087553219 ns/iter 1.5730056030696222 ns/iter 1.35
Regex_Caret_X_Hyphen 7.397510510245535 ns/iter 5.655836334210372 ns/iter 1.31
Regex_Period_Md_Dollar 21.013299230321696 ns/iter 16.635875143382243 ns/iter 1.26
Regex_Caret_Slash_Period_Asterisk 6.413941451275272 ns/iter 4.100247359224097 ns/iter 1.56
Regex_Caret_Period_Range_Dollar 2.416119481432715 ns/iter 1.9776188938076324 ns/iter 1.22
Regex_Nested_Backtrack 26.77771697935633 ns/iter 24.434499843250137 ns/iter 1.10
JSON_Array_Of_Objects_Unique 348.18877587159307 ns/iter 324.43892354010546 ns/iter 1.07
JSON_Parse_1 6128.245803100583 ns/iter 6172.788922792371 ns/iter 0.99
JSON_Parse_Real 6504.561325619376 ns/iter 6068.47242662936 ns/iter 1.07
JSON_Parse_Decimal 6962.521096808239 ns/iter 6821.386452867753 ns/iter 1.02
JSON_Parse_Schema_ISO_Language 3824664.402173994 ns/iter 3713421.794871535 ns/iter 1.03
JSON_Parse_Integer 4432.894738232773 ns/iter 4292.198818247182 ns/iter 1.03
JSON_Parse_String_NonSSO_Plain 6713.906055379141 ns/iter 6760.093845888749 ns/iter 0.99
JSON_Parse_String_SSO_Plain 2668.438567834441 ns/iter 3081.9580983139094 ns/iter 0.87
JSON_Parse_String_Escape_Heavy 19870.97039238674 ns/iter 19720.694559677006 ns/iter 1.01
JSON_Parse_Object_Short_Keys 7584.1342388661515 ns/iter 7477.221277500528 ns/iter 1.01
JSON_Parse_Object_Scalar_Properties 4393.062498516309 ns/iter 3945.2562818317215 ns/iter 1.11
JSON_Parse_Object_Array_Properties 7391.725651941883 ns/iter 6514.388511729752 ns/iter 1.13
JSON_Parse_Object_Object_Properties 6909.873025465295 ns/iter 6781.85246657012 ns/iter 1.02
JSON_Parse_Nested_Containers 55309.0991191179 ns/iter 55103.30281968268 ns/iter 1.00
JSON_From_String_Copy 21.84238748377638 ns/iter 21.681839564005553 ns/iter 1.01
JSON_From_String_Temporary 17.886918516123842 ns/iter 17.85367010770523 ns/iter 1.00
JSON_Number_To_Double 30.142013881125642 ns/iter 29.871040434520832 ns/iter 1.01
JSON_Object_At_Last_Key/8 3.764060895860215 ns/iter 3.7631569841812804 ns/iter 1.00
JSON_Object_At_Last_Key/32 11.329389976842155 ns/iter 11.32508301304743 ns/iter 1.00
JSON_Object_At_Last_Key/128 50.651011064765086 ns/iter 52.5702709244759 ns/iter 0.96
JSON_Object_At_Last_Key/512 173.68662327127566 ns/iter 173.6014321892812 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 54.26521558520187 ns/iter 54.47068702506557 ns/iter 1.00
JSON_Equality_Helm_Chart_Lock 130.07216882587042 ns/iter 128.39268731526798 ns/iter 1.01
JSON_Divisible_By_Decimal 182.27085227844583 ns/iter 165.53287163202103 ns/iter 1.10
JSON_String_Equal/10 6.493501361850213 ns/iter 6.28443091908414 ns/iter 1.03
JSON_String_Equal/100 6.192711640832336 ns/iter 5.96485244184094 ns/iter 1.04
JSON_String_Equal_Small_By_Perfect_Hash/10 0.3144766708675011 ns/iter 0.3134788373504555 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.0250979788146397 ns/iter 3.0467382331335324 ns/iter 0.99
JSON_String_Fast_Hash/10 2.2011312603585904 ns/iter 2.19953221746515 ns/iter 1.00
JSON_String_Fast_Hash/100 1.9452464844158386 ns/iter 1.8933934749143497 ns/iter 1.03
JSON_String_Key_Hash/10 1.6501948192416205 ns/iter 1.5812336560173001 ns/iter 1.04
JSON_String_Key_Hash/100 2.1408483245389203 ns/iter 2.1053178242538446 ns/iter 1.02
JSON_Object_Defines_Miss_Same_Length 2.630882782891252 ns/iter 2.531861951756289 ns/iter 1.04
JSON_Object_Defines_Miss_Too_Small 2.6791490033716956 ns/iter 2.515107899564456 ns/iter 1.07
JSON_Object_Defines_Miss_Too_Large 2.6095873538927568 ns/iter 2.6341760846345332 ns/iter 0.99
Pointer_Object_Traverse 25.597648364721973 ns/iter 22.226639107225633 ns/iter 1.15
Pointer_Object_Try_Traverse 23.614853379746243 ns/iter 22.936841097371232 ns/iter 1.03
Pointer_Push_Back_Pointer_To_Weak_Pointer 165.32183640262184 ns/iter 163.26834187512685 ns/iter 1.01
Pointer_Walker_Schema_ISO_Language 2346128.3414629907 ns/iter 2443606.6993241576 ns/iter 0.96
Pointer_Maybe_Tracked_Deeply_Nested/0 1101816.272440968 ns/iter 1115989.478114405 ns/iter 0.99
Pointer_Maybe_Tracked_Deeply_Nested/1 942482.2283463455 ns/iter 919507.1169513614 ns/iter 1.02
Pointer_Position_Tracker_Get_Deeply_Nested 326.02813977213697 ns/iter 311.94022287004924 ns/iter 1.05
URITemplateRouter_Create 21758.91547520156 ns/iter 22941.760351824567 ns/iter 0.95
URITemplateRouter_Match 155.92133838116274 ns/iter 155.62100397310655 ns/iter 1.00
URITemplateRouter_Match_BasePath 183.72024573614317 ns/iter 183.6732395315055 ns/iter 1.00
URITemplateRouterView_Restore 9624.101504889888 ns/iter 9679.20350969393 ns/iter 0.99
URITemplateRouterView_Match 126.16965169905913 ns/iter 124.24223488673569 ns/iter 1.02
URITemplateRouterView_Match_BasePath 164.38704776282086 ns/iter 141.64155108758584 ns/iter 1.16
URITemplateRouterView_Arguments 569.3754193667656 ns/iter 510.27662628876493 ns/iter 1.12
JSONL_Parse_Large 9656956.630136574 ns/iter 10479349.507462038 ns/iter 0.92
JSONL_Parse_Large_GZIP 11825074.353845803 ns/iter 11291784.194028553 ns/iter 1.05
JSONLD_Catalog_Annotation_Map_Populate 6772988.558823806 ns/iter 8518284.00000069 ns/iter 0.80
JSONLD_Catalog_Materialize 9631358.928572807 ns/iter 10555516.179105759 ns/iter 0.91
HTML_Build_Table_100000 33719676.57142791 ns/iter 34684069.4285707 ns/iter 0.97
HTML_Render_Table_100000 1413712.7281949634 ns/iter 1675746.5330813043 ns/iter 0.84
GZIP_Compress_ISO_Language_Set_3_Locations 24207482.758615226 ns/iter 25531949.07407201 ns/iter 0.95
GZIP_Decompress_ISO_Language_Set_3_Locations 2916006.6234307047 ns/iter 3063168.859648812 ns/iter 0.95
GZIP_Compress_ISO_Language_Set_3_Schema 1420724.7329317485 ns/iter 1401067.1875001416 ns/iter 1.01
GZIP_Decompress_ISO_Language_Set_3_Schema 257019.78284872597 ns/iter 249504.061194553 ns/iter 1.03
JOSE_VerifySignature_RS256 21128.456915303133 ns/iter 20290.231177804646 ns/iter 1.04
JOSE_VerifySignature_ES512 1128527.457990046 ns/iter 1037666.7904903922 ns/iter 1.09

This comment was automatically generated by workflow using github-action-benchmark.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Benchmark (windows/msvc)

Details
Benchmark suite Current: a3eea7c Previous: 2091647 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 5.068837499999899 ns/iter 5.11081499999932 ns/iter 0.99
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 5.032231000000138 ns/iter 5.018511000000672 ns/iter 1.00
Regex_Period_Asterisk 5.031788392856689 ns/iter 5.024318000000676 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 5.063636999999517 ns/iter 5.027316071427939 ns/iter 1.01
Regex_Period_Plus 5.034005999999636 ns/iter 5.020212734419885 ns/iter 1.00
Regex_Period 5.051549643984945 ns/iter 5.0283969999998135 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 5.046839000000318 ns/iter 5.017810714285531 ns/iter 1.01
Regex_Caret_Group_Period_Plus_Group_Dollar 5.183593000000428 ns/iter 5.01570700000002 ns/iter 1.03
Regex_Caret_Period_Asterisk_Dollar 5.181578571429059 ns/iter 5.01921599999946 ns/iter 1.03
Regex_Caret_Group_Period_Asterisk_Group_Dollar 5.029133035714649 ns/iter 5.017625892857528 ns/iter 1.00
Regex_Caret_X_Hyphen 8.864091924713854 ns/iter 8.163333705357394 ns/iter 1.09
Regex_Period_Md_Dollar 55.39816904867874 ns/iter 44.317650720376704 ns/iter 1.25
Regex_Caret_Slash_Period_Asterisk 9.048085673891391 ns/iter 7.8501897321421 ns/iter 1.15
Regex_Caret_Period_Range_Dollar 7.336160714285508 ns/iter 5.643073999999615 ns/iter 1.30
Regex_Nested_Backtrack 55.34676785714509 ns/iter 55.34190000000763 ns/iter 1.00
JSON_Array_Of_Objects_Unique 579.6105357142827 ns/iter 593.3304464285527 ns/iter 0.98
JSON_Parse_1 8804.416944566106 ns/iter 9386.623437499962 ns/iter 0.94
JSON_Parse_Real 16083.939401379463 ns/iter 16181.799107144456 ns/iter 0.99
JSON_Parse_Decimal 11888.978571428359 ns/iter 11741.745312500383 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 7772493.333333032 ns/iter 7616926.666666282 ns/iter 1.02
JSON_Parse_Integer 6113.515178571203 ns/iter 6276.4819999995325 ns/iter 0.97
JSON_Parse_String_NonSSO_Plain 8013.045758928123 ns/iter 8037.219923125866 ns/iter 1.00
JSON_Parse_String_SSO_Plain 3748.746162953262 ns/iter 3794.7189380016466 ns/iter 0.99
JSON_Parse_String_Escape_Heavy 21792.90172233527 ns/iter 21611.09047646729 ns/iter 1.01
JSON_Parse_Object_Short_Keys 13121.449999999868 ns/iter 13242.432399856478 ns/iter 0.99
JSON_Parse_Object_Scalar_Properties 6801.159598214416 ns/iter 7127.757142857912 ns/iter 0.95
JSON_Parse_Object_Array_Properties 11242.123437501306 ns/iter 11606.828571428552 ns/iter 0.97
JSON_Parse_Object_Object_Properties 11478.135937501578 ns/iter 11593.787500000222 ns/iter 0.99
JSON_Parse_Nested_Containers 78493.80580357795 ns/iter 79415.43526785364 ns/iter 0.99
JSON_From_String_Copy 63.97303571428584 ns/iter 65.08358035714781 ns/iter 0.98
JSON_From_String_Temporary 57.85165178571511 ns/iter 60.17385714285085 ns/iter 0.96
JSON_Number_To_Double 121.09105357142523 ns/iter 122.74105357144143 ns/iter 0.99
JSON_Object_At_Last_Key/8 7.245480357143817 ns/iter 7.5618180803577975 ns/iter 0.96
JSON_Object_At_Last_Key/32 23.36960464989598 ns/iter 23.080332331694628 ns/iter 1.01
JSON_Object_At_Last_Key/128 89.785643313145 ns/iter 89.60726562500402 ns/iter 1.00
JSON_Object_At_Last_Key/512 425.93241923053193 ns/iter 424.1683185084835 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 106.76185937501968 ns/iter 107.79051562499475 ns/iter 0.99
JSON_Equality_Helm_Chart_Lock 218.7555312499967 ns/iter 208.93184374997983 ns/iter 1.05
JSON_Divisible_By_Decimal 310.6042410713883 ns/iter 298.06229709123386 ns/iter 1.04
JSON_String_Equal/10 10.864046874999644 ns/iter 10.427973437501237 ns/iter 1.04
JSON_String_Equal/100 12.00005178571116 ns/iter 11.676960714284844 ns/iter 1.03
JSON_String_Equal_Small_By_Perfect_Hash/10 2.5114075000000673 ns/iter 2.524698571428579 ns/iter 0.99
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 15.295674107141469 ns/iter 15.101037655799013 ns/iter 1.01
JSON_String_Fast_Hash/10 6.656783035712773 ns/iter 6.627154464286125 ns/iter 1.00
JSON_String_Fast_Hash/100 6.672853794642869 ns/iter 6.6309285714284885 ns/iter 1.01
JSON_String_Key_Hash/10 5.336472321429499 ns/iter 5.371366964286242 ns/iter 0.99
JSON_String_Key_Hash/100 11.977729687497884 ns/iter 11.905482142858707 ns/iter 1.01
JSON_Object_Defines_Miss_Same_Length 3.7721994575506623 ns/iter 4.737244430217008 ns/iter 0.80
JSON_Object_Defines_Miss_Too_Small 4.1156601412781475 ns/iter 4.724424219804454 ns/iter 0.87
JSON_Object_Defines_Miss_Too_Large 3.871949457371616 ns/iter 4.7198209926777235 ns/iter 0.82
Pointer_Object_Traverse 70.702107142852 ns/iter 71.5870089285683 ns/iter 0.99
Pointer_Object_Try_Traverse 70.8584910714397 ns/iter 71.36247767857944 ns/iter 0.99
Pointer_Push_Back_Pointer_To_Weak_Pointer 165.2720155316144 ns/iter 166.7611160777655 ns/iter 0.99
Pointer_Walker_Schema_ISO_Language 11542689.062498113 ns/iter 12132482.142858082 ns/iter 0.95
Pointer_Maybe_Tracked_Deeply_Nested/0 2409052.1739129033 ns/iter 2492206.024096257 ns/iter 0.97
Pointer_Maybe_Tracked_Deeply_Nested/1 3761974.860335054 ns/iter 3689211.2299462743 ns/iter 1.02
Pointer_Position_Tracker_Get_Deeply_Nested 532.2595019557631 ns/iter 535.3671618276096 ns/iter 0.99
URITemplateRouter_Create 41409.715048455924 ns/iter 40173.33294643329 ns/iter 1.03
URITemplateRouter_Match 240.99569854953245 ns/iter 237.4859333162966 ns/iter 1.01
URITemplateRouter_Match_BasePath 276.3699385548603 ns/iter 269.62953571431365 ns/iter 1.02
URITemplateRouterView_Restore 34691.88764486355 ns/iter 33866.56227538603 ns/iter 1.02
URITemplateRouterView_Match 182.16926889529745 ns/iter 180.5635071931522 ns/iter 1.01
URITemplateRouterView_Match_BasePath 207.67336572883798 ns/iter 205.97512473326236 ns/iter 1.01
URITemplateRouterView_Arguments 531.8922999999813 ns/iter 533.0462999999099 ns/iter 1.00
JSONL_Parse_Large 34358357.142861806 ns/iter 32969819.04762084 ns/iter 1.04
JSONL_Parse_Large_GZIP 33708457.14286069 ns/iter 43996236.84210646 ns/iter 0.77
JSONLD_Catalog_Annotation_Map_Populate 17632654.054050118 ns/iter
JSONLD_Catalog_Materialize 21733626.666665863 ns/iter
HTML_Build_Table_100000 91338914.28570807 ns/iter 104559657.14285347 ns/iter 0.87
HTML_Render_Table_100000 7870501.111112086 ns/iter 10153026.66666634 ns/iter 0.78
GZIP_Compress_ISO_Language_Set_3_Locations 36954515.7894711 ns/iter 36734594.7368413 ns/iter 1.01
GZIP_Decompress_ISO_Language_Set_3_Locations 10134801.333333598 ns/iter 10088249.3333332 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Schema 2110797.812500209 ns/iter 2136193.437499756 ns/iter 0.99
GZIP_Decompress_ISO_Language_Set_3_Schema 624545.0000000525 ns/iter 625247.3214285966 ns/iter 1.00
JOSE_VerifySignature_RS256 21536.112500001534 ns/iter 21305.07187500186 ns/iter 1.01
JOSE_VerifySignature_ES512 1585328.1250000708 ns/iter 1539254.6875000945 ns/iter 1.03

This comment was automatically generated by workflow using github-action-benchmark.

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.

1 participant