Skip to content

Add plenty of unit tests to address more code coverage gaps - #2711

Merged
jviotti merged 6 commits into
mainfrom
more-coverage
Aug 7, 2026
Merged

Add plenty of unit tests to address more code coverage gaps#2711
jviotti merged 6 commits into
mainfrom
more-coverage

Conversation

@jviotti

@jviotti jviotti commented Aug 7, 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>
@augmentcode

augmentcode Bot commented Aug 7, 2026

Copy link
Copy Markdown
🤖 Augment PR Summary

Summary: This PR broadens unit-test coverage across core modules and tightens several internal precondition assumptions.

Changes:

  • Adds gzip cases for fixed/dynamic Huffman blocks, malformed streams, window wrapping, members, and trailers.
  • Expands HTTP Accept matching coverage for malformed ranges, weights, parameters, and wildcards.
  • Adds JSON, JSONPath, JSON Pointer, JSON-LD, YAML, URI, SemVer, JOSE, OAuth, OIDC, I/O, and URI-template router tests.
  • Exercises corrupt URI-template router-view serialization buffers and accessor fallback behavior.
  • Replaces selected defensive error branches with assertions where callers are expected to establish invariants.

Technical Notes: The parser/decoder changes assume trusted internal control flow, while the new tests target malformed external input and edge cases to improve coverage.

