Add process self-inspection primitives to src/lang/process - #2767
Conversation
There was a problem hiding this comment.
All reported issues were addressed across 7 files (changes from recent commits).
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
1 issue found across 3 files (changes from recent commits).
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/lang/process/include/sourcemeta/core/process_usage.h">
<violation number="1" location="src/lang/process/include/sourcemeta/core/process_usage.h:52">
P2: The example calls `.value()` on an optional that can be empty. When the platform cannot measure CPU time (as documented at line 17-19), `.value()` throws `std::bad_optional_access`. Check `has_value()` before calling `.value()`, or use `value_or()` with a fallback.</violation>
</file>
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
| /// #include <cassert> | ||
| /// | ||
| /// const auto usage{sourcemeta::core::process_usage()}; | ||
| /// assert(usage.cpu_time.value() >= std::chrono::nanoseconds::zero()); |
There was a problem hiding this comment.
P2: The example calls .value() on an optional that can be empty. When the platform cannot measure CPU time (as documented at line 17-19), .value() throws std::bad_optional_access. Check has_value() before calling .value(), or use value_or() with a fallback.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/lang/process/include/sourcemeta/core/process_usage.h, line 52:
<comment>The example calls `.value()` on an optional that can be empty. When the platform cannot measure CPU time (as documented at line 17-19), `.value()` throws `std::bad_optional_access`. Check `has_value()` before calling `.value()`, or use `value_or()` with a fallback.</comment>
<file context>
@@ -45,10 +45,11 @@ struct ProcessDescriptors {
///
/// const auto usage{sourcemeta::core::process_usage()};
-/// assert(usage.cpu_seconds.value() >= 0.0);
+/// assert(usage.cpu_time.value() >= std::chrono::nanoseconds::zero());
/// ```
SOURCEMETA_CORE_PROCESS_EXPORT
</file context>
| /// assert(usage.cpu_time.value() >= std::chrono::nanoseconds::zero()); | |
| /// assert(!usage.cpu_time.has_value() || usage.cpu_time.value() >= std::chrono::nanoseconds::zero()); |
There was a problem hiding this comment.
2 issues found and verified against the latest diff
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/lang/process/CMakeLists.txt">
<violation number="1" location="src/lang/process/CMakeLists.txt:10">
P2: When `SOURCEMETA_CORE_LANG_NUMERIC=OFF`, the process target still references the nonexistent `sourcemeta::core::numeric` target. Make the dependency/platform selection consistent, or require and validate numeric as a process prerequisite before adding this link.</violation>
<violation number="2" location="src/lang/process/CMakeLists.txt:12">
P2: The WIN32 guard does not match the platforms that actually use psapi. usage.cc calls GetProcessMemoryInfo/GetProcessHandleCount only when `_WIN32 && !__MSYS__ && !__CYGWIN__ && !__MINGW32__ && !__MINGW64__`, but `if(WIN32)` in CMake is true for MinGW, MSYS, and Cygwin builds as well. On Cygwin especially there is no psapi import library, so this unconditional link fails a build that otherwise compiles the POSIX branch. Guard the link with the same restrictive condition (e.g. `if(WIN32 AND NOT MINGW AND NOT CYGWIN AND NOT MSYS)`) to keep it in sync with the code that consumes it.</violation>
</file>
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| target_link_libraries(sourcemeta_core_process PRIVATE sourcemeta::core::text) | ||
| target_link_libraries(sourcemeta_core_process PRIVATE sourcemeta::core::numeric) | ||
|
|
||
| if(WIN32) |
There was a problem hiding this comment.
P2: The WIN32 guard does not match the platforms that actually use psapi. usage.cc calls GetProcessMemoryInfo/GetProcessHandleCount only when _WIN32 && !__MSYS__ && !__CYGWIN__ && !__MINGW32__ && !__MINGW64__, but if(WIN32) in CMake is true for MinGW, MSYS, and Cygwin builds as well. On Cygwin especially there is no psapi import library, so this unconditional link fails a build that otherwise compiles the POSIX branch. Guard the link with the same restrictive condition (e.g. if(WIN32 AND NOT MINGW AND NOT CYGWIN AND NOT MSYS)) to keep it in sync with the code that consumes it.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/lang/process/CMakeLists.txt, line 12:
<comment>The WIN32 guard does not match the platforms that actually use psapi. usage.cc calls GetProcessMemoryInfo/GetProcessHandleCount only when `_WIN32 && !__MSYS__ && !__CYGWIN__ && !__MINGW32__ && !__MINGW64__`, but `if(WIN32)` in CMake is true for MinGW, MSYS, and Cygwin builds as well. On Cygwin especially there is no psapi import library, so this unconditional link fails a build that otherwise compiles the POSIX branch. Guard the link with the same restrictive condition (e.g. `if(WIN32 AND NOT MINGW AND NOT CYGWIN AND NOT MSYS)`) to keep it in sync with the code that consumes it.</comment>
<file context>
@@ -1,9 +1,14 @@
target_link_libraries(sourcemeta_core_process PRIVATE sourcemeta::core::text)
+target_link_libraries(sourcemeta_core_process PRIVATE sourcemeta::core::numeric)
+
+if(WIN32)
+ target_link_libraries(sourcemeta_core_process PRIVATE psapi)
+endif()
</file context>
| endif() | ||
|
|
||
| target_link_libraries(sourcemeta_core_process PRIVATE sourcemeta::core::text) | ||
| target_link_libraries(sourcemeta_core_process PRIVATE sourcemeta::core::numeric) |
There was a problem hiding this comment.
P2: When SOURCEMETA_CORE_LANG_NUMERIC=OFF, the process target still references the nonexistent sourcemeta::core::numeric target. Make the dependency/platform selection consistent, or require and validate numeric as a process prerequisite before adding this link.
Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At src/lang/process/CMakeLists.txt, line 10:
<comment>When `SOURCEMETA_CORE_LANG_NUMERIC=OFF`, the process target still references the nonexistent `sourcemeta::core::numeric` target. Make the dependency/platform selection consistent, or require and validate numeric as a process prerequisite before adding this link.</comment>
<file context>
@@ -1,9 +1,14 @@
endif()
target_link_libraries(sourcemeta_core_process PRIVATE sourcemeta::core::text)
+target_link_libraries(sourcemeta_core_process PRIVATE sourcemeta::core::numeric)
+
+if(WIN32)
</file context>
🤖 Augment PR SummarySummary: Adds process self-inspection primitives to the process component.
noexcept and express unavailable platform measurements with std::optional.
🤖 Was this summary useful? React with 👍 or 👎 |
| counters.cb = sizeof(counters); | ||
| if (GetProcessMemoryInfo(GetCurrentProcess(), &counters, sizeof(counters)) != | ||
| 0) { | ||
| result.resident_bytes = counters.WorkingSetSize; |
There was a problem hiding this comment.
PagefileUsage is the process's committed/private pagefile charge, not the size of its mapped virtual address space. Assigning it to virtual_bytes therefore omits executable/file mappings and reserved regions on Windows, violating the documented metric and making this result incomparable with the Linux vsize implementation.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
|
|
||
| TEST(processor_time_is_reported) { | ||
| const auto usage{sourcemeta::core::process_usage()}; | ||
| EXPECT_TRUE(usage.cpu_seconds.has_value()); |
There was a problem hiding this comment.
The implementation deliberately returns empty optionals on platforms other than Windows, macOS, and Linux, but this assertion is compiled for every non-Windows target. Consequently, the BSD family—which the top-level CMake explicitly detects—will fail these new tests despite using the intended fallback behavior. Other locations where this applies: test/process/process_descriptors_test.cc:6, test/process/process_descriptors_test_unix.cc:8, test/process/process_start_time_test.cc:8, test/process/process_usage_test_unix.cc:6.
Severity: medium
🤖 Was this useful? React with 👍 or 👎, or 🚀 if it prevented an incident/outage.
There was a problem hiding this comment.
Benchmark (linux/gcc)
Details
| Benchmark suite | Current: 7e01db3 | Previous: 0b5334a | Ratio |
|---|---|---|---|
JOSE_VerifySignature_RS256 |
22213.378339167575 ns/iter |
21966.63159899702 ns/iter |
1.01 |
JOSE_VerifySignature_ES512 |
578140.5544554434 ns/iter |
574744.4312757268 ns/iter |
1.01 |
GZIP_Compress_ISO_Language_Set_3_Locations |
36341870.421053775 ns/iter |
36271768.05263251 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4222992.166666762 ns/iter |
4149380.3273810605 ns/iter |
1.02 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2022014.9106627638 ns/iter |
2016423.4927954052 ns/iter |
1.00 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
383709.0459518577 ns/iter |
380931.61425462255 ns/iter |
1.01 |
HTML_Build_Table_100000 |
56438875.363635466 ns/iter |
55642241.363637425 ns/iter |
1.01 |
HTML_Render_Table_100000 |
1945419.2051282306 ns/iter |
1843678.4308510732 ns/iter |
1.06 |
JSONLD_Catalog_Annotation_List_Populate |
681368.8132295664 ns/iter |
671558.792870909 ns/iter |
1.01 |
JSONLD_Catalog_Materialize |
3554566.848958422 ns/iter |
3477403.265000021 ns/iter |
1.02 |
JSONL_Parse_Large |
10130708.95714309 ns/iter |
10174200.205882588 ns/iter |
1.00 |
JSONL_Parse_Large_GZIP |
11495543.885246206 ns/iter |
11563916.60655755 ns/iter |
0.99 |
URITemplateRouter_Create |
20892.106129515167 ns/iter |
20673.80444692805 ns/iter |
1.01 |
URITemplateRouter_Match |
151.38115363664684 ns/iter |
157.5511443264475 ns/iter |
0.96 |
URITemplateRouter_Match_BasePath |
184.50214913880842 ns/iter |
184.98714313752544 ns/iter |
1.00 |
URITemplateRouterView_Restore |
8816.201906319 ns/iter |
8294.512511191158 ns/iter |
1.06 |
URITemplateRouterView_Match |
143.66573068399939 ns/iter |
123.63954810364935 ns/iter |
1.16 |
URITemplateRouterView_Match_BasePath |
143.39789439009417 ns/iter |
143.51312052262367 ns/iter |
1.00 |
URITemplateRouterView_Arguments |
469.5657600216349 ns/iter |
474.46807664272984 ns/iter |
0.99 |
JSONPath_Descendant_Filter_Nested |
1668.8192841634173 ns/iter |
1634.3500997580286 ns/iter |
1.02 |
Pointer_Object_Traverse |
25.00069219359046 ns/iter |
24.675609794868485 ns/iter |
1.01 |
Pointer_Object_Try_Traverse |
23.059943417149277 ns/iter |
23.067907805478605 ns/iter |
1.00 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
128.7017089463008 ns/iter |
127.05339212343027 ns/iter |
1.01 |
Pointer_Walker_Schema_ISO_Language |
1507621.5611353235 ns/iter |
1408838.1605691486 ns/iter |
1.07 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1206934.7238421382 ns/iter |
1197585.8862479497 ns/iter |
1.01 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1699968.5060533248 ns/iter |
1680412.795673137 ns/iter |
1.01 |
Pointer_Position_Tracker_Get_Deeply_Nested |
600.1137220592739 ns/iter |
600.1312338184777 ns/iter |
1.00 |
JSON_Array_Of_Objects_Unique |
467.55865573738504 ns/iter |
446.87132014145027 ns/iter |
1.05 |
JSON_Parse_1 |
5203.982431201991 ns/iter |
5220.168682297385 ns/iter |
1.00 |
JSON_Parse_Real |
5657.029914356815 ns/iter |
5530.95597767298 ns/iter |
1.02 |
JSON_Parse_Decimal |
10014.086385367276 ns/iter |
10038.780124579152 ns/iter |
1.00 |
JSON_Parse_Schema_ISO_Language |
3619874.186528747 ns/iter |
3615129.450777216 ns/iter |
1.00 |
JSON_Parse_Integer |
3747.5188057135642 ns/iter |
3731.2347666874243 ns/iter |
1.00 |
JSON_Parse_String_NonSSO_Plain |
3390.031425804918 ns/iter |
3407.442396111377 ns/iter |
0.99 |
JSON_Parse_String_SSO_Plain |
2977.3411961176475 ns/iter |
2985.127081903396 ns/iter |
1.00 |
JSON_Parse_String_Escape_Heavy |
16497.93195803324 ns/iter |
16553.53546937788 ns/iter |
1.00 |
JSON_Parse_Object_Short_Keys |
8424.5207468377 ns/iter |
8469.150876597507 ns/iter |
0.99 |
JSON_Parse_Object_Scalar_Properties |
4260.096594612155 ns/iter |
4289.688709309579 ns/iter |
0.99 |
JSON_Parse_Object_Array_Properties |
6512.592322642981 ns/iter |
6585.896557900909 ns/iter |
0.99 |
JSON_Parse_Object_Object_Properties |
6554.549827660786 ns/iter |
6455.162936850025 ns/iter |
1.02 |
JSON_Parse_Nested_Containers |
38898.7671757842 ns/iter |
39264.77685857873 ns/iter |
0.99 |
JSON_From_String_Copy |
9.065451203494977 ns/iter |
8.849518523227141 ns/iter |
1.02 |
JSON_From_String_Temporary |
7.424449824787429 ns/iter |
7.19386201653347 ns/iter |
1.03 |
JSON_Number_To_Double |
20.599677076095514 ns/iter |
20.585277985803888 ns/iter |
1.00 |
JSON_Object_At_Last_Key/8 |
3.7477940909918117 ns/iter |
3.746006070525512 ns/iter |
1.00 |
JSON_Object_At_Last_Key/32 |
11.894652751451625 ns/iter |
11.899293679303355 ns/iter |
1.00 |
JSON_Object_At_Last_Key/128 |
48.638508248219786 ns/iter |
48.61671767191059 ns/iter |
1.00 |
JSON_Object_At_Last_Key/512 |
359.37043225539907 ns/iter |
358.95392747619735 ns/iter |
1.00 |
JSON_Fast_Hash_Helm_Chart_Lock |
75.15497253012414 ns/iter |
68.86055092378473 ns/iter |
1.09 |
JSON_Equality_Helm_Chart_Lock |
146.3338411551663 ns/iter |
148.1148971248486 ns/iter |
0.99 |
JSON_Divisible_By_Decimal |
260.3741939732572 ns/iter |
261.0318562868822 ns/iter |
1.00 |
JSON_String_Equal/10 |
5.06440062710573 ns/iter |
5.063494797191952 ns/iter |
1.00 |
JSON_String_Equal/100 |
5.691079777420375 ns/iter |
5.682388309849835 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.7405143745605306 ns/iter |
0.7396685619279019 ns/iter |
1.00 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
25.196423865055436 ns/iter |
25.220092730740685 ns/iter |
1.00 |
JSON_String_Fast_Hash/10 |
2.5730139993501 ns/iter |
2.567439105430634 ns/iter |
1.00 |
JSON_String_Fast_Hash/100 |
2.56989835537431 ns/iter |
2.5753149957239807 ns/iter |
1.00 |
JSON_String_Key_Hash/10 |
1.5609622082546553 ns/iter |
1.5600298767647969 ns/iter |
1.00 |
JSON_String_Key_Hash/100 |
12.443248443658065 ns/iter |
12.445504358150593 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Same_Length |
3.428378608212631 ns/iter |
3.425117579780078 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Small |
3.1146766311093774 ns/iter |
3.114400276000661 ns/iter |
1.00 |
JSON_Object_Defines_Miss_Too_Large |
3.440283380988643 ns/iter |
3.4240929408482677 ns/iter |
1.00 |
Regex_Lower_S_Or_Upper_S_Asterisk |
0.6229616505662942 ns/iter |
0.6228641234280281 ns/iter |
1.00 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
0.6228262234050576 ns/iter |
0.6225406375850083 ns/iter |
1.00 |
Regex_Period_Asterisk |
0.6233532815812877 ns/iter |
0.6225912664920389 ns/iter |
1.00 |
Regex_Group_Period_Asterisk_Group |
0.6254915678485453 ns/iter |
0.6231442684631069 ns/iter |
1.00 |
Regex_Period_Plus |
0.6251090741115454 ns/iter |
0.6230573816879107 ns/iter |
1.00 |
Regex_Period |
0.6232680093206484 ns/iter |
0.6231706157375062 ns/iter |
1.00 |
Regex_Caret_Period_Plus_Dollar |
0.6230897266514973 ns/iter |
0.6250045255742964 ns/iter |
1.00 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
0.6231417907358062 ns/iter |
0.6245487935216879 ns/iter |
1.00 |
Regex_Caret_Period_Asterisk_Dollar |
0.6234703766578579 ns/iter |
0.6227153012023741 ns/iter |
1.00 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
0.6236915894930258 ns/iter |
0.6230046361180375 ns/iter |
1.00 |
Regex_Caret_X_Hyphen |
3.7389404245732996 ns/iter |
3.7405034302526485 ns/iter |
1.00 |
Regex_Period_Md_Dollar |
29.808652963927987 ns/iter |
36.728894573818735 ns/iter |
0.81 |
Regex_Caret_Slash_Period_Asterisk |
4.052365643506453 ns/iter |
4.045938594181698 ns/iter |
1.00 |
Regex_Caret_Period_Range_Dollar |
1.2465643076921484 ns/iter |
1.2457875299522798 ns/iter |
1.00 |
Regex_Nested_Backtrack |
42.33699541636569 ns/iter |
46.0862319216896 ns/iter |
0.92 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (linux/llvm)
Details
| Benchmark suite | Current: 7e01db3 | Previous: 0d35d4e | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.439918499060985 ns/iter |
2.4600232067055807 ns/iter |
0.59 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
1.435598886467433 ns/iter |
2.460747027002404 ns/iter |
0.58 |
Regex_Period_Asterisk |
1.437708204623353 ns/iter |
2.461423899073986 ns/iter |
0.58 |
Regex_Group_Period_Asterisk_Group |
1.4461722949120668 ns/iter |
2.4617187330376793 ns/iter |
0.59 |
Regex_Period_Plus |
2.1990444795327866 ns/iter |
3.865766557685432 ns/iter |
0.57 |
Regex_Period |
2.20976300479665 ns/iter |
3.8669666300716936 ns/iter |
0.57 |
Regex_Caret_Period_Plus_Dollar |
2.198703034225257 ns/iter |
3.8667239233079687 ns/iter |
0.57 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.2230875380969963 ns/iter |
3.8677889122039626 ns/iter |
0.57 |
Regex_Caret_Period_Asterisk_Dollar |
1.479286112087641 ns/iter |
2.4617858887861654 ns/iter |
0.60 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.4523283172035601 ns/iter |
2.4617002095392144 ns/iter |
0.59 |
Regex_Caret_X_Hyphen |
4.006137409736597 ns/iter |
6.70661401548671 ns/iter |
0.60 |
Regex_Period_Md_Dollar |
19.19385249591317 ns/iter |
26.195736856598987 ns/iter |
0.73 |
Regex_Caret_Slash_Period_Asterisk |
3.7066653013002573 ns/iter |
7.383900533881907 ns/iter |
0.50 |
Regex_Caret_Period_Range_Dollar |
2.5431936961878088 ns/iter |
3.8680802085230592 ns/iter |
0.66 |
Regex_Nested_Backtrack |
29.848574525682533 ns/iter |
38.85667895300959 ns/iter |
0.77 |
JSON_Array_Of_Objects_Unique |
370.8423936209834 ns/iter |
476.7943725630207 ns/iter |
0.78 |
JSON_Parse_1 |
3721.4541330592156 ns/iter |
4299.650428285285 ns/iter |
0.87 |
JSON_Parse_Real |
4083.8529625872216 ns/iter |
4992.015917616314 ns/iter |
0.82 |
JSON_Parse_Decimal |
6638.235766047893 ns/iter |
7382.911627906749 ns/iter |
0.90 |
JSON_Parse_Schema_ISO_Language |
2795697.378485963 ns/iter |
3303885.1619047755 ns/iter |
0.85 |
JSON_Parse_Integer |
2824.456761295457 ns/iter |
3739.848348733625 ns/iter |
0.76 |
JSON_Parse_String_NonSSO_Plain |
2314.676048374635 ns/iter |
3163.0435663809176 ns/iter |
0.73 |
JSON_Parse_String_SSO_Plain |
2144.3572202764913 ns/iter |
2752.4800262982426 ns/iter |
0.78 |
JSON_Parse_String_Escape_Heavy |
11515.731807877908 ns/iter |
11976.932014622 ns/iter |
0.96 |
JSON_Parse_Object_Short_Keys |
6437.1664680174945 ns/iter |
7674.057434504453 ns/iter |
0.84 |
JSON_Parse_Object_Scalar_Properties |
3299.720613681525 ns/iter |
3908.167522806986 ns/iter |
0.84 |
JSON_Parse_Object_Array_Properties |
4311.785177683785 ns/iter |
5352.094698758475 ns/iter |
0.81 |
JSON_Parse_Object_Object_Properties |
4229.010426452915 ns/iter |
5329.03199610699 ns/iter |
0.79 |
JSON_Parse_Nested_Containers |
29313.075823903433 ns/iter |
34513.70184262778 ns/iter |
0.85 |
JSON_From_String_Copy |
7.792318385700115 ns/iter |
11.586878029208862 ns/iter |
0.67 |
JSON_From_String_Temporary |
7.03675845556152 ns/iter |
10.17476593754044 ns/iter |
0.69 |
JSON_Number_To_Double |
20.18251972297186 ns/iter |
22.90754680629464 ns/iter |
0.88 |
JSON_Object_At_Last_Key/8 |
3.6849082974084175 ns/iter |
4.129916983438461 ns/iter |
0.89 |
JSON_Object_At_Last_Key/32 |
11.804341565328903 ns/iter |
13.0568546105981 ns/iter |
0.90 |
JSON_Object_At_Last_Key/128 |
44.517424550985545 ns/iter |
55.96607777545219 ns/iter |
0.80 |
JSON_Object_At_Last_Key/512 |
184.6267166772194 ns/iter |
350.62228837962647 ns/iter |
0.53 |
JSON_Fast_Hash_Helm_Chart_Lock |
47.46839493289743 ns/iter |
66.32213754046347 ns/iter |
0.72 |
JSON_Equality_Helm_Chart_Lock |
119.75119059664733 ns/iter |
154.23384429969576 ns/iter |
0.78 |
JSON_Divisible_By_Decimal |
205.25644863289517 ns/iter |
251.56939338401168 ns/iter |
0.82 |
JSON_String_Equal/10 |
4.552646140681105 ns/iter |
5.629024127567473 ns/iter |
0.81 |
JSON_String_Equal/100 |
5.693701552745472 ns/iter |
6.349792238458564 ns/iter |
0.90 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.5875519657776682 ns/iter |
1.0547335016826584 ns/iter |
0.56 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
8.623187070990229 ns/iter |
12.337090484830036 ns/iter |
0.70 |
JSON_String_Fast_Hash/10 |
1.7136410816526606 ns/iter |
2.1142827218994307 ns/iter |
0.81 |
JSON_String_Fast_Hash/100 |
1.7045188102169722 ns/iter |
2.1171783395163364 ns/iter |
0.81 |
JSON_String_Key_Hash/10 |
1.7048124117473655 ns/iter |
2.4611207888293105 ns/iter |
0.69 |
JSON_String_Key_Hash/100 |
6.0469609982383625 ns/iter |
8.084185986703673 ns/iter |
0.75 |
JSON_Object_Defines_Miss_Same_Length |
4.03514833690923 ns/iter |
4.2208054623614055 ns/iter |
0.96 |
JSON_Object_Defines_Miss_Too_Small |
4.030110717110265 ns/iter |
3.2362982197006818 ns/iter |
1.25 |
JSON_Object_Defines_Miss_Too_Large |
3.408980417584857 ns/iter |
2.931306126647819 ns/iter |
1.16 |
Pointer_Object_Traverse |
20.885397007784356 ns/iter |
31.0056130929717 ns/iter |
0.67 |
Pointer_Object_Try_Traverse |
24.05481728554292 ns/iter |
33.115109737684605 ns/iter |
0.73 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
96.91865412612974 ns/iter |
181.81371816157062 ns/iter |
0.53 |
Pointer_Walker_Schema_ISO_Language |
1800719.1772152844 ns/iter |
1527874.9355555496 ns/iter |
1.18 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
1016816.3921569051 ns/iter |
1266404.6256881352 ns/iter |
0.80 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1446814.4120171755 ns/iter |
1628963.1897435787 ns/iter |
0.89 |
Pointer_Position_Tracker_Get_Deeply_Nested |
587.1716813944604 ns/iter |
753.3822395465834 ns/iter |
0.78 |
JSONPath_Descendant_Filter_Nested |
1086.9889299469962 ns/iter |
1562.103306463034 ns/iter |
0.70 |
URITemplateRouter_Create |
16535.542737542146 ns/iter |
21719.170549189872 ns/iter |
0.76 |
URITemplateRouter_Match |
149.69152221215117 ns/iter |
177.52052207537147 ns/iter |
0.84 |
URITemplateRouter_Match_BasePath |
166.1938738608022 ns/iter |
213.1208218630177 ns/iter |
0.78 |
URITemplateRouterView_Restore |
2951.4747673730085 ns/iter |
9842.668141905226 ns/iter |
0.30 |
URITemplateRouterView_Match |
120.80831913733456 ns/iter |
143.68679960531867 ns/iter |
0.84 |
URITemplateRouterView_Match_BasePath |
133.80610013063844 ns/iter |
167.15329613754247 ns/iter |
0.80 |
URITemplateRouterView_Arguments |
386.0253167516426 ns/iter |
450.5184435773739 ns/iter |
0.86 |
JSONL_Parse_Large |
7566257.19354852 ns/iter |
8593410.597560562 ns/iter |
0.88 |
JSONL_Parse_Large_GZIP |
8952554.44736838 ns/iter |
10319567.63235254 ns/iter |
0.87 |
JSONLD_Catalog_Annotation_List_Populate |
622863.3327495733 ns/iter |
584659.4933222262 ns/iter |
1.07 |
JSONLD_Catalog_Materialize |
3070985.2783020255 ns/iter |
3642558.8367348737 ns/iter |
0.84 |
HTML_Build_Table_100000 |
50663744.909095176 ns/iter |
67412079.19999966 ns/iter |
0.75 |
HTML_Render_Table_100000 |
2702779.517241244 ns/iter |
1959677.134831339 ns/iter |
1.38 |
GZIP_Compress_ISO_Language_Set_3_Locations |
25017082.892856836 ns/iter |
35806777.54999897 ns/iter |
0.70 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
3334142.6757992664 ns/iter |
4275940.74390266 ns/iter |
0.78 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1687180.8052884447 ns/iter |
2138503.6707317727 ns/iter |
0.79 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
315283.50310559565 ns/iter |
277499.749010313 ns/iter |
1.14 |
JOSE_VerifySignature_RS256 |
43402.46553771161 ns/iter |
64186.816960611475 ns/iter |
0.68 |
JOSE_VerifySignature_ES512 |
1858022.6385869398 ns/iter |
2679523.0766281667 ns/iter |
0.69 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
Benchmark (windows/msvc)
Details
| Benchmark suite | Current: 7e01db3 | Previous: 0b5334a | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
5.1587289999997665 ns/iter |
5.128730000000132 ns/iter |
1.01 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
4.968181786823134 ns/iter |
5.04622100000006 ns/iter |
0.98 |
Regex_Period_Asterisk |
5.237361000000078 ns/iter |
5.027158000000327 ns/iter |
1.04 |
Regex_Group_Period_Asterisk_Group |
5.055328999999915 ns/iter |
5.042336000000205 ns/iter |
1.00 |
Regex_Period_Plus |
4.667814743003266 ns/iter |
4.798037287495326 ns/iter |
0.97 |
Regex_Period |
4.6950074215077855 ns/iter |
4.828684554649143 ns/iter |
0.97 |
Regex_Caret_Period_Plus_Dollar |
4.611212957428095 ns/iter |
4.723466528400687 ns/iter |
0.98 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
4.6059806583336895 ns/iter |
4.775764296374307 ns/iter |
0.96 |
Regex_Caret_Period_Asterisk_Dollar |
4.970153999999525 ns/iter |
5.054579464285273 ns/iter |
0.98 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
4.961226000000352 ns/iter |
5.0195044642857205 ns/iter |
0.99 |
Regex_Caret_X_Hyphen |
8.065495535714007 ns/iter |
8.271815848214079 ns/iter |
0.98 |
Regex_Period_Md_Dollar |
57.2321785714282 ns/iter |
47.36278227212439 ns/iter |
1.21 |
Regex_Caret_Slash_Period_Asterisk |
7.458138392857043 ns/iter |
7.929399553571668 ns/iter |
0.94 |
Regex_Caret_Period_Range_Dollar |
5.393974107142644 ns/iter |
5.644181250000355 ns/iter |
0.96 |
Regex_Nested_Backtrack |
80.8557553189398 ns/iter |
57.91542857142673 ns/iter |
1.40 |
JSON_Array_Of_Objects_Unique |
709.5233928571381 ns/iter |
617.7968750000064 ns/iter |
1.15 |
JSON_Parse_1 |
9389.023263288967 ns/iter |
8871.794768773123 ns/iter |
1.06 |
JSON_Parse_Real |
16469.89220910005 ns/iter |
16118.528249072962 ns/iter |
1.02 |
JSON_Parse_Decimal |
11218.65892857191 ns/iter |
12266.97500000018 ns/iter |
0.91 |
JSON_Parse_Schema_ISO_Language |
8212932.222222158 ns/iter |
7844148.888888943 ns/iter |
1.05 |
JSON_Parse_Integer |
6028.605357143034 ns/iter |
6361.823660714678 ns/iter |
0.95 |
JSON_Parse_String_NonSSO_Plain |
8168.347462734858 ns/iter |
8587.029017857541 ns/iter |
0.95 |
JSON_Parse_String_SSO_Plain |
3683.206994273019 ns/iter |
4030.5487847344693 ns/iter |
0.91 |
JSON_Parse_String_Escape_Heavy |
22001.94062500138 ns/iter |
21700.56874999915 ns/iter |
1.01 |
JSON_Parse_Object_Short_Keys |
12771.774679577296 ns/iter |
13212.762666238074 ns/iter |
0.97 |
JSON_Parse_Object_Scalar_Properties |
6596.026785714518 ns/iter |
6867.163392857074 ns/iter |
0.96 |
JSON_Parse_Object_Array_Properties |
11660.948214285887 ns/iter |
11665.064285714217 ns/iter |
1.00 |
JSON_Parse_Object_Object_Properties |
11634.251785713852 ns/iter |
11720.01250000067 ns/iter |
0.99 |
JSON_Parse_Nested_Containers |
82641.7838489376 ns/iter |
79262.20982142747 ns/iter |
1.04 |
JSON_From_String_Copy |
62.81939285714141 ns/iter |
64.40855357143148 ns/iter |
0.98 |
JSON_From_String_Temporary |
81.07476562499677 ns/iter |
57.96050892857047 ns/iter |
1.40 |
JSON_Number_To_Double |
132.88069642856368 ns/iter |
124.96008928572168 ns/iter |
1.06 |
JSON_Object_At_Last_Key/8 |
7.436555323943681 ns/iter |
7.541197544642664 ns/iter |
0.99 |
JSON_Object_At_Last_Key/32 |
25.138249999999726 ns/iter |
22.958155993770728 ns/iter |
1.09 |
JSON_Object_At_Last_Key/128 |
94.33346900296783 ns/iter |
89.19287548246184 ns/iter |
1.06 |
JSON_Object_At_Last_Key/512 |
431.81914336460324 ns/iter |
426.2091692737537 ns/iter |
1.01 |
JSON_Fast_Hash_Helm_Chart_Lock |
122.83799999999621 ns/iter |
107.09914285713344 ns/iter |
1.15 |
JSON_Equality_Helm_Chart_Lock |
209.52328305700368 ns/iter |
208.57149738518672 ns/iter |
1.00 |
JSON_Divisible_By_Decimal |
397.18904030407566 ns/iter |
302.55295352389 ns/iter |
1.31 |
JSON_String_Equal/10 |
10.058581250000032 ns/iter |
10.707553571428972 ns/iter |
0.94 |
JSON_String_Equal/100 |
11.502400000000357 ns/iter |
12.334778571427714 ns/iter |
0.93 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
2.131215000000175 ns/iter |
2.540988479873843 ns/iter |
0.84 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
16.939005466926737 ns/iter |
20.62810937499953 ns/iter |
0.82 |
JSON_String_Fast_Hash/10 |
6.534174999999769 ns/iter |
6.8729868177237545 ns/iter |
0.95 |
JSON_String_Fast_Hash/100 |
6.510950892857486 ns/iter |
6.620655357143132 ns/iter |
0.98 |
JSON_String_Key_Hash/10 |
5.014689285714168 ns/iter |
5.402488392856444 ns/iter |
0.93 |
JSON_String_Key_Hash/100 |
10.950603124999958 ns/iter |
11.970724999999405 ns/iter |
0.91 |
JSON_Object_Defines_Miss_Same_Length |
4.6664607142855425 ns/iter |
4.785697778539609 ns/iter |
0.98 |
JSON_Object_Defines_Miss_Too_Small |
4.612517421009909 ns/iter |
5.057752411843388 ns/iter |
0.91 |
JSON_Object_Defines_Miss_Too_Large |
4.659636840758122 ns/iter |
5.156317880615203 ns/iter |
0.90 |
Pointer_Object_Traverse |
65.32636607142857 ns/iter |
84.54607142857537 ns/iter |
0.77 |
Pointer_Object_Try_Traverse |
68.50541294642909 ns/iter |
75.56267857143187 ns/iter |
0.91 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
155.08946428571338 ns/iter |
178.1091391590897 ns/iter |
0.87 |
Pointer_Walker_Schema_ISO_Language |
13827471.428572023 ns/iter |
11607507.14285541 ns/iter |
1.19 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
2393753.7878786293 ns/iter |
2525832.1969697694 ns/iter |
0.95 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
3708257.2192511507 ns/iter |
3880831.5508020236 ns/iter |
0.96 |
Pointer_Position_Tracker_Get_Deeply_Nested |
580.5609374999981 ns/iter |
594.4316964286196 ns/iter |
0.98 |
JSONPath_Descendant_Filter_Nested |
2419.4825675416873 ns/iter |
2897.645714285854 ns/iter |
0.83 |
URITemplateRouter_Create |
38201.03794643132 ns/iter |
56782.247371595295 ns/iter |
0.67 |
URITemplateRouter_Match |
226.65362425742097 ns/iter |
311.7375892857004 ns/iter |
0.73 |
URITemplateRouter_Match_BasePath |
251.49549999998808 ns/iter |
272.0525503547956 ns/iter |
0.92 |
URITemplateRouterView_Restore |
26603.53659924801 ns/iter |
34281.0400707092 ns/iter |
0.78 |
URITemplateRouterView_Match |
174.34274381759448 ns/iter |
189.08187402518098 ns/iter |
0.92 |
URITemplateRouterView_Match_BasePath |
196.68531934440676 ns/iter |
213.90172929012556 ns/iter |
0.92 |
URITemplateRouterView_Arguments |
598.9430357143277 ns/iter |
561.0408928571278 ns/iter |
1.07 |
JSONL_Parse_Large |
33164435.000000484 ns/iter |
34402257.14285546 ns/iter |
0.96 |
JSONL_Parse_Large_GZIP |
33583265.00000146 ns/iter |
33857995.23809532 ns/iter |
0.99 |
JSONLD_Catalog_Annotation_List_Populate |
3537807.9812208135 ns/iter |
3301530.516431795 ns/iter |
1.07 |
JSONLD_Catalog_Materialize |
10906982.666666256 ns/iter |
9448302.222222082 ns/iter |
1.15 |
HTML_Build_Table_100000 |
93281328.5714279 ns/iter |
97291711.11110999 ns/iter |
0.96 |
HTML_Render_Table_100000 |
8148762.666666395 ns/iter |
7986226.666666122 ns/iter |
1.02 |
GZIP_Compress_ISO_Language_Set_3_Locations |
38036747.36842236 ns/iter |
36430010.5263139 ns/iter |
1.04 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
10881109.333333824 ns/iter |
10042354.687499255 ns/iter |
1.08 |
GZIP_Compress_ISO_Language_Set_3_Schema |
2322691.6387959793 ns/iter |
2089130.4347828012 ns/iter |
1.11 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
636446.9866071104 ns/iter |
653015.6250000069 ns/iter |
0.97 |
JOSE_VerifySignature_RS256 |
23841.999999999884 ns/iter |
21454.36422726609 ns/iter |
1.11 |
JOSE_VerifySignature_ES512 |
1524929.718875482 ns/iter |
1379401.2048192765 ns/iter |
1.11 |
This comment was automatically generated by workflow using github-action-benchmark.
There was a problem hiding this comment.
1 issue found across 3 files (changes from recent commits).
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/lang/process/usage.cc">
<violation number="1" location="src/lang/process/usage.cc:90">
P3: The documentation comment is cut off mid-sentence. "...under a name the other platforms already mean something else by" trails off without naming what the other platforms mean the quantity by, so the justification reads as an unfinished thought.</violation>
</file>
Tip: Review your code locally with the cubic CLI to iterate faster.
Re-trigger cubic
There was a problem hiding this comment.
Benchmark (macos/llvm)
Details
| Benchmark suite | Current: 7e01db3 | Previous: 0b5334a | Ratio |
|---|---|---|---|
Regex_Lower_S_Or_Upper_S_Asterisk |
1.9007151458594076 ns/iter |
2.082621872152316 ns/iter |
0.91 |
Regex_Caret_Lower_S_Or_Upper_S_Asterisk_Dollar |
2.1658905362718937 ns/iter |
1.8819396904808843 ns/iter |
1.15 |
Regex_Period_Asterisk |
2.1808157554901193 ns/iter |
2.3806661857867515 ns/iter |
0.92 |
Regex_Group_Period_Asterisk_Group |
1.883325627458322 ns/iter |
2.4507821626120694 ns/iter |
0.77 |
Regex_Period_Plus |
2.2377686395387943 ns/iter |
2.0822895980376965 ns/iter |
1.07 |
Regex_Period |
2.2774398344714126 ns/iter |
2.2234890233596136 ns/iter |
1.02 |
Regex_Caret_Period_Plus_Dollar |
2.252639218250876 ns/iter |
2.032853489399452 ns/iter |
1.11 |
Regex_Caret_Group_Period_Plus_Group_Dollar |
2.2659566115825003 ns/iter |
2.041554824536046 ns/iter |
1.11 |
Regex_Caret_Period_Asterisk_Dollar |
1.9029636175512388 ns/iter |
1.77552225717419 ns/iter |
1.07 |
Regex_Caret_Group_Period_Asterisk_Group_Dollar |
1.8865272166562166 ns/iter |
1.6881146614047644 ns/iter |
1.12 |
Regex_Caret_X_Hyphen |
6.76236349889235 ns/iter |
6.240317872281958 ns/iter |
1.08 |
Regex_Period_Md_Dollar |
20.403498758285966 ns/iter |
18.035018752613606 ns/iter |
1.13 |
Regex_Caret_Slash_Period_Asterisk |
5.1425427005116235 ns/iter |
4.415160424458553 ns/iter |
1.16 |
Regex_Caret_Period_Range_Dollar |
2.2969606784810783 ns/iter |
2.0246114834275764 ns/iter |
1.13 |
Regex_Nested_Backtrack |
37.75492467222374 ns/iter |
27.720931306553048 ns/iter |
1.36 |
JSON_Array_Of_Objects_Unique |
402.02721136669976 ns/iter |
367.40801923731715 ns/iter |
1.09 |
JSON_Parse_1 |
3500.3054836195533 ns/iter |
3788.4470658018654 ns/iter |
0.92 |
JSON_Parse_Real |
5681.265159097796 ns/iter |
5925.455231922077 ns/iter |
0.96 |
JSON_Parse_Decimal |
6198.675748665277 ns/iter |
5918.665418634819 ns/iter |
1.05 |
JSON_Parse_Schema_ISO_Language |
2515932.885714278 ns/iter |
2863872.1919190874 ns/iter |
0.88 |
JSON_Parse_Integer |
3574.528259779483 ns/iter |
3982.968836460243 ns/iter |
0.90 |
JSON_Parse_String_NonSSO_Plain |
3363.9526058502506 ns/iter |
4771.04737765835 ns/iter |
0.71 |
JSON_Parse_String_SSO_Plain |
1946.45341552153 ns/iter |
1854.8398047185904 ns/iter |
1.05 |
JSON_Parse_String_Escape_Heavy |
18527.598694813292 ns/iter |
19129.000210129045 ns/iter |
0.97 |
JSON_Parse_Object_Short_Keys |
6562.825777169433 ns/iter |
6548.673161037511 ns/iter |
1.00 |
JSON_Parse_Object_Scalar_Properties |
4053.382483051332 ns/iter |
3324.1314612056867 ns/iter |
1.22 |
JSON_Parse_Object_Array_Properties |
6164.738505299216 ns/iter |
3957.428344805786 ns/iter |
1.56 |
JSON_Parse_Object_Object_Properties |
6162.153888863207 ns/iter |
4387.808694472385 ns/iter |
1.40 |
JSON_Parse_Nested_Containers |
33730.06981865573 ns/iter |
30107.76775271725 ns/iter |
1.12 |
JSON_From_String_Copy |
14.822461187605287 ns/iter |
13.040851710807882 ns/iter |
1.14 |
JSON_From_String_Temporary |
9.014746245117207 ns/iter |
7.881166580360633 ns/iter |
1.14 |
JSON_Number_To_Double |
44.207837873359736 ns/iter |
42.46018688221994 ns/iter |
1.04 |
JSON_Object_At_Last_Key/8 |
4.820286826575874 ns/iter |
5.406448208953777 ns/iter |
0.89 |
JSON_Object_At_Last_Key/32 |
15.062434006019148 ns/iter |
14.33161246524505 ns/iter |
1.05 |
JSON_Object_At_Last_Key/128 |
61.05872443324516 ns/iter |
58.106357333791834 ns/iter |
1.05 |
JSON_Object_At_Last_Key/512 |
209.51512261661034 ns/iter |
203.78537596816932 ns/iter |
1.03 |
JSON_Fast_Hash_Helm_Chart_Lock |
66.03324702411865 ns/iter |
59.109618809015195 ns/iter |
1.12 |
JSON_Equality_Helm_Chart_Lock |
186.4316242933842 ns/iter |
182.49570495215514 ns/iter |
1.02 |
JSON_Divisible_By_Decimal |
210.30282594289756 ns/iter |
195.69072488500635 ns/iter |
1.07 |
JSON_String_Equal/10 |
8.447260130139005 ns/iter |
7.507704931155753 ns/iter |
1.13 |
JSON_String_Equal/100 |
7.644319496764994 ns/iter |
6.756642805431401 ns/iter |
1.13 |
JSON_String_Equal_Small_By_Perfect_Hash/10 |
0.3733779324468518 ns/iter |
0.3369912743839821 ns/iter |
1.11 |
JSON_String_Equal_Small_By_Runtime_Perfect_Hash/10 |
3.622231791632937 ns/iter |
3.1879166078517738 ns/iter |
1.14 |
JSON_String_Fast_Hash/10 |
2.6210280905812073 ns/iter |
2.363806278261084 ns/iter |
1.11 |
JSON_String_Fast_Hash/100 |
2.2650927962567953 ns/iter |
2.0207626007638027 ns/iter |
1.12 |
JSON_String_Key_Hash/10 |
1.8793098971208662 ns/iter |
1.6615958023298183 ns/iter |
1.13 |
JSON_String_Key_Hash/100 |
2.786759914351674 ns/iter |
2.0891085893346 ns/iter |
1.33 |
JSON_Object_Defines_Miss_Same_Length |
2.9920172023040017 ns/iter |
2.641992998154698 ns/iter |
1.13 |
JSON_Object_Defines_Miss_Too_Small |
3.01873660820165 ns/iter |
2.6722253026574054 ns/iter |
1.13 |
JSON_Object_Defines_Miss_Too_Large |
2.9867296149638607 ns/iter |
2.649025010676675 ns/iter |
1.13 |
Pointer_Object_Traverse |
25.73162651414175 ns/iter |
19.92463438945026 ns/iter |
1.29 |
Pointer_Object_Try_Traverse |
39.378802285317 ns/iter |
32.13722799884095 ns/iter |
1.23 |
Pointer_Push_Back_Pointer_To_Weak_Pointer |
156.86895840250747 ns/iter |
136.86103062630357 ns/iter |
1.15 |
Pointer_Walker_Schema_ISO_Language |
1466122.768736537 ns/iter |
1336842.2690058348 ns/iter |
1.10 |
Pointer_Maybe_Tracked_Deeply_Nested/0 |
960338.8971961646 ns/iter |
831525.4745763745 ns/iter |
1.15 |
Pointer_Maybe_Tracked_Deeply_Nested/1 |
1239918.468858083 ns/iter |
1018249.0472102206 ns/iter |
1.22 |
Pointer_Position_Tracker_Get_Deeply_Nested |
389.44318439735537 ns/iter |
335.8723945959029 ns/iter |
1.16 |
JSONPath_Descendant_Filter_Nested |
1334.1770454281755 ns/iter |
1265.5004813980283 ns/iter |
1.05 |
URITemplateRouter_Create |
20201.409546649862 ns/iter |
17569.960179816957 ns/iter |
1.15 |
URITemplateRouter_Match |
187.9158528333414 ns/iter |
165.73460695939772 ns/iter |
1.13 |
URITemplateRouter_Match_BasePath |
224.6380424175592 ns/iter |
194.69733080443456 ns/iter |
1.15 |
URITemplateRouterView_Restore |
11785.23561731369 ns/iter |
9925.884186726607 ns/iter |
1.19 |
URITemplateRouterView_Match |
173.79176454012503 ns/iter |
140.2953836131311 ns/iter |
1.24 |
URITemplateRouterView_Match_BasePath |
204.58854618621373 ns/iter |
156.7268145658677 ns/iter |
1.31 |
URITemplateRouterView_Arguments |
612.1080228277599 ns/iter |
536.8474992069787 ns/iter |
1.14 |
JSONL_Parse_Large |
7134395.836733718 ns/iter |
6186149.707965157 ns/iter |
1.15 |
JSONL_Parse_Large_GZIP |
8314805.720930888 ns/iter |
8151941.964285924 ns/iter |
1.02 |
JSONLD_Catalog_Annotation_List_Populate |
559770.0585906449 ns/iter |
489237.91937873984 ns/iter |
1.14 |
JSONLD_Catalog_Materialize |
2957972.727272756 ns/iter |
2143858.0188088883 ns/iter |
1.38 |
HTML_Build_Table_100000 |
43025583.31249884 ns/iter |
36531122.78947758 ns/iter |
1.18 |
HTML_Render_Table_100000 |
1985767.7394959913 ns/iter |
1507340.2489362822 ns/iter |
1.32 |
GZIP_Compress_ISO_Language_Set_3_Locations |
30502701.08695693 ns/iter |
25761027.777775783 ns/iter |
1.18 |
GZIP_Decompress_ISO_Language_Set_3_Locations |
4186910.9281438673 ns/iter |
3353824.7607657905 ns/iter |
1.25 |
GZIP_Compress_ISO_Language_Set_3_Schema |
1727210.687960852 ns/iter |
1618782.1015453879 ns/iter |
1.07 |
GZIP_Decompress_ISO_Language_Set_3_Schema |
358701.45393857325 ns/iter |
310106.2266365943 ns/iter |
1.16 |
JOSE_VerifySignature_RS256 |
28805.964008051014 ns/iter |
23639.922348668853 ns/iter |
1.22 |
JOSE_VerifySignature_ES512 |
1094555.8800622972 ns/iter |
1067938.0580357914 ns/iter |
1.02 |
This comment was automatically generated by workflow using github-action-benchmark.
Signed-off-by: Juan Cruz Viotti jv@jviotti.com