close
Skip to content

Integrate with ccache to speed up CI builds - #2759

Merged
jviotti merged 4 commits into
mainfrom
ccache-actions
Aug 19, 2026
Merged

Integrate with ccache to speed up CI builds#2759
jviotti merged 4 commits into
mainfrom
ccache-actions

Conversation

@jviotti

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

@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: 273bda4 Previous: 9ba55aa Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 1.7614495421697403 ns/iter 2.2460508716406764 ns/iter 0.78
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.6739296764180012 ns/iter 2.538337909281635 ns/iter 0.66
Regex_Period_Asterisk 1.735533774760811 ns/iter 2.52906442986521 ns/iter 0.69
Regex_Group_Period_Asterisk_Group 1.6544868607630654 ns/iter 2.3512815791031327 ns/iter 0.70
Regex_Period_Plus 2.052234770285216 ns/iter 2.597802950813937 ns/iter 0.79
Regex_Period 2.010856248915274 ns/iter 2.517712107974742 ns/iter 0.80
Regex_Caret_Period_Plus_Dollar 2.047431131115204 ns/iter 2.612041583786417 ns/iter 0.78
Regex_Caret_Group_Period_Plus_Group_Dollar 2.0215598171354374 ns/iter 2.521911007608912 ns/iter 0.80
Regex_Caret_Period_Asterisk_Dollar 1.594533067148639 ns/iter 2.175911181089128 ns/iter 0.73
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.5777501541824157 ns/iter 2.228339972212737 ns/iter 0.71
Regex_Caret_X_Hyphen 5.67120507962565 ns/iter 7.188965032061973 ns/iter 0.79
Regex_Period_Md_Dollar 15.956419150271346 ns/iter 22.79497308286415 ns/iter 0.70
Regex_Caret_Slash_Period_Asterisk 4.119723624831138 ns/iter 5.845794652042763 ns/iter 0.70
Regex_Caret_Period_Range_Dollar 1.9636551401407414 ns/iter 2.8574835311262974 ns/iter 0.69
Regex_Nested_Backtrack 24.37322921346568 ns/iter 36.97019440707677 ns/iter 0.66
JSON_Array_Of_Objects_Unique 325.7243823866409 ns/iter 442.7193965536299 ns/iter 0.74
JSON_Parse_1 2846.644115277263 ns/iter 4205.136568167535 ns/iter 0.68
JSON_Parse_Real 5335.854771135605 ns/iter 7312.759285753056 ns/iter 0.73
JSON_Parse_Decimal 5888.265995847637 ns/iter 8337.478114694539 ns/iter 0.71
JSON_Parse_Schema_ISO_Language 2017986.6657144884 ns/iter 3240861.1124497675 ns/iter 0.62
JSON_Parse_Integer 3106.068490980312 ns/iter 4268.932073748299 ns/iter 0.73
JSON_Parse_String_NonSSO_Plain 2787.4243569649043 ns/iter 3887.9716098249287 ns/iter 0.72
JSON_Parse_String_SSO_Plain 3523.582445504412 ns/iter 2307.4241116355815 ns/iter 1.53
JSON_Parse_String_Escape_Heavy 26571.0643701842 ns/iter 22534.803733511042 ns/iter 1.18
JSON_Parse_Object_Short_Keys 5759.38394159341 ns/iter 7683.6256032563915 ns/iter 0.75
JSON_Parse_Object_Scalar_Properties 2905.424264979312 ns/iter 3641.132980568914 ns/iter 0.80
JSON_Parse_Object_Array_Properties 3466.2981257705937 ns/iter 4498.823907338435 ns/iter 0.77
JSON_Parse_Object_Object_Properties 3873.5631672825084 ns/iter 4370.5172331531485 ns/iter 0.89
JSON_Parse_Nested_Containers 25263.943312433275 ns/iter 32280.54283404794 ns/iter 0.78
JSON_From_String_Copy 11.118164736739732 ns/iter 13.441698724890173 ns/iter 0.83
JSON_From_String_Temporary 6.3739137875825715 ns/iter 8.933675675802089 ns/iter 0.71
JSON_Number_To_Double 34.742782523381514 ns/iter 45.63583313195605 ns/iter 0.76
JSON_Object_At_Last_Key/8 4.849205370185703 ns/iter 5.392606249999972 ns/iter 0.90
JSON_Object_At_Last_Key/32 12.267151036805469 ns/iter 16.02543382891302 ns/iter 0.77
JSON_Object_At_Last_Key/128 55.725552909225044 ns/iter 73.68903221829508 ns/iter 0.76
JSON_Object_At_Last_Key/512 193.6920797769661 ns/iter 256.03452486864427 ns/iter 0.76
JSON_Fast_Hash_Helm_Chart_Lock 60.30468146332556 ns/iter 71.18140265472275 ns/iter 0.85
JSON_Equality_Helm_Chart_Lock 171.4370065491592 ns/iter 198.70043612674232 ns/iter 0.86
JSON_Divisible_By_Decimal 204.38647136788828 ns/iter 222.65712632077245 ns/iter 0.92
JSON_String_Equal/10 7.524572979998198 ns/iter 8.473598407609462 ns/iter 0.89
JSON_String_Equal/100 7.445607700270818 ns/iter 8.427574982558731 ns/iter 0.88
JSON_String_Equal_Small_By_Perfect_Hash/10 0.37393547464051596 ns/iter 0.3893827118602256 ns/iter 0.96
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 3.398106689726833 ns/iter 4.288199177750032 ns/iter 0.79
JSON_String_Fast_Hash/10 2.8667136661266888 ns/iter 2.8900220983084743 ns/iter 0.99
JSON_String_Fast_Hash/100 2.250661048436551 ns/iter 2.7939988011826244 ns/iter 0.81
JSON_String_Key_Hash/10 1.8658902760515306 ns/iter 2.1470870623176936 ns/iter 0.87
JSON_String_Key_Hash/100 2.580252006145059 ns/iter 3.2351888121593566 ns/iter 0.80
JSON_Object_Defines_Miss_Same_Length 3.0099764569957967 ns/iter 3.4522645506503578 ns/iter 0.87
JSON_Object_Defines_Miss_Too_Small 2.7301784336537676 ns/iter 3.3825349567566696 ns/iter 0.81
JSON_Object_Defines_Miss_Too_Large 2.724290540689582 ns/iter 3.6035817488444475 ns/iter 0.76
Pointer_Object_Traverse 20.456919734760024 ns/iter 25.20819006317586 ns/iter 0.81
Pointer_Object_Try_Traverse 31.347481907411872 ns/iter 43.88018152214094 ns/iter 0.71
Pointer_Push_Back_Pointer_To_Weak_Pointer 135.05495710261468 ns/iter 179.9520298985341 ns/iter 0.75
Pointer_Walker_Schema_ISO_Language 1205661.016949068 ns/iter 1754583.852867856 ns/iter 0.69
Pointer_Maybe_Tracked_Deeply_Nested/0 955601.0324074135 ns/iter 1131140.2058395387 ns/iter 0.84
Pointer_Maybe_Tracked_Deeply_Nested/1 1259867.713872806 ns/iter 1514107.092975181 ns/iter 0.83
Pointer_Position_Tracker_Get_Deeply_Nested 343.7296052458967 ns/iter 455.1061439067652 ns/iter 0.76
JSONPath_Descendant_Filter_Nested 1427.542061778681 ns/iter 1530.3881729942605 ns/iter 0.93
URITemplateRouter_Create 17280.603666651212 ns/iter 22162.413146614985 ns/iter 0.78
URITemplateRouter_Match 161.49339384431775 ns/iter 208.88208978087604 ns/iter 0.77
URITemplateRouter_Match_BasePath 253.09079294254124 ns/iter 255.10994242386528 ns/iter 0.99
URITemplateRouterView_Restore 13448.695042146106 ns/iter 14355.199695997055 ns/iter 0.94
URITemplateRouterView_Match 136.78891675888002 ns/iter 188.456456847713 ns/iter 0.73
URITemplateRouterView_Match_BasePath 148.94269317785785 ns/iter 217.33538461359848 ns/iter 0.69
URITemplateRouterView_Arguments 512.3731731904846 ns/iter 676.5575648802827 ns/iter 0.76
JSONL_Parse_Large 5897305.89430884 ns/iter 6925123.372548783 ns/iter 0.85
JSONL_Parse_Large_GZIP 6774174.209523326 ns/iter 8303382.172043321 ns/iter 0.82
JSONLD_Catalog_Annotation_List_Populate 436595.92740924447 ns/iter 588470.9591973538 ns/iter 0.74
JSONLD_Catalog_Materialize 2086846.063889109 ns/iter 2529117.509363139 ns/iter 0.83
HTML_Build_Table_100000 34775866.21053026 ns/iter 40401863.14286335 ns/iter 0.86
HTML_Render_Table_100000 1532158.7016807038 ns/iter 1993048.6492145844 ns/iter 0.77
GZIP_Compress_ISO_Language_Set_3_Locations 26035714.28571578 ns/iter 29967934.041664537 ns/iter 0.87
GZIP_Decompress_ISO_Language_Set_3_Locations 3138587.899543672 ns/iter 4302700.144508322 ns/iter 0.73
GZIP_Compress_ISO_Language_Set_3_Schema 1458889.2634853714 ns/iter 1718048.442666562 ns/iter 0.85
GZIP_Decompress_ISO_Language_Set_3_Schema 279747.7168950199 ns/iter 310448.30215538037 ns/iter 0.90
JOSE_VerifySignature_RS256 20433.938288355104 ns/iter 30418.11446532166 ns/iter 0.67
JOSE_VerifySignature_ES512 914106.266149898 ns/iter 1070576.5135136012 ns/iter 0.85

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/gcc)

