Skip to content

Commit

Permalink
Support Clang on Ubuntu 22.04 (#1435)
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <[email protected]>
  • Loading branch information
jviotti authored Jan 14, 2025
1 parent 8e510ee commit 4b37450
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/json/include/sourcemeta/jsontoolkit/json_hash.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,9 @@ template <typename T> struct FastHash {
// This case is specifically designed to be constant with regards to
// string length, and to exploit the fact that most JSON objects don't
// have a lot of entries, so hash collision is not as common
return {(size + static_cast<property_hash_type::type>(value.front()) +
static_cast<property_hash_type::type>(value.back())) %
return {(size +
static_cast<typename property_hash_type::type>(value.front()) +
static_cast<typename property_hash_type::type>(value.back())) %
// Make sure the property hash can never exceed 8 bits
256};
}
Expand Down

4 comments on commit 4b37450

@github-actions
Copy link

Choose a reason for hiding this comment

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

Benchmark (macos/llvm)

Benchmark suite Current: 4b37450 Previous: 8e510ee Ratio
JSON_Array_Of_Objects_Unique 330.32918532655384 ns/iter 341.86050654807013 ns/iter 0.97
JSON_Parse_1 21546.648078926257 ns/iter 22450.689346715302 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 48.550506950420086 ns/iter 52.58653530347638 ns/iter 0.92
JSON_Equality_Helm_Chart_Lock 131.7871170788363 ns/iter 139.37693616152205 ns/iter 0.95
Regex_Lower_S_Or_Upper_S_Asterisk 1.5964722452354319 ns/iter 1.745849916539481 ns/iter 0.91
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 1.650869756383271 ns/iter 1.7164003797179381 ns/iter 0.96
Regex_Period_Asterisk 1.616399946070437 ns/iter 1.725599467856129 ns/iter 0.94
Regex_Group_Period_Asterisk_Group 1.5955420230768484 ns/iter 1.6148447215686086 ns/iter 0.99
Regex_Period_Plus 1.9230622194241238 ns/iter 1.9975916766287651 ns/iter 0.96
Regex_Period 2.0409686971850167 ns/iter 1.9631074951851208 ns/iter 1.04
Regex_Caret_Period_Plus_Dollar 2.0358636161728887 ns/iter 2.091793021993919 ns/iter 0.97
Regex_Caret_Group_Period_Plus_Group_Dollar 1.966094886605453 ns/iter 1.9576104711010036 ns/iter 1.00
Regex_Caret_Period_Asterisk_Dollar 1.69797108953189 ns/iter 1.6396079029366595 ns/iter 1.04
Regex_Caret_Group_Period_Asterisk_Group_Dollar 1.6175836925423108 ns/iter 1.59056800807193 ns/iter 1.02
Regex_Caret_X_Hyphen 6.383953601087351 ns/iter 6.306519451238803 ns/iter 1.01
Regex_Period_Md_Dollar 68.43624269522809 ns/iter 67.9931357220023 ns/iter 1.01
Regex_Caret_Slash_Period_Asterisk 6.008007342237349 ns/iter 5.99227232972962 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 2.140797767315179 ns/iter 2.0624904533191004 ns/iter 1.04
Regex_Nested_Backtrack 742.5095397578399 ns/iter 798.0482668599345 ns/iter 0.93
Pointer_Object_Traverse 14.943995200117993 ns/iter 15.080719958580259 ns/iter 0.99
Pointer_Object_Try_Traverse 33.10813363925822 ns/iter 34.06402318256196 ns/iter 0.97
Pointer_Push_Back_Pointer_To_Weak_Pointer 180.78793544739733 ns/iter 195.8290970215249 ns/iter 0.92

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

@github-actions
Copy link

Choose a reason for hiding this comment

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

Benchmark (linux/llvm)

Benchmark suite Current: 4b37450 Previous: 8e510ee Ratio
JSON_Array_Of_Objects_Unique 408.88024950511505 ns/iter 410.4050368218476 ns/iter 1.00
JSON_Parse_1 30066.23975383533 ns/iter 29935.979897348258 ns/iter 1.00
JSON_Fast_Hash_Helm_Chart_Lock 61.85143367734249 ns/iter 58.760536706032745 ns/iter 1.05
JSON_Equality_Helm_Chart_Lock 162.98282996488052 ns/iter 148.09435508792055 ns/iter 1.10
Regex_Lower_S_Or_Upper_S_Asterisk 2.2030328219569717 ns/iter 2.212399707963602 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 2.1946159889498182 ns/iter 2.199583467797504 ns/iter 1.00
Regex_Period_Asterisk 2.208735934257229 ns/iter 2.200874056063662 ns/iter 1.00
Regex_Group_Period_Asterisk_Group 2.209941579964395 ns/iter 2.2100099621650653 ns/iter 1.00
Regex_Period_Plus 2.586415861000935 ns/iter 2.813042309212172 ns/iter 0.92
Regex_Period 2.488423618647322 ns/iter 2.805448259662354 ns/iter 0.89
Regex_Caret_Period_Plus_Dollar 2.8024592331393676 ns/iter 2.7993273576456037 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 2.493529446340234 ns/iter 2.8019187095428246 ns/iter 0.89
Regex_Caret_Period_Asterisk_Dollar 2.487701503406215 ns/iter 3.4205538233319968 ns/iter 0.73
Regex_Caret_Group_Period_Asterisk_Group_Dollar 2.222976743610279 ns/iter 3.4193873148647964 ns/iter 0.65
Regex_Caret_X_Hyphen 12.705232972529727 ns/iter 13.063697129705405 ns/iter 0.97
Regex_Period_Md_Dollar 74.60600056465252 ns/iter 73.49515080637677 ns/iter 1.02
Regex_Caret_Slash_Period_Asterisk 5.370017429244251 ns/iter 6.526915840490532 ns/iter 0.82
Regex_Caret_Period_Range_Dollar 3.1086747011272804 ns/iter 4.039682080931675 ns/iter 0.77
Regex_Nested_Backtrack 503.33257926995924 ns/iter 504.05217788800724 ns/iter 1.00
Pointer_Object_Traverse 44.376473434291164 ns/iter 44.369078792670514 ns/iter 1.00
Pointer_Object_Try_Traverse 52.59773831230171 ns/iter 52.79265789880216 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 352.3926698535697 ns/iter 351.99344680268337 ns/iter 1.00

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

@github-actions
Copy link

Choose a reason for hiding this comment

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

Benchmark (windows/msvc)

Benchmark suite Current: 4b37450 Previous: 8e510ee Ratio
JSON_Array_Of_Objects_Unique 427.6678324480881 ns/iter 418.63665988227945 ns/iter 1.02
JSON_Parse_1 80516.51265568162 ns/iter 83960.18973214783 ns/iter 0.96
JSON_Fast_Hash_Helm_Chart_Lock 56.75378571429032 ns/iter 59.17277999999442 ns/iter 0.96
JSON_Equality_Helm_Chart_Lock 219.2401874999916 ns/iter 223.1459375 ns/iter 0.98
Regex_Lower_S_Or_Upper_S_Asterisk 8.141535714285553 ns/iter 8.129499070850278 ns/iter 1.00
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 7.951410232359916 ns/iter 7.976542410714772 ns/iter 1.00
Regex_Period_Asterisk 7.804381696429528 ns/iter 8.233282366071188 ns/iter 0.95
Regex_Group_Period_Asterisk_Group 7.8326540178570125 ns/iter 7.877421874999005 ns/iter 0.99
Regex_Period_Plus 7.867527901786226 ns/iter 7.899962911161798 ns/iter 1.00
Regex_Period 7.773593749999769 ns/iter 8.265907998813052 ns/iter 0.94
Regex_Caret_Period_Plus_Dollar 7.803932108017766 ns/iter 7.824522321428415 ns/iter 1.00
Regex_Caret_Group_Period_Plus_Group_Dollar 8.575639247429722 ns/iter 8.137637910100272 ns/iter 1.05
Regex_Caret_Period_Asterisk_Dollar 8.031106026785855 ns/iter 7.807406215145173 ns/iter 1.03
Regex_Caret_Group_Period_Asterisk_Group_Dollar 7.942048625258127 ns/iter 8.288188355856832 ns/iter 0.96
Regex_Caret_X_Hyphen 11.733655357141563 ns/iter 11.81919642857159 ns/iter 0.99
Regex_Period_Md_Dollar 145.87250000001208 ns/iter 141.70471242390227 ns/iter 1.03
Regex_Caret_Slash_Period_Asterisk 11.904994642855677 ns/iter 11.764658928571846 ns/iter 1.01
Regex_Caret_Period_Range_Dollar 9.09323299511862 ns/iter 9.183356209001936 ns/iter 0.99
Regex_Nested_Backtrack 591.0691999999926 ns/iter 593.9032142857213 ns/iter 1.00
Pointer_Object_Traverse 56.151520000003075 ns/iter 55.863116071433545 ns/iter 1.01
Pointer_Object_Try_Traverse 76.57516741070529 ns/iter 75.77569196428918 ns/iter 1.01
Pointer_Push_Back_Pointer_To_Weak_Pointer 179.20661021474172 ns/iter 173.12628614684743 ns/iter 1.04

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

@github-actions
Copy link

Choose a reason for hiding this comment

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

Benchmark (linux/gcc)

Benchmark suite Current: 4b37450 Previous: 8e510ee Ratio
Pointer_Object_Traverse 45.07055170359933 ns/iter 44.24053800835681 ns/iter 1.02
Pointer_Object_Try_Traverse 22.449546571511583 ns/iter 22.407559620737747 ns/iter 1.00
Pointer_Push_Back_Pointer_To_Weak_Pointer 213.6179267865167 ns/iter 213.38291922444512 ns/iter 1.00
Regex_Lower_S_Or_Upper_S_Asterisk 3.206854862764414 ns/iter 2.5375725649087255 ns/iter 1.26
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar 3.1837180678390267 ns/iter 2.486986772762134 ns/iter 1.28
Regex_Period_Asterisk 3.182876395553353 ns/iter 2.486299074248208 ns/iter 1.28
Regex_Group_Period_Asterisk_Group 3.177297842076987 ns/iter 2.4867626267170246 ns/iter 1.28
Regex_Period_Plus 3.2053943846303654 ns/iter 2.4862267980336767 ns/iter 1.29
Regex_Period 3.2022241917741456 ns/iter 2.4858608066219743 ns/iter 1.29
Regex_Caret_Period_Plus_Dollar 3.1932182584033217 ns/iter 2.4853446311033043 ns/iter 1.28
Regex_Caret_Group_Period_Plus_Group_Dollar 3.2029530777707036 ns/iter 2.486191528638185 ns/iter 1.29
Regex_Caret_Period_Asterisk_Dollar 3.7299585384659246 ns/iter 2.7968152751075044 ns/iter 1.33
Regex_Caret_Group_Period_Asterisk_Group_Dollar 3.7303208654446776 ns/iter 2.799884702458746 ns/iter 1.33
Regex_Caret_X_Hyphen 12.432153734992545 ns/iter 13.049643867603338 ns/iter 0.95
Regex_Period_Md_Dollar 88.86249628384348 ns/iter 88.84118539153205 ns/iter 1.00
Regex_Caret_Slash_Period_Asterisk 7.151787273590188 ns/iter 7.144269934798283 ns/iter 1.00
Regex_Caret_Period_Range_Dollar 4.040069889560666 ns/iter 4.037101500346164 ns/iter 1.00
Regex_Nested_Backtrack 820.8882375757937 ns/iter 822.2423839676729 ns/iter 1.00
JSON_Array_Of_Objects_Unique 381.77438449324285 ns/iter 415.23825428500527 ns/iter 0.92
JSON_Parse_1 33397.255128755125 ns/iter 32837.055186298065 ns/iter 1.02
JSON_Fast_Hash_Helm_Chart_Lock 62.54396896490836 ns/iter 56.2271637835305 ns/iter 1.11
JSON_Equality_Helm_Chart_Lock 143.1486977619854 ns/iter 155.88153691453005 ns/iter 0.92

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

Please sign in to comment.