🤖 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 test/io/io_flush_test.cc
std::ofstream output{path};
output << "content";
output.close();
std::filesystem::permissions(path, std::filesystem::perms::none,

@augmentcode augmentcode Bot Aug 7, 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.

On POSIX CI workers running as root (a common container configuration), removing the permission bits does not prevent the process from opening this file, so flush() succeeds and this test reaches FAIL(). The test therefore makes the suite depend on the runner's privileges rather than the implementation's behavior.

Severity: low

Fix This in Augment

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

@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: a2cfce4 Previous: 28c0899 Ratio
JOSE_VerifySignature_RS256 18903.363471088054 ns/iter 22294.856402571007 ns/iter 0.85
JOSE_VerifySignature_ES512 497299.92334988515 ns/iter 576280.7822513973 ns/iter 0.86
GZIP_Compress_ISO_Language_Set_3_Locations 30265608.347823888 ns/iter 36498694.47368521 ns/iter 0.83
GZIP_Decompress_ISO_Language_Set_3_Locations 2798228.6947788848 ns/iter 4273465.381250219 ns/iter 0.65
GZIP_Compress_ISO_Language_Set_3_Schema 1752122.0849999965 ns/iter 2023541.4797686008 ns/iter 0.87
GZIP_Decompress_ISO_Language_Set_3_Schema 195902.56324169697 ns/iter 375207.9308681324 ns/iter 0.52
HTML_Build_Table_100000 55691993.99999784 ns/iter 62196947.54545137 ns/iter 0.90
HTML_Render_Table_100000 1899305.970189603 ns/iter 1856418.7154049082 ns/iter 1.02
JSONLD_Catalog_Annotation_List_Populate 1197158.6604413507 ns/iter 1512789.762930934 ns/iter 0.79
JSONLD_Catalog_Materialize 5550219.552000272 ns/iter 7226257.53061196 ns/iter 0.77
JSONL_Parse_Large 10308348.529411446 ns/iter 14136616.779999258 ns/iter 0.73
JSONL_Parse_Large_GZIP 11376064.161289202 ns/iter 15455638.711111734 ns/iter 0.74
URITemplateRouter_Create 22591.724641871817 ns/iter 30858.419491151824 ns/iter 0.73
URITemplateRouter_Match 106.62783448674432 ns/iter 159.3073872317478 ns/iter 0.67
URITemplateRouter_Match_BasePath 125.1708435798215 ns/iter 184.02070354959858 ns/iter 0.68
URITemplateRouterView_Restore 7858.559983901383 ns/iter 8566.92411084339 ns/iter 0.92
URITemplateRouterView_Match 93.54863902796743 ns/iter 124.45183130170794 ns/iter 0.75
URITemplateRouterView_Match_BasePath 104.59107203300128 ns/iter 140.74209531982874 ns/iter 0.74
URITemplateRouterView_Arguments 362.1331138263072 ns/iter 466.4225909166426 ns/iter 0.78
JSONPath_Descendant_Filter_Nested 1505.0369364510473 ns/iter 1741.0131081200177 ns/iter 0.86
Pointer_Object_Traverse 25.07301402907414 ns/iter 32.13678215884734 ns/iter 0.78
Pointer_Object_Try_Traverse 20.04467209285596 ns/iter 25.399715063087555 ns/iter 0.79
Pointer_Push_Back_Pointer_To_Weak_Pointer 119.66380528776386 ns/iter 148.25732282069757 ns/iter 0.81
Pointer_Walker_Schema_ISO_Language 1985932.0972222527 ns/iter 2729865.703125167 ns/iter 0.73
Pointer_Maybe_Tracked_Deeply_Nested/0 1493331.4861406514 ns/iter 1877929.8211382602 ns/iter 0.80
Pointer_Maybe_Tracked_Deeply_Nested/1 1285878.1305146497 ns/iter 1730363.1519607778 ns/iter 0.74
Pointer_Position_Tracker_Get_Deeply_Nested 341.6572930597292 ns/iter 522.5027900838558 ns/iter 0.65
JSON_Array_Of_Objects_Unique 310.26236733838095 ns/iter 484.8469247174082 ns/iter 0.64
JSON_Parse_1 7887.288645159441 ns/iter 9999.109584290305 ns/iter 0.79
JSON_Parse_Real 6097.975924844119 ns/iter 7979.156266140018 ns/iter 0.76
JSON_Parse_Decimal 8807.360759175046 ns/iter 12830.114359510711 ns/iter 0.69
JSON_Parse_Schema_ISO_Language 5250493.257575913 ns/iter 6730304.086538843 ns/iter 0.78
JSON_Parse_Integer 4680.26270667466 ns/iter 5853.588714640425 ns/iter 0.80
JSON_Parse_String_NonSSO_Plain 9626.029422277294 ns/iter 12387.952979003778 ns/iter 0.78
JSON_Parse_String_SSO_Plain 3985.8652111948354 ns/iter 5093.687480033375 ns/iter 0.78
JSON_Parse_String_Escape_Heavy 19236.734658810212 ns/iter 26075.27806827385 ns/iter 0.74
JSON_Parse_Object_Short_Keys 11153.171912523501 ns/iter 14296.890547057199 ns/iter 0.78
JSON_Parse_Object_Scalar_Properties 5713.227590078905 ns/iter 7304.268390697546 ns/iter 0.78
JSON_Parse_Object_Array_Properties 10292.821368996678 ns/iter 12394.790236999714 ns/iter 0.83
JSON_Parse_Object_Object_Properties 9604.871126260157 ns/iter 12167.656750012873 ns/iter 0.79
JSON_Parse_Nested_Containers 79397.58772629025 ns/iter 103628.77126625589 ns/iter 0.77
JSON_From_String_Copy 15.102013502829404 ns/iter 18.25434157545748 ns/iter 0.83
JSON_From_String_Temporary 12.080598525159628 ns/iter 15.047952398604885 ns/iter 0.80
JSON_Number_To_Double 15.278593473549767 ns/iter 20.56585837240612 ns/iter 0.74
JSON_Object_At_Last_Key/8 5.184623153010346 ns/iter 3.741080038438996 ns/iter 1.39
JSON_Object_At_Last_Key/32 18.56349687683041 ns/iter 13.095480643439682 ns/iter 1.42
JSON_Object_At_Last_Key/128 70.96523466064824 ns/iter 48.65403835625657 ns/iter 1.46
JSON_Object_At_Last_Key/512 294.34323411144084 ns/iter 360.7863335610648 ns/iter 0.82
JSON_Fast_Hash_Helm_Chart_Lock 54.8704748535851 ns/iter 75.91803946820936 ns/iter 0.72
JSON_Equality_Helm_Chart_Lock 124.75946208336082 ns/iter 151.67951623073242 ns/iter 0.82
JSON_Divisible_By_Decimal 197.6685527912529 ns/iter 250.82281370943792 ns/iter 0.79
JSON_String_Equal/10 4.192905811960488 ns/iter 5.378250685730583 ns/iter 0.78
JSON_String_Equal/100 5.013066568316309 ns/iter 5.999224011933243 ns/iter 0.84
JSON_String_Equal_Small_By_Perfect_Hash/10 0.5517454602995496 ns/iter 0.6240533017977774 ns/iter 0.88
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 17.085992825392946 ns/iter 25.221177802868567 ns/iter 0.68
JSON_String_Fast_Hash/10 1.964128709156186 ns/iter 2.5716710781991092 ns/iter 0.76
JSON_String_Fast_Hash/100 1.9102045958080125 ns/iter 2.5721427215389814 ns/iter 0.74
JSON_String_Key_Hash/10 0.8429484627505502 ns/iter 1.5591785162049203 ns/iter 0.54
JSON_String_Key_Hash/100 11.44605796072444 ns/iter 12.451663306415153 ns/iter 0.92
JSON_Object_Defines_Miss_Same_Length 2.457294803790753 ns/iter 3.425874816214771 ns/iter 0.72
JSON_Object_Defines_Miss_Too_Small 3.010491804280799 ns/iter 3.1171525145551753 ns/iter 0.97
JSON_Object_Defines_Miss_Too_Large 2.456022883187896 ns/iter 3.425991741807858 ns/iter 0.72
Regex_Lower_S_Or_Upper_S_Asterisk 0.5455213920915197 ns/iter 0.6228444378780414 ns/iter 0.88
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.5456547013360689 ns/iter 0.9341773644149752 ns/iter 0.58
Regex_Period_Asterisk 0.5456091576661467 ns/iter 0.622175651345729 ns/iter 0.88
Regex_Group_Period_Asterisk_Group 0.5457837110164846 ns/iter 0.934380050376519 ns/iter 0.58
Regex_Period_Plus 0.5454056806176738 ns/iter 0.6228567765427129 ns/iter 0.88
Regex_Period 0.5453022008888818 ns/iter 0.9350792606565512 ns/iter 0.58
Regex_Caret_Period_Plus_Dollar 0.5466624874331081 ns/iter 0.6227048597394896 ns/iter 0.88
Regex_Caret_Group_Period_Plus_Group_Dollar 0.5455316792821179 ns/iter 0.9389230244137715 ns/iter 0.58
Regex_Caret_Period_Asterisk_Dollar 0.5454165015361255 ns/iter 0.6230149925029292 ns/iter 0.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.5457913171973937 ns/iter 0.9338356926986208 ns/iter 0.58
Regex_Caret_X_Hyphen 2.726231389839661 ns/iter 3.7393291881835813 ns/iter 0.73
Regex_Period_Md_Dollar 25.452597396536497 ns/iter 27.822100006985345 ns/iter 0.91
Regex_Caret_Slash_Period_Asterisk 2.7263911881486695 ns/iter 4.050524779519879 ns/iter 0.67
Regex_Caret_Period_Range_Dollar 1.0940141481413286 ns/iter 1.5568485653535349 ns/iter 0.70
Regex_Nested_Backtrack 31.275529117670356 ns/iter 37.75282381789771 ns/iter 0.83

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

@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.

2 issues found across 33 files

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="src/core/gzip/huffman.h">

<violation number="1" location="src/core/gzip/huffman.h:44">
P2: Converting the out-of-range length check to `assert` removes the safety net in release builds: `assert` is compiled out under `NDEBUG`, so if any caller ever passes a length greater than MAX_HUFFMAN_BITS (15), `count_[lengths[symbol]]` becomes an out-of-bounds write into the 16-element `count_` array instead of throwing a clean `GZIPError` as before. The current gzip callers do guarantee lengths ≤ 15, and `HuffmanDecoder::build` is a public method of this library header, so this is a latent robustness regression. Consider keeping the runtime validation (throw) so malformed or unexpected lengths are handled gracefully even in optimized builds, or document that the method now requires lengths ≤ MAX_HUFFMAN_BITS from all future callers.</violation>
</file>

<file name="src/core/jsonpath/parser.h">

<violation number="1" location="src/core/jsonpath/parser.h:649">
P3: This refactor replaces the defensive `this->fail()` paths in `parse_comparison_operator()` and `parse_shorthand_name()` with `assert(...)`. That is fine for validating internal invariants, but `assert` is compiled out under `NDEBUG`, so in release/production builds the parser no longer rejects malformed input on these paths. The current call sites in `parse_comparison_or_test()` do honor `comparison_operator_ahead()` first, so behavior today is unchanged, but the parser is a library that accepts external query strings and previously used these `fail()` calls to throw a precise `JSONPathParseError`. If a future caller (or a grammar change) reaches these helpers without the guard, a release build would read out of bounds via `peek()` or silently return a comparison operator instead of raising a parse error. Consider keeping explicit `fail()` guards for the user-input paths, or at least documenting the `assert` so the invariant is enforced in release too.</violation>
</file>

Tip: cubic can generate docs of your entire codebase and keep them up to date. Try it here.

Re-trigger cubic

Comment thread test/io/io_flush_test.cc
Comment thread test/io/io_flush_test.cc
Comment thread src/core/gzip/huffman.h
// The fixed trees use lengths five to nine, the code length tree
// reads three bit values, and the dynamic trees copy code length
// symbols below sixteen, so no caller can supply a longer length
assert(lengths[symbol] <= MAX_HUFFMAN_BITS);

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2: Converting the out-of-range length check to assert removes the safety net in release builds: assert is compiled out under NDEBUG, so if any caller ever passes a length greater than MAX_HUFFMAN_BITS (15), count_[lengths[symbol]] becomes an out-of-bounds write into the 16-element count_ array instead of throwing a clean GZIPError as before. The current gzip callers do guarantee lengths ≤ 15, and HuffmanDecoder::build is a public method of this library header, so this is a latent robustness regression. Consider keeping the runtime validation (throw) so malformed or unexpected lengths are handled gracefully even in optimized builds, or document that the method now requires lengths ≤ MAX_HUFFMAN_BITS from all future callers.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/core/gzip/huffman.h, line 44:

<comment>Converting the out-of-range length check to `assert` removes the safety net in release builds: `assert` is compiled out under `NDEBUG`, so if any caller ever passes a length greater than MAX_HUFFMAN_BITS (15), `count_[lengths[symbol]]` becomes an out-of-bounds write into the 16-element `count_` array instead of throwing a clean `GZIPError` as before. The current gzip callers do guarantee lengths ≤ 15, and `HuffmanDecoder::build` is a public method of this library header, so this is a latent robustness regression. Consider keeping the runtime validation (throw) so malformed or unexpected lengths are handled gracefully even in optimized builds, or document that the method now requires lengths ≤ MAX_HUFFMAN_BITS from all future callers.</comment>

<file context>
@@ -37,9 +38,10 @@ class HuffmanDecoder {
+      // The fixed trees use lengths five to nine, the code length tree
+      // reads three bit values, and the dynamic trees copy code length
+      // symbols below sixteen, so no caller can supply a longer length
+      assert(lengths[symbol] <= MAX_HUFFMAN_BITS);
       this->count_[lengths[symbol]]++;
     }
</file context>
Suggested change
assert(lengths[symbol] <= MAX_HUFFMAN_BITS);
if (lengths[symbol] > MAX_HUFFMAN_BITS) {
throw GZIPError{"Huffman code length out of range"};
}

Comment thread test/jsonld/jsonld_expand_test.cc
this->fail();
}