Details
Benchmark suite Current: 221d598 Previous: 9ba55aa Ratio
JOSE_VerifySignature_RS256 21915.421067821342 ns/iter 22022.37305982556 ns/iter 1.00
JOSE_VerifySignature_ES512 575619.098265911 ns/iter 575751.325370611 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Locations 36369465.315790184 ns/iter 36459859.526315235 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Locations 4141856.9822483803 ns/iter 4238620.224243112 ns/iter 0.98
GZIP_Compress_ISO_Language_Set_3_Schema 2028625.0898551228 ns/iter 2028520.8000000303 ns/iter 1.00
GZIP_Decompress_ISO_Language_Set_3_Schema 376597.6412049425 ns/iter 377865.2670270448 ns/iter 1.00
HTML_Build_Table_100000 53584686.91666474 ns/iter 54778969.833345555 ns/iter 0.98
HTML_Render_Table_100000 1757245.8232323106 ns/iter 1957758.033707511 ns/iter 0.90
JSONLD_Catalog_Annotation_List_Populate 673635.9496124327 ns/iter 688109.4331705887 ns/iter 0.98
JSONLD_Catalog_Materialize 3461099.0199004067 ns/iter 3522820.9698501513 ns/iter 0.98
JSONL_Parse_Large 10123576.82608716 ns/iter 10155624.855071332 ns/iter 1.00
JSONL_Parse_Large_GZIP 11454235.590164088 ns/iter 11509200.300001035 ns/iter 1.00
URITemplateRouter_Create 21303.33179120487 ns/iter 21124.804787598277 ns/iter 1.01
URITemplateRouter_Match 160.36623729931176 ns/iter 161.82937682508577 ns/iter 0.99
URITemplateRouter_Match_BasePath 181.34311502975115 ns/iter 180.07971805013824 ns/iter 1.01
URITemplateRouterView_Restore 8240.28607492762 ns/iter 8460.854097946461 ns/iter 0.97
URITemplateRouterView_Match 124.90492964314046 ns/iter 128.1615812627241 ns/iter 0.97
URITemplateRouterView_Match_BasePath 144.16654498427266 ns/iter 144.33585010171996 ns/iter 1.00
URITemplateRouterView_Arguments 467.5740904541395 ns/iter 469.45346058350515 ns/iter 1.00
JSONPath_Descendant_Filter_Nested 1691.7458968298151 ns/iter 1610.985842949958 ns/iter 1.05
Pointer_Object_Traverse 23.257937736598393 ns/iter 22.91052100860483 ns/iter 1.02
Pointer_Object_Try_Traverse 25.87292884488963 ns/iter 25.87383088146686 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 130.71142471488852 ns/iter 131.5861373770398 ns/iter 0.99
Pointer_Walker_Schema_ISO_Language 1542743.5304740546 ns/iter 1444957.2133889315 ns/iter 1.07
Pointer_Maybe_Tracked_Deeply_Nested/0 1206188.838488045 ns/iter 1206910.8801368463 ns/iter 1.00
Pointer_Maybe_Tracked_Deeply_Nested/1 1690794.1249999846 ns/iter 1690143.138014082 ns/iter 1.00
Pointer_Position_Tracker_Get_Deeply_Nested 677.3319514353228 ns/iter 624.7369267977572 ns/iter 1.08
JSON_Array_Of_Objects_Unique 476.05639060704976 ns/iter 458.975275210454 ns/iter 1.04
JSON_Parse_1 5162.160903825291 ns/iter 5200.843280387193 ns/iter 0.99
JSON_Parse_Real 5511.535169528766 ns/iter 5699.128457188009 ns/iter 0.97
JSON_Parse_Decimal 10011.11525302909 ns/iter 10059.13089845905 ns/iter 1.00
JSON_Parse_Schema_ISO_Language 3567785.56923059 ns/iter 3570879.500000733 ns/iter 1.00
JSON_Parse_Integer 3757.707061527948 ns/iter 3763.458750492535 ns/iter 1.00
JSON_Parse_String_NonSSO_Plain 3599.381750216803 ns/iter 3614.6502807254496 ns/iter 1.00
JSON_Parse_String_SSO_Plain 3145.9396788939107 ns/iter 3150.264852276446 ns/iter 1.00
JSON_Parse_String_Escape_Heavy 16943.424765080526 ns/iter 16880.59973927651 ns/iter 1.00
JSON_Parse_Object_Short_Keys 8403.912386817987 ns/iter 8400.409391868421 ns/iter 1.00
JSON_Parse_Object_Scalar_Properties 4262.3646868909445 ns/iter 4285.8977971359245 ns/iter 0.99
JSON_Parse_Object_Array_Properties 6389.837451804555 ns/iter 7551.632253121722 ns/iter 0.85
JSON_Parse_Object_Object_Properties 6442.26922723015 ns/iter 7639.310206031042 ns/iter 0.84
JSON_Parse_Nested_Containers 38626.4560745609 ns/iter 43215.354806854295 ns/iter 0.89
JSON_From_String_Copy 8.38730675548875 ns/iter 8.417462703045699 ns/iter 1.00
JSON_From_String_Temporary 7.195781038265326 ns/iter 7.386037708522089 ns/iter 0.97
JSON_Number_To_Double 21.821369170445188 ns/iter 22.129179656710146 ns/iter 0.99
JSON_Object_At_Last_Key/8 5.617782212518135 ns/iter 5.613337090396754 ns/iter 1.00
JSON_Object_At_Last_Key/32 21.510668827270145 ns/iter 21.534245661617806 ns/iter 1.00
JSON_Object_At_Last_Key/128 88.19565246752714 ns/iter 87.71568645004844 ns/iter 1.01
JSON_Object_At_Last_Key/512 393.2775124554121 ns/iter 392.6077884246601 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 81.15002986776595 ns/iter 76.14774051730386 ns/iter 1.07
JSON_Equality_Helm_Chart_Lock 157.56410411169088 ns/iter 156.9093518989879 ns/iter 1.00
JSON_Divisible_By_Decimal 260.5413934957379 ns/iter 262.83944547608723 ns/iter 0.99
JSON_String_Equal/10 5.414700217518827 ns/iter 5.421101175603286 ns/iter 1.00
JSON_String_Equal/100 6.039634650045985 ns/iter 6.040199408909063 ns/iter 1.00
JSON_String_Equal_Small_By_Perfect_Hash/10 0.7496140207960981 ns/iter 0.7496701476275874 ns/iter 1.00
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 25.19891039463821 ns/iter 25.192343764074327 ns/iter 1.00
JSON_String_Fast_Hash/10 2.5708944033904437 ns/iter 2.5781591684052585 ns/iter 1.00
JSON_String_Fast_Hash/100 2.5718010633276744 ns/iter 2.5708349820494325 ns/iter 1.00
JSON_String_Key_Hash/10 1.2474092264826901 ns/iter 1.2501296031760134 ns/iter 1.00
JSON_String_Key_Hash/100 12.452024844214689 ns/iter 12.443278769893546 ns/iter 1.00
JSON_Object_Defines_Miss_Same_Length 3.1157362523708168 ns/iter 3.115943975644215 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Small 3.426631518791089 ns/iter 3.4263121569929935 ns/iter 1.00
JSON_Object_Defines_Miss_Too_Large 3.1147828371152673 ns/iter 3.140606304168865 ns/iter 0.99
Regex_Lower_S_Or_Upper_S_Asterisk 0.6239165213263494 ns/iter 0.622831060104547 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 0.6254869188638713 ns/iter 0.6228896553316564 ns/iter 1.00
Regex_Period_Asterisk 0.6230076255787195 ns/iter 0.62324454946399 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 0.6230348149506039 ns/iter 0.6232504043618136 ns/iter 1.00
Regex_Period_Plus 0.6230970830191953 ns/iter 0.6230151207351368 ns/iter 1.00
Regex_Period 0.6229967046774332 ns/iter 0.6230672996229282 ns/iter 1.00
Regex_Caret_Period_Plus_Dollar 0.6231060584824916 ns/iter 0.6229001993924556 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 0.6236471895304675 ns/iter 0.6252013012702768 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 0.6267887259842546 ns/iter 0.6227683641280423 ns/iter 1.01
Regex_Caret_Group_Period_Asterisk_Group_Dollar 0.6230690223411955 ns/iter 0.6231352762126396 ns/iter 1.00
Regex_Caret_X_Hyphen 4.052438264489734 ns/iter 4.0503210059186765 ns/iter 1.00
Regex_Period_Md_Dollar 28.68165469990827 ns/iter 28.41569670196302 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 4.360741991649805 ns/iter 4.3842782229678505 ns/iter 0.99
Regex_Caret_Period_Range_Dollar 1.2458439754987483 ns/iter 1.2447491548851621 ns/iter 1.00
Regex_Nested_Backtrack 40.28607968226874 ns/iter 45.924364517369824 ns/iter 0.88

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: 221d598 Previous: 9ba55aa Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.467076640196638 ns/iter 2.201476736237156 ns/iter 1.12
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.4629398614078495 ns/iter 2.1792334500584483 ns/iter 1.13
Regex_Period_Asterisk 2.4641112154131615 ns/iter 2.1861609692676933 ns/iter 1.13
Regex_Group_Period_Asterisk_Group 2.4623551730206654 ns/iter 2.181396901866417 ns/iter 1.13
Regex_Period_Plus 3.878054049758161 ns/iter 2.8035894906118632 ns/iter 1.38
Regex_Period 3.867977033715509 ns/iter 2.804435082616266 ns/iter 1.38
Regex_Caret_Period_Plus_Dollar 3.912297051470674 ns/iter 2.803631780275002 ns/iter 1.40
Regex_Caret_Group_Period_Plus_Group_Dollar 3.867506832136673 ns/iter 2.8045521560206623 ns/iter 1.38
Regex_Caret_Period_Asterisk_Dollar 2.8126384260119313 ns/iter 3.4318020676951932 ns/iter 0.82
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.8189058365845456 ns/iter 3.424354462619152 ns/iter 0.82
Regex_Caret_X_Hyphen 7.062114190069032 ns/iter 7.166530293130413 ns/iter 0.99
Regex_Period_Md_Dollar 26.05769894471864 ns/iter 27.584628872080344 ns/iter 0.94
Regex_Caret_Slash_Period_Asterisk 7.310087487997708 ns/iter 5.603889136547636 ns/iter 1.30
Regex_Caret_Period_Range_Dollar 4.220742377240461 ns/iter 3.423818472743306 ns/iter 1.23
Regex_Nested_Backtrack 38.17245159251504 ns/iter 40.71244697842946 ns/iter 0.94
JSON_Array_Of_Objects_Unique 429.5827660730383 ns/iter 430.576750556034 ns/iter 1.00
JSON_Parse_1 4409.440343195494 ns/iter 4799.668366940876 ns/iter 0.92
JSON_Parse_Real 5306.641323375373 ns/iter 5168.103809756494 ns/iter 1.03
JSON_Parse_Decimal 7703.209665665605 ns/iter 7655.737390771504 ns/iter 1.01
JSON_Parse_Schema_ISO_Language 3428495.5073170443 ns/iter 3340441.6761901043 ns/iter 1.03
JSON_Parse_Integer 4001.006270757113 ns/iter 3728.562746537056 ns/iter 1.07
JSON_Parse_String_NonSSO_Plain 3112.8871068210674 ns/iter 3057.681927254052 ns/iter 1.02
JSON_Parse_String_SSO_Plain 2813.0748735204984 ns/iter 2716.2309657859028 ns/iter 1.04
JSON_Parse_String_Escape_Heavy 12445.517615512761 ns/iter 12372.527805703963 ns/iter 1.01
JSON_Parse_Object_Short_Keys 7835.294636362718 ns/iter 8227.509313333243 ns/iter 0.95
JSON_Parse_Object_Scalar_Properties 3989.19504385587 ns/iter 4182.248507948182 ns/iter 0.95
JSON_Parse_Object_Array_Properties 5558.209139661564 ns/iter 5694.557830465579 ns/iter 0.98
JSON_Parse_Object_Object_Properties 5534.72624872176 ns/iter 5407.529182281788 ns/iter 1.02
JSON_Parse_Nested_Containers 35580.6521672691 ns/iter 35423.56770991399 ns/iter 1.00
JSON_From_String_Copy 13.39215183617167 ns/iter 11.645403128522778 ns/iter 1.15
JSON_From_String_Temporary 10.443331758920095 ns/iter 10.545545146920322 ns/iter 0.99
JSON_Number_To_Double 22.57292215608393 ns/iter 23.886087809481538 ns/iter 0.95
JSON_Object_At_Last_Key/8 6.330917317786286 ns/iter 6.009263295464423 ns/iter 1.05
JSON_Object_At_Last_Key/32 23.64166956477813 ns/iter 21.5453254652663 ns/iter 1.10
JSON_Object_At_Last_Key/128 91.22626069577976 ns/iter 87.96095469658988 ns/iter 1.04
JSON_Object_At_Last_Key/512 381.2632270131073 ns/iter 396.93487751340973 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 72.37042779620937 ns/iter 68.43405704984971 ns/iter 1.06
JSON_Equality_Helm_Chart_Lock 172.69421753845216 ns/iter 168.365253619315 ns/iter 1.03
JSON_Divisible_By_Decimal 254.77511058055424 ns/iter 246.9143056593371 ns/iter 1.03
JSON_String_Equal/10 5.627879902698359 ns/iter 5.923244793683606 ns/iter 0.95
JSON_String_Equal/100 6.332395920982712 ns/iter 6.567234989940216 ns/iter 0.96
JSON_String_Equal_Small_By_Perfect_Hash/10 1.0541854255103886 ns/iter 0.935866373516529 ns/iter 1.13
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 12.339497000456202 ns/iter 14.631779106728201 ns/iter 0.84
JSON_String_Fast_Hash/10 2.4997715208727023 ns/iter 2.4886464690152295 ns/iter 1.00
JSON_String_Fast_Hash/100 2.468931425545567 ns/iter 2.4939667339679956 ns/iter 0.99
JSON_String_Key_Hash/10 2.8167070118994144 ns/iter 2.664006493607368 ns/iter 1.06
JSON_String_Key_Hash/100 8.100817907738113 ns/iter 9.026624886032138 ns/iter 0.90
JSON_Object_Defines_Miss_Same_Length 2.942166965053418 ns/iter 2.7979921093704916 ns/iter 1.05
JSON_Object_Defines_Miss_Too_Small 2.946256182797445 ns/iter 2.7485920676267854 ns/iter 1.07
JSON_Object_Defines_Miss_Too_Large 3.197441513913798 ns/iter 3.108625646780381 ns/iter 1.03
Pointer_Object_Traverse 30.590974518584883 ns/iter 29.498679480754337 ns/iter 1.04
Pointer_Object_Try_Traverse 33.214759717414445 ns/iter 30.250554748787277 ns/iter 1.10
Pointer_Push_Back_Pointer_To_Weak_Pointer 187.12623030702926 ns/iter 174.27387654438024 ns/iter 1.07
Pointer_Walker_Schema_ISO_Language 1497254.9607842548 ns/iter 1620405.3435293483 ns/iter 0.92
Pointer_Maybe_Tracked_Deeply_Nested/0 1281983.8284671416 ns/iter 1219186.4130053753 ns/iter 1.05
Pointer_Maybe_Tracked_Deeply_Nested/1 1644149.8936170796 ns/iter 1655849.0562060934 ns/iter 0.99
Pointer_Position_Tracker_Get_Deeply_Nested 699.4737976559653 ns/iter 634.7307164788411 ns/iter 1.10
JSONPath_Descendant_Filter_Nested 1574.6245720994132 ns/iter 1538.733957163287 ns/iter 1.02
URITemplateRouter_Create 21043.1103925542 ns/iter 23127.394199889757 ns/iter 0.91
URITemplateRouter_Match 180.3043968378035 ns/iter 174.86813650526045 ns/iter 1.03
URITemplateRouter_Match_BasePath 211.15051048636755 ns/iter 205.2990117726736 ns/iter 1.03
URITemplateRouterView_Restore 9870.959648856495 ns/iter 8499.753263613933 ns/iter 1.16
URITemplateRouterView_Match 149.23841476831487 ns/iter 147.06510255813797 ns/iter 1.01
URITemplateRouterView_Match_BasePath 164.38532870970988 ns/iter 163.94712319486 ns/iter 1.00
URITemplateRouterView_Arguments 457.85363214819324 ns/iter 441.56896754666445 ns/iter 1.04
JSONL_Parse_Large 8845093.05063326 ns/iter 9381133.472972296 ns/iter 0.94
JSONL_Parse_Large_GZIP 10502073.940298276 ns/iter 10876846.169230703 ns/iter 0.97
JSONLD_Catalog_Annotation_List_Populate 600216.0985678112 ns/iter 599894.2444061859 ns/iter 1.00
JSONLD_Catalog_Materialize 3731638.2251309566 ns/iter 3640045.578680111 ns/iter 1.03
HTML_Build_Table_100000 67937135.19999756 ns/iter 57997384.18181732 ns/iter 1.17
HTML_Render_Table_100000 2135362.103975543 ns/iter 1917230.4699452836 ns/iter 1.11
GZIP_Compress_ISO_Language_Set_3_Locations 35319170.20000037 ns/iter 32445417.545452736 ns/iter 1.09
GZIP_Decompress_ISO_Language_Set_3_Locations 4276196.779141176 ns/iter 4280299.220858783 ns/iter 1.00
GZIP_Compress_ISO_Language_Set_3_Schema 2125055.7402983974 ns/iter 1858759.8455285493 ns/iter 1.14
GZIP_Decompress_ISO_Language_Set_3_Schema 277333.5493460211 ns/iter 360898.020544466 ns/iter 0.77
JOSE_VerifySignature_RS256 63929.537113120205 ns/iter 60270.45016411132 ns/iter 1.06
JOSE_VerifySignature_ES512 2686051.4092663573 ns/iter 2430034.219511937 ns/iter 1.11

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: 273bda4 Previous: 9ba55aa Ratio
Regex_Lower_S_Or_Upper_S_Asterisk 2.287988167089244 ns/iter 2.569613214285888 ns/iter 0.89
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.288824885838215 ns/iter 2.619808571428653 ns/iter 0.87
Regex_Period_Asterisk 2.291542631371229 ns/iter 2.5949814285715838 ns/iter 0.88
Regex_Group_Period_Asterisk_Group 2.282435153702711 ns/iter 2.6723373860067334 ns/iter 0.85
Regex_Period_Plus 2.3585762250465216 ns/iter 2.5651891941381937 ns/iter 0.92
Regex_Period 2.2838176313797893 ns/iter 2.5271628571431393 ns/iter 0.90
Regex_Caret_Period_Plus_Dollar 2.2739028992481356 ns/iter 2.530786785713904 ns/iter 0.90
Regex_Caret_Group_Period_Plus_Group_Dollar 2.2697701983596286 ns/iter 2.5740087030587975 ns/iter 0.88
Regex_Caret_Period_Asterisk_Dollar 2.2944237499999076 ns/iter 2.6043310714287924 ns/iter 0.88
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.293236562499956 ns/iter 2.574233725380363 ns/iter 0.89
Regex_Caret_X_Hyphen 6.133525000000191 ns/iter 4.311792118610978 ns/iter 1.42
Regex_Period_Md_Dollar 25.269421428569267 ns/iter 20.765335899690157 ns/iter 1.22
Regex_Caret_Slash_Period_Asterisk 5.833016964285573 ns/iter 4.06633674833236 ns/iter 1.43
Regex_Caret_Period_Range_Dollar 2.7374351773496826 ns/iter 2.7035456672286338 ns/iter 1.01
Regex_Nested_Backtrack 35.94778864378746 ns/iter 26.57704504404266 ns/iter 1.35
JSON_Array_Of_Objects_Unique 469.7520899055941 ns/iter 296.3880919209668 ns/iter 1.58
JSON_Parse_1 6843.958705357827 ns/iter 5174.180000000206 ns/iter 1.32
JSON_Parse_Real 11120.671875000098 ns/iter 8985.246494435934 ns/iter 1.24
JSON_Parse_Decimal 8235.958705357252 ns/iter 6511.627232143523 ns/iter 1.26
JSON_Parse_Schema_ISO_Language 7285783.333332397 ns/iter 4923255.357142458 ns/iter 1.48
JSON_Parse_Integer 3943.9871651783924 ns/iter 3559.772670099982 ns/iter 1.11
JSON_Parse_String_NonSSO_Plain 6352.044642856721 ns/iter 5114.119999999502 ns/iter 1.24
JSON_Parse_String_SSO_Plain 2592.2501887836393 ns/iter 2426.817492391006 ns/iter 1.07
JSON_Parse_String_Escape_Heavy 20988.958853229564 ns/iter 12806.242857142333 ns/iter 1.64
JSON_Parse_Object_Short_Keys 8977.68626032837 ns/iter 7813.128348214603 ns/iter 1.15
JSON_Parse_Object_Scalar_Properties 4577.29236002799 ns/iter 4265.746875000076 ns/iter 1.07
JSON_Parse_Object_Array_Properties 8126.566964286041 ns/iter 6796.950892856859 ns/iter 1.20
JSON_Parse_Object_Object_Properties 8307.214285714032 ns/iter 7359.481430885363 ns/iter 1.13
JSON_Parse_Nested_Containers 57312.91964286202 ns/iter 46956.88743053054 ns/iter 1.22
JSON_From_String_Copy 43.653057966613915 ns/iter 40.010239955349086 ns/iter 1.09
JSON_From_String_Temporary 51.88431000000264 ns/iter 43.10684894546429 ns/iter 1.20
JSON_Number_To_Double 86.66342023823704 ns/iter 62.15409821428303 ns/iter 1.39
JSON_Object_At_Last_Key/8 7.211871428570557 ns/iter 3.382051411534952 ns/iter 2.13
JSON_Object_At_Last_Key/32 16.563912946426942 ns/iter 10.089701740671103 ns/iter 1.64
JSON_Object_At_Last_Key/128 82.41657221353682 ns/iter 49.472639999999046 ns/iter 1.67
JSON_Object_At_Last_Key/512 290.76604543219247 ns/iter 154.80493303568568 ns/iter 1.88
JSON_Fast_Hash_Helm_Chart_Lock 73.4436607142795 ns/iter 57.083789999978755 ns/iter 1.29
JSON_Equality_Helm_Chart_Lock 190.08928482939814 ns/iter 108.61871875000871 ns/iter 1.75
JSON_Divisible_By_Decimal 233.57381321720604 ns/iter 181.52281085024092 ns/iter 1.29
JSON_String_Equal/10 8.361494419641957 ns/iter 6.750081000000137 ns/iter 1.24
JSON_String_Equal/100 11.27676071428547 ns/iter 5.746040999999877 ns/iter 1.96
JSON_String_Equal_Small_By_Perfect_Hash/10 1.1786492857142759 ns/iter 1.4287932142857636 ns/iter 0.82
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 8.900376116070925 ns/iter 7.844350411410701 ns/iter 1.13
JSON_String_Fast_Hash/10 3.868816600234589 ns/iter 3.7254385647751613 ns/iter 1.04
JSON_String_Fast_Hash/100 3.840758370535927 ns/iter 3.487291199130019 ns/iter 1.10
JSON_String_Key_Hash/10 3.2126656249999996 ns/iter 2.4910614285715837 ns/iter 1.29
JSON_String_Key_Hash/100 7.6329799107137974 ns/iter 5.794316071428186 ns/iter 1.32
JSON_Object_Defines_Miss_Same_Length 4.367961875000503 ns/iter 2.330666562500028 ns/iter 1.87
JSON_Object_Defines_Miss_Too_Small 4.83390135007573 ns/iter 2.5233202432827784 ns/iter 1.92
JSON_Object_Defines_Miss_Too_Large 4.613505144226951 ns/iter 2.2244273412673583 ns/iter 2.07
Pointer_Object_Traverse 37.09693591229998 ns/iter 31.113217227216104 ns/iter 1.19
Pointer_Object_Try_Traverse 37.66595825596443 ns/iter 32.38754464285469 ns/iter 1.16
Pointer_Push_Back_Pointer_To_Weak_Pointer 145.64696428571722 ns/iter 178.45303379047027 ns/iter 0.82
Pointer_Walker_Schema_ISO_Language 9306911.111111226 ns/iter 9597633.333332852 ns/iter 0.97
Pointer_Maybe_Tracked_Deeply_Nested/0 1927319.5710456637 ns/iter 1418208.035714384 ns/iter 1.36
Pointer_Maybe_Tracked_Deeply_Nested/1 3562992.6470586024 ns/iter 2175477.8125000484 ns/iter 1.64
Pointer_Position_Tracker_Get_Deeply_Nested 477.57472730867477 ns/iter 391.99162946434996 ns/iter 1.22
JSONPath_Descendant_Filter_Nested 1595.319419642749 ns/iter 1405.5834126858078 ns/iter 1.13
URITemplateRouter_Create 32631.26785714324 ns/iter 24523.4640238391 ns/iter 1.33
URITemplateRouter_Match 227.80368749998559 ns/iter 116.48285937500447 ns/iter 1.96
URITemplateRouter_Match_BasePath 254.13107142855193 ns/iter 132.17947847410124 ns/iter 1.92
URITemplateRouterView_Restore 18126.967368084464 ns/iter 15396.957589288719 ns/iter 1.18
URITemplateRouterView_Match 154.87881696429895 ns/iter 89.40222098213927 ns/iter 1.73
URITemplateRouterView_Match_BasePath 176.9383511342544 ns/iter 100.07506696093418 ns/iter 1.77
URITemplateRouterView_Arguments 402.12706473211466 ns/iter 330.6039422819223 ns/iter 1.22
JSONL_Parse_Large 22251426.470588475 ns/iter 21500678.57142598 ns/iter 1.03
JSONL_Parse_Large_GZIP 22285833.333330628 ns/iter 21585583.333330758 ns/iter 1.03
JSONLD_Catalog_Annotation_List_Populate 2605309.8484848044 ns/iter 2171715.549597767 ns/iter 1.20
JSONLD_Catalog_Materialize 6195657.142856906 ns/iter 7048293.333332368 ns/iter 0.88
HTML_Build_Table_100000 90923785.71428332 ns/iter 57329581.818170145 ns/iter 1.59
HTML_Render_Table_100000 11728898.214286687 ns/iter 6633423.214286235 ns/iter 1.77
GZIP_Compress_ISO_Language_Set_3_Locations 28129576.000001177 ns/iter 20849382.352941897 ns/iter 1.35
GZIP_Decompress_ISO_Language_Set_3_Locations 11218105.357142705 ns/iter 6858016.964285086 ns/iter 1.64
GZIP_Compress_ISO_Language_Set_3_Schema 1794936.8550369341 ns/iter 1358222.2891565184 ns/iter 1.32
GZIP_Decompress_ISO_Language_Set_3_Schema 632896.1607142756 ns/iter 387182.08705354074 ns/iter 1.63
JOSE_VerifySignature_RS256 17240.275359600324 ns/iter 11906.85892857297 ns/iter 1.45
JOSE_VerifySignature_ES512 916998.5491071588 ns/iter 841420.7496653972 ns/iter 1.09

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

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti marked this pull request as ready for review August 19, 2026 15:01
@jviotti jviotti changed the title [WIP] Integrate with ccache to speed up CI builds Integrate with ccache to speed up CI builds Aug 19, 2026

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