assert(!this->at_end() && this->peek() == '=');

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P3: This refactor replaces the defensive this->fail() paths in parse_comparison_operator() and parse_shorthand_name() with assert(...). That is fine for validating internal invariants, but assert is compiled out under NDEBUG, so in release/production builds the parser no longer rejects malformed input on these paths. The current call sites in parse_comparison_or_test() do honor comparison_operator_ahead() first, so behavior today is unchanged, but the parser is a library that accepts external query strings and previously used these fail() calls to throw a precise JSONPathParseError. If a future caller (or a grammar change) reaches these helpers without the guard, a release build would read out of bounds via peek() or silently return a comparison operator instead of raising a parse error. Consider keeping explicit fail() guards for the user-input paths, or at least documenting the assert so the invariant is enforced in release too.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/core/jsonpath/parser.h, line 649:

<comment>This refactor replaces the defensive `this->fail()` paths in `parse_comparison_operator()` and `parse_shorthand_name()` with `assert(...)`. That is fine for validating internal invariants, but `assert` is compiled out under `NDEBUG`, so in release/production builds the parser no longer rejects malformed input on these paths. The current call sites in `parse_comparison_or_test()` do honor `comparison_operator_ahead()` first, so behavior today is unchanged, but the parser is a library that accepts external query strings and previously used these `fail()` calls to throw a precise `JSONPathParseError`. If a future caller (or a grammar change) reaches these helpers without the guard, a release build would read out of bounds via `peek()` or silently return a comparison operator instead of raising a parse error. Consider keeping explicit `fail()` guards for the user-input paths, or at least documenting the `assert` so the invariant is enforced in release too.</comment>

<file context>
@@ -641,36 +639,33 @@ class JSONPathParser {
-        this->fail();
-      }
-
+      assert(!this->at_end() && this->peek() == '=');
       this->position_ += 1;
       return character == '=' ? JSONPath::FilterComparisonOperator::Equal
</file context>
Suggested change
assert(!this->at_end() && this->peek() == '=');
if (this->at_end() || this->peek() != '=') {
this->fail();
}

@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: a2cfce4 Previous: 28c0899 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.9534897629812091 ns/iter 1.6906178178487183 ns/iter 1.16
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.921041367829087 ns/iter 1.735997026116513 ns/iter 1.11
Regex_Period_Asterisk 1.8066484891166816 ns/iter 1.957900009792864 ns/iter 0.92
Regex_Group_Period_Asterisk_Group 1.798160493579149 ns/iter 1.728803184608219 ns/iter 1.04
Regex_Period_Plus 2.170983557116765 ns/iter 2.5214693637707866 ns/iter 0.86
Regex_Period 2.186340599145035 ns/iter 2.214356553774716 ns/iter 0.99
Regex_Caret_Period_Plus_Dollar 2.1577077876695574 ns/iter 2.0488609855204163 ns/iter 1.05
Regex_Caret_Group_Period_Plus_Group_Dollar 2.1759781720440143 ns/iter 2.370949522780688 ns/iter 0.92
Regex_Caret_Period_Asterisk_Dollar 1.818403903053782 ns/iter 1.7686013539968737 ns/iter 1.03
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.7633507747773705 ns/iter 1.7158536746188593 ns/iter 1.03
Regex_Caret_X_Hyphen 6.5545784655360615 ns/iter 6.201091149937834 ns/iter 1.06
Regex_Period_Md_Dollar 17.85537414931981 ns/iter 17.70691634049712 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 4.99713728489748 ns/iter 4.717789994224234 ns/iter 1.06
Regex_Caret_Period_Range_Dollar 2.093011401044339 ns/iter 2.2870140564465524 ns/iter 0.92
Regex_Nested_Backtrack 26.243301611985324 ns/iter 28.12216969715347 ns/iter 0.93
JSON_Array_Of_Objects_Unique 342.4130601855014 ns/iter 346.0508942334106 ns/iter 0.99
JSON_Parse_1 7279.269194737498 ns/iter 6203.008510441063 ns/iter 1.17
JSON_Parse_Real 6694.692025929289 ns/iter 6690.06047650268 ns/iter 1.00
JSON_Parse_Decimal 7683.727435755448 ns/iter 6855.9906311299565 ns/iter 1.12
JSON_Parse_Schema_ISO_Language 3848059.0108102243 ns/iter 3528654.0404036725 ns/iter 1.09
JSON_Parse_Integer 4781.713796287611 ns/iter 4364.316909520838 ns/iter 1.10
JSON_Parse_String_NonSSO_Plain 7309.7657356539485 ns/iter 7167.036411513142 ns/iter 1.02
JSON_Parse_String_SSO_Plain 2861.454454764048 ns/iter 2588.033153459619 ns/iter 1.11
JSON_Parse_String_Escape_Heavy 21699.470356684764 ns/iter 20142.686776322604 ns/iter 1.08
JSON_Parse_Object_Short_Keys 9378.825153412201 ns/iter 7871.6029045370215 ns/iter 1.19
JSON_Parse_Object_Scalar_Properties 5033.764530015097 ns/iter 5320.831669553638 ns/iter 0.95
JSON_Parse_Object_Array_Properties 7202.6178292499435 ns/iter 6586.348453299899 ns/iter 1.09
JSON_Parse_Object_Object_Properties 7408.876974905108 ns/iter 6731.190037539599 ns/iter 1.10
JSON_Parse_Nested_Containers 59545.704940995485 ns/iter 59081.075276568336 ns/iter 1.01
JSON_From_String_Copy 23.368217710326224 ns/iter 21.441256165728795 ns/iter 1.09
JSON_From_String_Temporary 19.31358803127558 ns/iter 17.74266871829503 ns/iter 1.09
JSON_Number_To_Double 35.00427310651516 ns/iter 30.891204919736154 ns/iter 1.13
JSON_Object_At_Last_Key/8 4.196335473412027 ns/iter 4.027886290359893 ns/iter 1.04
JSON_Object_At_Last_Key/32 12.11010653946732 ns/iter 11.335364005926612 ns/iter 1.07
JSON_Object_At_Last_Key/128 60.93141314519504 ns/iter 51.13684437515966 ns/iter 1.19
JSON_Object_At_Last_Key/512 184.78811391705563 ns/iter 173.23990993300373 ns/iter 1.07
JSON_Fast_Hash_Helm_Chart_Lock 59.365709516813105 ns/iter 55.03847229038 ns/iter 1.08
JSON_Equality_Helm_Chart_Lock 188.7347982367282 ns/iter 125.88963505716585 ns/iter 1.50
JSON_Divisible_By_Decimal 234.55409484729566 ns/iter 162.38939411314604 ns/iter 1.44
JSON_String_Equal/10 7.551462026334267 ns/iter 6.2824845045191635 ns/iter 1.20
JSON_String_Equal/100 6.600298726403553 ns/iter 6.314409756833061 ns/iter 1.05
JSON_String_Equal_Small_By_Perfect_Hash/10 0.3701606403478801 ns/iter 0.315143991307053 ns/iter 1.17
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.3126352995042527 ns/iter 3.0178910438747186 ns/iter 1.10
JSON_String_Fast_Hash/10 2.465535545465696 ns/iter 2.301377914809378 ns/iter 1.07
JSON_String_Fast_Hash/100 2.3341253201786962 ns/iter 2.02372657503808 ns/iter 1.15
JSON_String_Key_Hash/10 1.9196731126523043 ns/iter 1.5829946453904236 ns/iter 1.21
JSON_String_Key_Hash/100 2.299475057504932 ns/iter 2.005129487637559 ns/iter 1.15
JSON_Object_Defines_Miss_Same_Length 2.748551602467827 ns/iter 2.511387082010244 ns/iter 1.09
JSON_Object_Defines_Miss_Too_Small 2.7639721122171865 ns/iter 2.7151059878837334 ns/iter 1.02
JSON_Object_Defines_Miss_Too_Large 3.3026406913407285 ns/iter 2.52941549895313 ns/iter 1.31
Pointer_Object_Traverse 26.693517672037128 ns/iter 22.094341469008505 ns/iter 1.21
Pointer_Object_Try_Traverse 23.008372631054847 ns/iter 21.939318711710285 ns/iter 1.05
Pointer_Push_Back_Pointer_To_Weak_Pointer 188.2874684501823 ns/iter 150.18859502680718 ns/iter 1.25
Pointer_Walker_Schema_ISO_Language 2885600.1317824693 ns/iter 2369473.3537418484 ns/iter 1.22
Pointer_Maybe_Tracked_Deeply_Nested/0 1392484.2077089576 ns/iter 1113201.433121037 ns/iter 1.25
Pointer_Maybe_Tracked_Deeply_Nested/1 1045184.3105497567 ns/iter 967312.2496663058 ns/iter 1.08
Pointer_Position_Tracker_Get_Deeply_Nested 371.2306598952705 ns/iter 305.1432264938747 ns/iter 1.22
JSONPath_Descendant_Filter_Nested 1342.4667512454175 ns/iter 1145.9591579357284 ns/iter 1.17
URITemplateRouter_Create 24438.672219534616 ns/iter 21581.73606247506 ns/iter 1.13
URITemplateRouter_Match 178.93570939720408 ns/iter 157.55230430578752 ns/iter 1.14
URITemplateRouter_Match_BasePath 203.0754086278232 ns/iter 188.7628804381481 ns/iter 1.08
URITemplateRouterView_Restore 12427.126119571032 ns/iter 10573.36600390835 ns/iter 1.18
URITemplateRouterView_Match 152.53857110599319 ns/iter 132.89217386494818 ns/iter 1.15
URITemplateRouterView_Match_BasePath 155.30466368033035 ns/iter 156.03121486231996 ns/iter 1.00
URITemplateRouterView_Arguments 563.8806926867217 ns/iter 517.8426727943402 ns/iter 1.09
JSONL_Parse_Large 10596707.687501095 ns/iter 11793509.61538498 ns/iter 0.90
JSONL_Parse_Large_GZIP 11534485.416666484 ns/iter 11173686.740741467 ns/iter 1.03
JSONLD_Catalog_Annotation_List_Populate 1021580.4806544984 ns/iter 957402.4827127584 ns/iter 1.07
JSONLD_Catalog_Materialize 5079068.749998896 ns/iter 4115252.4038461884 ns/iter 1.23
HTML_Build_Table_100000 38817861.11110665 ns/iter 35159331.24999719 ns/iter 1.10
HTML_Render_Table_100000 1844913.0291005364 ns/iter 1443150.0550660575 ns/iter 1.28
GZIP_Compress_ISO_Language_Set_3_Locations 27329985.576924488 ns/iter 25872199.68965483 ns/iter 1.06
GZIP_Decompress_ISO_Language_Set_3_Locations 3273171.9716975763 ns/iter 2979460.379464679 ns/iter 1.10
GZIP_Compress_ISO_Language_Set_3_Schema 1574295.7951542367 ns/iter 1422918.4343436158 ns/iter 1.11
GZIP_Decompress_ISO_Language_Set_3_Schema 316979.6439155835 ns/iter 276635.8298036198 ns/iter 1.15
JOSE_VerifySignature_RS256 22763.021707940075 ns/iter 20523.7854845847 ns/iter 1.11
JOSE_VerifySignature_ES512 1062039.454806511 ns/iter 909900.9126467005 ns/iter 1.17

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: a2cfce4 Previous: 28c0899 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.198405360260041 ns/iter 2.4971938768971205 ns/iter 0.88
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4550824599906393 ns/iter 2.8033448167413835 ns/iter 0.88
Regex_Period_Asterisk 2.4545854273083765 ns/iter 2.8063511038181477 ns/iter 0.87
Regex_Group_Period_Asterisk_Group 2.1823112830879845 ns/iter 2.491265308716964 ns/iter 0.88
Regex_Period_Plus 3.2779649987728194 ns/iter 2.8013983542796725 ns/iter 1.17
Regex_Period 3.5493918076042736 ns/iter 3.113763495283515 ns/iter 1.14
Regex_Caret_Period_Plus_Dollar 3.549488474336816 ns/iter 3.1152061970063727 ns/iter 1.14
Regex_Caret_Group_Period_Plus_Group_Dollar 3.2772530443291057 ns/iter 2.8141031005760677 ns/iter 1.16
Regex_Caret_Period_Asterisk_Dollar 2.4686076281156146 ns/iter 2.804021456388899 ns/iter 0.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.7399457649933363 ns/iter 3.1125173395844343 ns/iter 0.88
Regex_Caret_X_Hyphen 6.004836397647204 ns/iter 6.237294236714144 ns/iter 0.96
Regex_Period_Md_Dollar 21.004565781485 ns/iter 27.822005763400934 ns/iter 0.75
Regex_Caret_Slash_Period_Asterisk 5.72977062181738 ns/iter 6.538598146933544 ns/iter 0.88
Regex_Caret_Period_Range_Dollar 3.8232069829184603 ns/iter 4.671478488431955 ns/iter 0.82
Regex_Nested_Backtrack 29.970950334439525 ns/iter 38.918967539406644 ns/iter 0.77
JSON_Array_Of_Objects_Unique 335.6785137716033 ns/iter 418.10116326107385 ns/iter 0.80
JSON_Parse_1 3632.164740957883 ns/iter 4893.972702507277 ns/iter 0.74
JSON_Parse_Real 3966.570756585943 ns/iter 5440.199592132479 ns/iter 0.73
JSON_Parse_Decimal 6532.900235802262 ns/iter 8432.37624994031 ns/iter 0.77
JSON_Parse_Schema_ISO_Language 2830924.2712550056 ns/iter 3491061.348258587 ns/iter 0.81
JSON_Parse_Integer 3108.936072228713 ns/iter 3793.721943121279 ns/iter 0.82
JSON_Parse_String_NonSSO_Plain 4008.958979331894 ns/iter 5269.794442519068 ns/iter 0.76
JSON_Parse_String_SSO_Plain 2298.1412800391163 ns/iter 2916.5442816385976 ns/iter 0.79
JSON_Parse_String_Escape_Heavy 11312.828204796087 ns/iter 14848.499841125153 ns/iter 0.76
JSON_Parse_Object_Short_Keys 6051.167480637172 ns/iter 10409.21484514093 ns/iter 0.58
JSON_Parse_Object_Scalar_Properties 3183.9760025098694 ns/iter 4041.9795829815953 ns/iter 0.79
JSON_Parse_Object_Array_Properties 4358.5743083717725 ns/iter 5546.952996381213 ns/iter 0.79
JSON_Parse_Object_Object_Properties 4346.3056644083 ns/iter 5595.365076712282 ns/iter 0.78
JSON_Parse_Nested_Containers 35239.02045306926 ns/iter 46084.43127961596 ns/iter 0.76
JSON_From_String_Copy 18.28067484301752 ns/iter 20.57915268029026 ns/iter 0.89
JSON_From_String_Temporary 15.82454093553356 ns/iter 17.75686558196388 ns/iter 0.89
JSON_Number_To_Double 17.50746147654464 ns/iter 24.104957309998486 ns/iter 0.73
JSON_Object_At_Last_Key/8 3.137372087769105 ns/iter 3.82641424095372 ns/iter 0.82
JSON_Object_At_Last_Key/32 10.307212251715685 ns/iter 12.415216585995493 ns/iter 0.83
JSON_Object_At_Last_Key/128 43.94191751595896 ns/iter 49.372832654485016 ns/iter 0.89
JSON_Object_At_Last_Key/512 287.10086445223106 ns/iter 398.85180617913824 ns/iter 0.72
JSON_Fast_Hash_Helm_Chart_Lock 56.18429018083834 ns/iter 60.67785149315182 ns/iter 0.93
JSON_Equality_Helm_Chart_Lock 133.37847521918053 ns/iter 169.9762072939129 ns/iter 0.78
JSON_Divisible_By_Decimal 191.99929191863512 ns/iter 256.6133770206128 ns/iter 0.75
JSON_String_Equal/10 4.363975974019967 ns/iter 5.923159286821765 ns/iter 0.74
JSON_String_Equal/100 5.183494967352343 ns/iter 6.542776543914679 ns/iter 0.79
JSON_String_Equal_Small_By_Perfect_Hash/10 0.818008205705208 ns/iter 0.9433566734685312 ns/iter 0.87
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 9.675880738552184 ns/iter 15.024884649468596 ns/iter 0.64
JSON_String_Fast_Hash/10 2.182440620050949 ns/iter 2.8075824549655346 ns/iter 0.78
JSON_String_Fast_Hash/100 2.1823585062696536 ns/iter 2.801349448541466 ns/iter 0.78
JSON_String_Key_Hash/10 1.953892342044027 ns/iter 2.2407830263273345 ns/iter 0.87
JSON_String_Key_Hash/100 6.274167681731673 ns/iter 9.072915993287761 ns/iter 0.69
JSON_Object_Defines_Miss_Same_Length 2.4761443853266685 ns/iter 3.071431482668141 ns/iter 0.81
JSON_Object_Defines_Miss_Too_Small 3.29009852154123 ns/iter 3.4274487158541582 ns/iter 0.96
JSON_Object_Defines_Miss_Too_Large 2.290939592765443 ns/iter 2.8808482513824734 ns/iter 0.80
Pointer_Object_Traverse 23.787467871791087 ns/iter 37.86588460008211 ns/iter 0.63
Pointer_Object_Try_Traverse 25.85474665879291 ns/iter 43.87975491620468 ns/iter 0.59
Pointer_Push_Back_Pointer_To_Weak_Pointer 144.76905960568757 ns/iter 197.22270698663186 ns/iter 0.73
Pointer_Walker_Schema_ISO_Language 2091129.7857141774 ns/iter 2590570.1360295382 ns/iter 0.81
Pointer_Maybe_Tracked_Deeply_Nested/0 985918.8158639126 ns/iter 1206494.7911503783 ns/iter 0.82
Pointer_Maybe_Tracked_Deeply_Nested/1 1223109.3327495896 ns/iter 1586051.6189375874 ns/iter 0.77
Pointer_Position_Tracker_Get_Deeply_Nested 561.3025471324767 ns/iter 710.3090677480545 ns/iter 0.79
JSONPath_Descendant_Filter_Nested 1249.2161341507485 ns/iter 1556.6886400933045 ns/iter 0.80
URITemplateRouter_Create 22730.330985916502 ns/iter 30920.882751341593 ns/iter 0.74
URITemplateRouter_Match 136.78170244000745 ns/iter 181.18489327739266 ns/iter 0.75
URITemplateRouter_Match_BasePath 164.39516556524072 ns/iter 206.45630902868126 ns/iter 0.80
URITemplateRouterView_Restore 7728.029567879011 ns/iter 8505.29291564464 ns/iter 0.91
URITemplateRouterView_Match 126.2875672771767 ns/iter 162.17074342040925 ns/iter 0.78
URITemplateRouterView_Match_BasePath 150.10337732887817 ns/iter 184.5517845841832 ns/iter 0.81
URITemplateRouterView_Arguments 354.06756723902964 ns/iter 440.24782014477665 ns/iter 0.80
JSONL_Parse_Large 7182525.814433228 ns/iter 9721574.569444632 ns/iter 0.74
JSONL_Parse_Large_GZIP 8503299.024391154 ns/iter 11275838.806453051 ns/iter 0.75
JSONLD_Catalog_Annotation_List_Populate 1046302.2804154649 ns/iter 1323027.2988722336 ns/iter 0.79
JSONLD_Catalog_Materialize 3383703.164251379 ns/iter 4366105.477987611 ns/iter 0.77
HTML_Build_Table_100000 57811067.33332801 ns/iter 64912393.181822896 ns/iter 0.89
HTML_Render_Table_100000 4424254.471338022 ns/iter 5241949.893130048 ns/iter 0.84
GZIP_Compress_ISO_Language_Set_3_Locations 27193235.576926503 ns/iter 33469561.857145887 ns/iter 0.81
GZIP_Decompress_ISO_Language_Set_3_Locations 2906054.20661153 ns/iter 4114935.5235294187 ns/iter 0.71
GZIP_Compress_ISO_Language_Set_3_Schema 1621754.2250578825 ns/iter 1886581.9376695533 ns/iter 0.86
GZIP_Decompress_ISO_Language_Set_3_Schema 195621.9815642332 ns/iter 352176.3751258867 ns/iter 0.56
JOSE_VerifySignature_RS256 49772.48701022747 ns/iter 56785.08494334441 ns/iter 0.88
JOSE_VerifySignature_ES512 2135898.8689022786 ns/iter 2424248.8993056417 ns/iter 0.88

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