1 issue found across 2 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=".github/workflows/ci.yml">

<violation number="1" location=".github/workflows/ci.yml:139">
P2: Each run saves a new cache entry under a unique run_id key and nothing ever prunes old ones, so on main every push adds 8 more ~500M entries. GitHub's per-repository cache quota then evicts older entries across all jobs/branches, steadily shrinking the useful ccache. Keep only the most recent attempt per key (e.g. drop run_id/run_attempt and reuse the ref-scoped key, letting later saves overwrite), or add a prune step.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Re-trigger cubic

Comment thread .github/workflows/ci.yml
uses: actions/cache/restore@v4
with:
path: ${{ runner.temp }}/ccache
key: ${{ env.CACHE_KEY }}-${{ github.ref_name }}-${{ github.run_id }}-${{ github.run_attempt }}

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: Each run saves a new cache entry under a unique run_id key and nothing ever prunes old ones, so on main every push adds 8 more ~500M entries. GitHub's per-repository cache quota then evicts older entries across all jobs/branches, steadily shrinking the useful ccache. Keep only the most recent attempt per key (e.g. drop run_id/run_attempt and reuse the ref-scoped key, letting later saves overwrite), or add a prune step.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At .github/workflows/ci.yml, line 139:

<comment>Each run saves a new cache entry under a unique run_id key and nothing ever prunes old ones, so on main every push adds 8 more ~500M entries. GitHub's per-repository cache quota then evicts older entries across all jobs/branches, steadily shrinking the useful ccache. Keep only the most recent attempt per key (e.g. drop run_id/run_attempt and reuse the ref-scoped key, letting later saves overwrite), or add a prune step.</comment>

<file context>
@@ -87,8 +108,39 @@ jobs:
+        uses: actions/cache/restore@v4
+        with:
+          path: ${{ runner.temp }}/ccache
+          key: ${{ env.CACHE_KEY }}-${{ github.ref_name }}-${{ github.run_id }}-${{ github.run_attempt }}
+          restore-keys: |
+            ${{ env.CACHE_KEY }}-${{ github.ref_name }}-
</file context>

Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
@jviotti
jviotti merged commit 18745f9 into main Aug 19, 2026
2 checks passed
@jviotti
jviotti deleted the ccache-actions branch August 19, 2026 16:17
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