jviotti added 2 commits August 7, 2026 12:39
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
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.

All reported issues were addressed across 11 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread test/jsonpath/jsonpath_parse_test.cc Outdated
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.

All reported issues were addressed across 13 files (changes from recent commits).

Tip: Review your code locally with the cubic CLI to iterate faster.

Re-trigger cubic

Comment thread test/jsonpath/jsonpath_parse_test.cc Outdated
jviotti added 2 commits August 7, 2026 13:26
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>

@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: a2cfce4 Previous: 28c0899 Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 3.9407705339555075 ns/iter 5.238200892857695 ns/iter 0.75
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.8400479910714678 ns/iter 5.00307321428701 ns/iter 0.77
Regex_Period_Asterisk 3.875039993080071 ns/iter 5.084892999998374 ns/iter 0.76
Regex_Group_Period_Asterisk_Group 3.882047991071248 ns/iter 5.0590729999998985 ns/iter 0.77
Regex_Period_Plus 3.6002346364280617 ns/iter 4.7438069302310755 ns/iter 0.76
Regex_Period 3.6101372767851 ns/iter 4.7886783589032635 ns/iter 0.75
Regex_Caret_Period_Plus_Dollar 3.6152703060441373 ns/iter 4.9075619999985065 ns/iter 0.74
Regex_Caret_Group_Period_Plus_Group_Dollar 3.7082346362353795 ns/iter 4.964277999999922 ns/iter 0.75
Regex_Caret_Period_Asterisk_Dollar 3.9959353642784015 ns/iter 5.228729464286224 ns/iter 0.76
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.9072289215944833 ns/iter 5.123318000000836 ns/iter 0.76
Regex_Caret_X_Hyphen 6.132161607143059 ns/iter 8.02195312500079 ns/iter 0.76
Regex_Period_Md_Dollar 50.78899000000092 ns/iter 54.346660000010154 ns/iter 0.93
Regex_Caret_Slash_Period_Asterisk 5.768001785714968 ns/iter 7.661119419642505 ns/iter 0.75
Regex_Caret_Period_Range_Dollar 4.364128125000377 ns/iter 5.472551785715041 ns/iter 0.80
Regex_Nested_Backtrack 67.18236607142103 ns/iter 80.90053571428209 ns/iter 0.83
JSON_Array_Of_Objects_Unique 645.7579464286108 ns/iter 681.274665178628 ns/iter 0.95
JSON_Parse_1 7666.919642856231 ns/iter 9873.462499999876 ns/iter 0.78
JSON_Parse_Real 13697.2767857141 ns/iter 17173.082589282883 ns/iter 0.80
JSON_Parse_Decimal 8675.720197677505 ns/iter 11539.539062500382 ns/iter 0.75
JSON_Parse_Schema_ISO_Language 6410244.642858791 ns/iter 8423104.444444915 ns/iter 0.76
JSON_Parse_Integer 4558.9281250002505 ns/iter 6115.194000001338 ns/iter 0.75
JSON_Parse_String_NonSSO_Plain 6171.620535714137 ns/iter 8269.869419643377 ns/iter 0.75
JSON_Parse_String_SSO_Plain 2873.4351457871435 ns/iter 3606.056774899645 ns/iter 0.80
JSON_Parse_String_Escape_Heavy 16880.722861984494 ns/iter 21835.479658756904 ns/iter 0.77
JSON_Parse_Object_Short_Keys 10163.808643711449 ns/iter 12958.322953912564 ns/iter 0.78
JSON_Parse_Object_Scalar_Properties 5191.294999999627 ns/iter 6663.415178571036 ns/iter 0.78
JSON_Parse_Object_Array_Properties 8879.784911674195 ns/iter 11946.976562501988 ns/iter 0.74
JSON_Parse_Object_Object_Properties 9136.500729906711 ns/iter 11714.885937500696 ns/iter 0.78
JSON_Parse_Nested_Containers 64393.9196428432 ns/iter 82810.68080357049 ns/iter 0.78
JSON_From_String_Copy 49.22795000002225 ns/iter 63.00532142857053 ns/iter 0.78
JSON_From_String_Temporary 73.02508928572442 ns/iter 81.80739955356842 ns/iter 0.89
JSON_Number_To_Double 102.58523437499888 ns/iter 135.8676785714254 ns/iter 0.76
JSON_Object_At_Last_Key/8 5.78901696428602 ns/iter 7.57313839285599 ns/iter 0.76
JSON_Object_At_Last_Key/32 19.517350000000988 ns/iter 25.94621874999957 ns/iter 0.75
JSON_Object_At_Last_Key/128 72.06110491073352 ns/iter 97.01497334755348 ns/iter 0.74
JSON_Object_At_Last_Key/512 333.1201101571075 ns/iter 426.388164837361 ns/iter 0.78
JSON_Fast_Hash_Helm_Chart_Lock 102.39090614325043 ns/iter 113.67569642857234 ns/iter 0.90
JSON_Equality_Helm_Chart_Lock 162.29192381419307 ns/iter 211.90013562946874 ns/iter 0.77
JSON_Divisible_By_Decimal 282.34911239507625 ns/iter 370.0695031280319 ns/iter 0.76
JSON_String_Equal/10 7.775059151785715 ns/iter 9.964932544799828 ns/iter 0.78
JSON_String_Equal/100 8.959123620720186 ns/iter 11.569018749998605 ns/iter 0.77
JSON_String_Equal_Small_By_Perfect_Hash/10 1.7502519877794027 ns/iter 2.171111250000024 ns/iter 0.81
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 14.933934977972953 ns/iter 16.076239883585433 ns/iter 0.93
JSON_String_Fast_Hash/10 4.944153000001279 ns/iter 6.396701785713991 ns/iter 0.77
JSON_String_Fast_Hash/100 5.000746000000618 ns/iter 6.418978794643847 ns/iter 0.78
JSON_String_Key_Hash/10 3.8888426339284923 ns/iter 4.980166000000281 ns/iter 0.78
JSON_String_Key_Hash/100 8.825418710600678 ns/iter 11.070067187500143 ns/iter 0.80
JSON_Object_Defines_Miss_Same_Length 3.04762289770465 ns/iter 3.904701450892897 ns/iter 0.78
JSON_Object_Defines_Miss_Too_Small 3.450621567891685 ns/iter 4.549325892857123 ns/iter 0.76
JSON_Object_Defines_Miss_Too_Large 3.054297495908863 ns/iter 3.867972656249766 ns/iter 0.79
Pointer_Object_Traverse 51.325151785712414 ns/iter 65.76399000000492 ns/iter 0.78
Pointer_Object_Try_Traverse 53.27632000000904 ns/iter 68.07020089285892 ns/iter 0.78
Pointer_Push_Back_Pointer_To_Weak_Pointer 134.64720604250172 ns/iter 153.19156250000225 ns/iter 0.88
Pointer_Walker_Schema_ISO_Language 9705940.625000408 ns/iter 12914057.142856855 ns/iter 0.75
Pointer_Maybe_Tracked_Deeply_Nested/0 1908103.478261024 ns/iter 2495853.813559086 ns/iter 0.76
Pointer_Maybe_Tracked_Deeply_Nested/1 2941592.796610243 ns/iter 3633465.128204522 ns/iter 0.81
Pointer_Position_Tracker_Get_Deeply_Nested 435.92640714303496 ns/iter 625.1453125000036 ns/iter 0.70
JSONPath_Descendant_Filter_Nested 1924.3007414068209 ns/iter 2377.3563868785677 ns/iter 0.81
URITemplateRouter_Create 29787.628822264003 ns/iter 39257.254464291385 ns/iter 0.76
URITemplateRouter_Match 171.52031250000329 ns/iter 215.35798935736562 ns/iter 0.80
URITemplateRouter_Match_BasePath 192.05755286228563 ns/iter 245.549436880644 ns/iter 0.78
URITemplateRouterView_Restore 19560.43178956899 ns/iter 25359.606116951734 ns/iter 0.77
URITemplateRouterView_Match 134.22083106158962 ns/iter 172.30314038418982 ns/iter 0.78
URITemplateRouterView_Match_BasePath 154.85473214284744 ns/iter 199.53318975298222 ns/iter 0.78
URITemplateRouterView_Arguments 458.78777443195804 ns/iter 587.4090999998316 ns/iter 0.78
JSONL_Parse_Large 25575761.53845695 ns/iter 33395747.61904866 ns/iter 0.77
JSONL_Parse_Large_GZIP 25881626.66666752 ns/iter 34119439.99999494 ns/iter 0.76
JSONLD_Catalog_Annotation_List_Populate 2585168.9285713877 ns/iter 3233136.6197188334 ns/iter 0.80
JSONLD_Catalog_Materialize 6789966.071427298 ns/iter 8490709.333330717 ns/iter 0.80
HTML_Build_Table_100000 74445918.18183322 ns/iter 92753328.57142921 ns/iter 0.80
HTML_Render_Table_100000 6654114.285715147 ns/iter 7973554.444444946 ns/iter 0.83
GZIP_Compress_ISO_Language_Set_3_Locations 27927111.99999758 ns/iter 37675599.99999704 ns/iter 0.74
GZIP_Decompress_ISO_Language_Set_3_Locations 7302167.857143818 ns/iter 10480596.000000635 ns/iter 0.70
GZIP_Compress_ISO_Language_Set_3_Schema 1741296.5601968172 ns/iter 2329357.1906359154 ns/iter 0.75
GZIP_Decompress_ISO_Language_Set_3_Schema 421719.52983721416 ns/iter 586739.4642856587 ns/iter 0.72
JOSE_VerifySignature_RS256 18377.39533388862 ns/iter 23993.132889141798 ns/iter 0.77
JOSE_VerifySignature_ES512 1184013.7499997842 ns/iter 1552089.28571428 ns/iter 0.76

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

@jviotti
jviotti merged commit ac69efc into main Aug 7, 2026
12 checks passed
@jviotti
jviotti deleted the more-coverage branch August 7, 2026 17:02
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