This document presents performance benchmarks for the TypeSafeId library and related implementations. The benchmarks are designed to compare the efficiency of various operations such as ID generation, parsing, and serialization across different libraries and approaches.
The results below are generated using BenchmarkDotNet and are intended to provide insight into the relative performance of TypeSafeId and alternative solutions. Benchmarks are run on a modern Windows system with .NET 10.
The following libraries and implementations are included in these benchmarks:
- TypeSafeId (GitHub) — The library under test, providing type-safe, prefix-based unique identifiers.
- FastIDs (GitHub) — Performance-oriented TypeId C# library.
- TcKs (GitHub) — The .NET implementation of TypeID.
- Cbuctok (GitHub) — Type-safe, K-sortable, globally unique identifier inspired by Stripe IDs.
This benchmark compares the generation of a new TypeId (benchmark name: TypeIdGeneration).
BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7623/25H2/2025Update/HudsonValley2)
AMD Ryzen AI 9 HX PRO 370 w/ Radeon 890M 2.00GHz, 1 CPU, 24 logical and 12 physical cores
.NET SDK 10.0.102
[Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
| Method | PrefixLength | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|
| TypeSafeIdGenericGenerate | 0 | 76.14 ns | 0.141 ns | 0.110 ns | 1.00 | 0.00 | - | - | NA |
| TypeSafeIdNotGenericGenerate | 0 | 78.55 ns | 0.110 ns | 0.086 ns | 1.03 | 0.00 | - | - | NA |
| FastIdsGenerate | 0 | 97.55 ns | 0.809 ns | 0.757 ns | 1.28 | 0.01 | - | - | NA |
| FastIdsNoCheckGenerate | 0 | 92.95 ns | 0.848 ns | 0.708 ns | 1.22 | 0.01 | - | - | NA |
| TcKsGenerate | 0 | 162.44 ns | 2.282 ns | 2.023 ns | 2.13 | 0.03 | 0.0324 | 272 B | NA |
| CbuctokGenerate | 0 | 157.05 ns | 1.557 ns | 1.300 ns | 2.06 | 0.02 | 0.0515 | 432 B | NA |
| TypeSafeIdGenericGenerate | 5 | 78.99 ns | 0.509 ns | 0.425 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdNotGenericGenerate | 5 | 81.61 ns | 0.701 ns | 0.656 ns | 1.03 | 0.01 | - | - | NA |
| FastIdsGenerate | 5 | 98.88 ns | 0.688 ns | 0.644 ns | 1.25 | 0.01 | - | - | NA |
| FastIdsNoCheckGenerate | 5 | 94.14 ns | 1.098 ns | 1.027 ns | 1.19 | 0.01 | - | - | NA |
| TcKsGenerate | 5 | 158.36 ns | 1.951 ns | 1.825 ns | 2.00 | 0.02 | 0.0334 | 280 B | NA |
| CbuctokGenerate | 5 | 159.08 ns | 2.271 ns | 2.125 ns | 2.01 | 0.03 | 0.0515 | 432 B | NA |
| TypeSafeIdGenericGenerate | 10 | 79.10 ns | 0.710 ns | 0.630 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdNotGenericGenerate | 10 | 82.12 ns | 0.889 ns | 0.831 ns | 1.04 | 0.01 | - | - | NA |
| FastIdsGenerate | 10 | 98.53 ns | 0.515 ns | 0.482 ns | 1.25 | 0.01 | - | - | NA |
| FastIdsNoCheckGenerate | 10 | 93.11 ns | 0.710 ns | 0.630 ns | 1.18 | 0.01 | - | - | NA |
| TcKsGenerate | 10 | 161.42 ns | 1.484 ns | 1.315 ns | 2.04 | 0.02 | 0.0343 | 288 B | NA |
| CbuctokGenerate | 10 | 159.68 ns | 1.931 ns | 1.806 ns | 2.02 | 0.03 | 0.0515 | 432 B | NA |
| TypeSafeIdGenericGenerate | 30 | 79.54 ns | 0.572 ns | 0.535 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdNotGenericGenerate | 30 | 81.84 ns | 0.797 ns | 0.745 ns | 1.03 | 0.01 | - | - | NA |
| FastIdsGenerate | 30 | 98.19 ns | 0.481 ns | 0.427 ns | 1.23 | 0.01 | - | - | NA |
| FastIdsNoCheckGenerate | 30 | 94.56 ns | 0.993 ns | 0.881 ns | 1.19 | 0.01 | - | - | NA |
| TcKsGenerate | 30 | 159.97 ns | 2.443 ns | 2.286 ns | 2.01 | 0.03 | 0.0391 | 328 B | NA |
| CbuctokGenerate | 30 | 159.59 ns | 2.957 ns | 2.766 ns | 2.01 | 0.04 | 0.0515 | 432 B | NA |
| TypeSafeIdGenericGenerate | 63 | 77.99 ns | 0.382 ns | 0.358 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdNotGenericGenerate | 63 | 78.76 ns | 0.175 ns | 0.146 ns | 1.01 | 0.00 | - | - | NA |
| FastIdsGenerate | 63 | 94.49 ns | 0.160 ns | 0.134 ns | 1.21 | 0.01 | - | - | NA |
| FastIdsNoCheckGenerate | 63 | 89.23 ns | 0.175 ns | 0.155 ns | 1.14 | 0.01 | - | - | NA |
| TcKsGenerate | 63 | 155.58 ns | 0.617 ns | 0.577 ns | 1.99 | 0.01 | 0.0477 | 400 B | NA |
| CbuctokGenerate | 63 | 149.69 ns | 0.330 ns | 0.309 ns | 1.92 | 0.01 | 0.0515 | 432 B | NA |
This benchmarks compares the creation of a TypeId from an existing Uuid Guid instance (benchmark name: TypeIdCreateFromUuid).
This is the typical creation operation if ID's are stored as Guid in a database.
BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7623/25H2/2025Update/HudsonValley2)
AMD Ryzen AI 9 HX PRO 370 w/ Radeon 890M 2.00GHz, 1 CPU, 24 logical and 12 physical cores
.NET SDK 10.0.102
[Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
| Method | PrefixLength | Mean | Error | StdDev | Median | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|
| TypeSafeIdGenericFromUuid | 0 | 0.0054 ns | 0.0013 ns | 0.0012 ns | 0.0056 ns | 1.05 | 0.35 | - | - | NA |
| TypeSafeIdNotGenericFromUuid | 0 | 0.8736 ns | 0.0067 ns | 0.0063 ns | 0.8731 ns | 171.37 | 42.12 | - | - | NA |
| FastIdsFromUuid | 0 | 0.9460 ns | 0.0045 ns | 0.0038 ns | 0.9456 ns | 185.57 | 45.61 | - | - | NA |
| TcKsFromUuid | 0 | 58.8532 ns | 0.5767 ns | 0.5395 ns | 58.9678 ns | 11,544.30 | 2,837.89 | 0.0325 | 272 B | NA |
| CbuctokFromUuid | 0 | 64.9401 ns | 0.7499 ns | 0.7015 ns | 64.9371 ns | 12,738.27 | 3,132.24 | 0.0516 | 432 B | NA |
| TypeSafeIdGenericFromUuid | 5 | 0.0058 ns | 0.0087 ns | 0.0081 ns | 0.0027 ns | ? | ? | - | - | ? |
| TypeSafeIdNotGenericFromUuid | 5 | 3.3244 ns | 0.0458 ns | 0.0382 ns | 3.3281 ns | ? | ? | - | - | ? |
| FastIdsFromUuid | 5 | 2.4118 ns | 0.0362 ns | 0.0321 ns | 2.4164 ns | ? | ? | - | - | ? |
| TcKsFromUuid | 5 | 58.7189 ns | 0.6889 ns | 0.6444 ns | 58.9976 ns | ? | ? | 0.0334 | 280 B | ? |
| CbuctokFromUuid | 5 | 72.5706 ns | 0.8189 ns | 0.7660 ns | 72.5786 ns | ? | ? | 0.0516 | 432 B | ? |
| TypeSafeIdGenericFromUuid | 10 | 0.0220 ns | 0.0096 ns | 0.0090 ns | 0.0246 ns | 3.88 | 11.60 | - | - | NA |
| TypeSafeIdNotGenericFromUuid | 10 | 1.7020 ns | 0.0161 ns | 0.0150 ns | 1.7072 ns | 301.21 | 829.32 | - | - | NA |
| FastIdsFromUuid | 10 | 3.4837 ns | 0.0659 ns | 0.0616 ns | 3.4662 ns | 616.52 | 1,697.67 | - | - | NA |
| TcKsFromUuid | 10 | 58.7567 ns | 1.0390 ns | 0.9719 ns | 58.8947 ns | 10,398.48 | 28,632.96 | 0.0343 | 288 B | NA |
| CbuctokFromUuid | 10 | 73.7536 ns | 0.8737 ns | 0.8172 ns | 73.8889 ns | 13,052.58 | 35,938.33 | 0.0516 | 432 B | NA |
| TypeSafeIdGenericFromUuid | 30 | 0.0260 ns | 0.0114 ns | 0.0106 ns | 0.0281 ns | 1.29 | 1.09 | - | - | NA |
| TypeSafeIdNotGenericFromUuid | 30 | 1.7579 ns | 0.0482 ns | 0.0451 ns | 1.7563 ns | 87.38 | 60.81 | - | - | NA |
| FastIdsFromUuid | 30 | 3.4680 ns | 0.0458 ns | 0.0382 ns | 3.4709 ns | 172.37 | 119.92 | - | - | NA |
| TcKsFromUuid | 30 | 61.0531 ns | 0.8624 ns | 0.7201 ns | 61.0698 ns | 3,034.54 | 2,111.19 | 0.0391 | 328 B | NA |
| CbuctokFromUuid | 30 | 83.7475 ns | 0.8631 ns | 0.7651 ns | 83.7663 ns | 4,162.53 | 2,895.19 | 0.0516 | 432 B | NA |
| TypeSafeIdGenericFromUuid | 63 | 0.0088 ns | 0.0126 ns | 0.0111 ns | 0.0045 ns | 18.11 | 83.56 | - | - | NA |
| TypeSafeIdNotGenericFromUuid | 63 | 2.2377 ns | 0.0644 ns | 0.0632 ns | 2.2253 ns | 4,609.10 | 12,989.04 | - | - | NA |
| FastIdsFromUuid | 63 | 4.4375 ns | 0.0555 ns | 0.0519 ns | 4.4347 ns | 9,140.14 | 25,752.97 | - | - | NA |
| TcKsFromUuid | 63 | 66.2870 ns | 1.0219 ns | 0.9559 ns | 66.2657 ns | 136,535.09 | 384,711.36 | 0.0478 | 400 B | NA |
| CbuctokFromUuid | 63 | 98.2191 ns | 0.5691 ns | 0.5324 ns | 98.1597 ns | 202,307.48 | 569,982.97 | 0.0516 | 432 B | NA |
This benchmark compares the parsing of a string representation in TypeId format into a TypeId and accessing the UUID part as a Guid (benchmark name: TypeIdParseToUuid).
This is the typical parse operation if the TypeId is obtained as a parameter, and is used for query in a database storing the TypeId as a Guid.
BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7623/25H2/2025Update/HudsonValley2)
AMD Ryzen AI 9 HX PRO 370 w/ Radeon 890M 2.00GHz, 1 CPU, 24 logical and 12 physical cores
.NET SDK 10.0.102
[Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
| Method | PrefixLength | Mean | Error | StdDev | Median | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|
| TypeSafeIdGenericParseToUuid | 0 | 23.867 ns | 0.0658 ns | 0.0616 ns | 23.848 ns | 1.00 | 0.00 | - | - | NA |
| TypeSafeIdGenericTryParseToUuid | 0 | 23.990 ns | 0.0274 ns | 0.0256 ns | 23.977 ns | 1.01 | 0.00 | - | - | NA |
| TypeSafeIdNotGenericParseToUuid | 0 | 29.329 ns | 0.0446 ns | 0.0395 ns | 29.325 ns | 1.23 | 0.00 | - | - | NA |
| TypeSafeIdNotGenericTryParseToUuid | 0 | 27.687 ns | 0.1361 ns | 0.1136 ns | 27.701 ns | 1.16 | 0.01 | - | - | NA |
| FastIdsParseToUuid | 0 | 36.603 ns | 0.1851 ns | 0.1732 ns | 36.574 ns | 1.53 | 0.01 | - | - | NA |
| FastIdsTryParseToUuid | 0 | 36.020 ns | 0.4180 ns | 0.3705 ns | 35.988 ns | 1.51 | 0.02 | - | - | NA |
| TcKsParseToUuid | 0 | NA | NA | NA | NA | ? | ? | NA | NA | ? |
| TcKsTryParseToUuid | 0 | 1.801 ns | 0.0357 ns | 0.0298 ns | 1.808 ns | 0.08 | 0.00 | - | - | NA |
| CbuctokParseToUuid | 0 | 71.553 ns | 0.9821 ns | 0.8706 ns | 71.281 ns | 3.00 | 0.04 | 0.0381 | 320 B | NA |
| CbuctokTryParseToUuid | 0 | 75.326 ns | 1.2807 ns | 1.1353 ns | 75.425 ns | 3.16 | 0.05 | 0.0381 | 320 B | NA |
| TypeSafeIdGenericParseToUuid | 5 | 17.856 ns | 0.1943 ns | 0.1817 ns | 17.850 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdGenericTryParseToUuid | 5 | 17.895 ns | 0.2085 ns | 0.1950 ns | 17.824 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdNotGenericParseToUuid | 5 | 30.913 ns | 0.3423 ns | 0.3202 ns | 30.885 ns | 1.73 | 0.02 | 0.0038 | 32 B | NA |
| TypeSafeIdNotGenericTryParseToUuid | 5 | 27.455 ns | 0.2752 ns | 0.2575 ns | 27.412 ns | 1.54 | 0.02 | 0.0038 | 32 B | NA |
| FastIdsParseToUuid | 5 | 44.733 ns | 0.7770 ns | 0.6888 ns | 44.607 ns | 2.51 | 0.04 | 0.0038 | 32 B | NA |
| FastIdsTryParseToUuid | 5 | 42.665 ns | 0.4115 ns | 0.3648 ns | 42.665 ns | 2.39 | 0.03 | 0.0038 | 32 B | NA |
| TcKsParseToUuid | 5 | 44.316 ns | 0.2693 ns | 0.2387 ns | 44.336 ns | 2.48 | 0.03 | - | - | NA |
| TcKsTryParseToUuid | 5 | 44.157 ns | 0.3485 ns | 0.3260 ns | 44.169 ns | 2.47 | 0.03 | - | - | NA |
| CbuctokParseToUuid | 5 | 104.400 ns | 0.9425 ns | 0.8355 ns | 104.290 ns | 5.85 | 0.07 | 0.0526 | 440 B | NA |
| CbuctokTryParseToUuid | 5 | 94.385 ns | 1.3873 ns | 1.2976 ns | 94.141 ns | 5.29 | 0.09 | 0.0526 | 440 B | NA |
| TypeSafeIdGenericParseToUuid | 10 | 18.082 ns | 0.2839 ns | 0.2656 ns | 17.995 ns | 1.00 | 0.02 | - | - | NA |
| TypeSafeIdGenericTryParseToUuid | 10 | 18.053 ns | 0.1758 ns | 0.1645 ns | 18.106 ns | 1.00 | 0.02 | - | - | NA |
| TypeSafeIdNotGenericParseToUuid | 10 | 26.922 ns | 0.1688 ns | 0.1496 ns | 26.938 ns | 1.49 | 0.02 | 0.0057 | 48 B | NA |
| TypeSafeIdNotGenericTryParseToUuid | 10 | 26.640 ns | 0.5388 ns | 0.6414 ns | 26.957 ns | 1.47 | 0.04 | 0.0057 | 48 B | NA |
| FastIdsParseToUuid | 10 | 46.724 ns | 0.5388 ns | 0.4776 ns | 46.694 ns | 2.58 | 0.04 | 0.0057 | 48 B | NA |
| FastIdsTryParseToUuid | 10 | 65.521 ns | 1.0946 ns | 1.0239 ns | 65.513 ns | 3.62 | 0.07 | 0.0057 | 48 B | NA |
| TcKsParseToUuid | 10 | 47.115 ns | 0.3845 ns | 0.3597 ns | 47.116 ns | 2.61 | 0.04 | - | - | NA |
| TcKsTryParseToUuid | 10 | 47.801 ns | 0.4486 ns | 0.4196 ns | 47.730 ns | 2.64 | 0.04 | - | - | NA |
| CbuctokParseToUuid | 10 | 96.759 ns | 0.9414 ns | 0.8806 ns | 96.701 ns | 5.35 | 0.09 | 0.0545 | 456 B | NA |
| CbuctokTryParseToUuid | 10 | 101.331 ns | 1.3934 ns | 1.3034 ns | 100.885 ns | 5.60 | 0.11 | 0.0545 | 456 B | NA |
| TypeSafeIdGenericParseToUuid | 30 | 18.146 ns | 0.1749 ns | 0.1550 ns | 18.137 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdGenericTryParseToUuid | 30 | 18.196 ns | 0.2291 ns | 0.2143 ns | 18.143 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdNotGenericParseToUuid | 30 | 29.937 ns | 0.3155 ns | 0.2797 ns | 29.793 ns | 1.65 | 0.02 | 0.0105 | 88 B | NA |
| TypeSafeIdNotGenericTryParseToUuid | 30 | 29.018 ns | 0.3276 ns | 0.3065 ns | 29.000 ns | 1.60 | 0.02 | 0.0105 | 88 B | NA |
| FastIdsParseToUuid | 30 | 46.234 ns | 0.4471 ns | 0.3964 ns | 46.362 ns | 2.55 | 0.03 | 0.0105 | 88 B | NA |
| FastIdsTryParseToUuid | 30 | 62.066 ns | 1.2636 ns | 2.5526 ns | 60.739 ns | 3.42 | 0.14 | 0.0105 | 88 B | NA |
| TcKsParseToUuid | 30 | 51.625 ns | 0.0732 ns | 0.0649 ns | 51.621 ns | 2.85 | 0.02 | - | - | NA |
| TcKsTryParseToUuid | 30 | 51.941 ns | 0.2078 ns | 0.1842 ns | 51.974 ns | 2.86 | 0.03 | - | - | NA |
| CbuctokParseToUuid | 30 | 107.681 ns | 0.7660 ns | 0.6790 ns | 107.716 ns | 5.93 | 0.06 | 0.0592 | 496 B | NA |
| CbuctokTryParseToUuid | 30 | 112.632 ns | 0.8963 ns | 0.8384 ns | 112.610 ns | 6.21 | 0.07 | 0.0592 | 496 B | NA |
| TypeSafeIdGenericParseToUuid | 63 | 17.843 ns | 0.0797 ns | 0.0707 ns | 17.846 ns | 1.00 | 0.01 | - | - | NA |
| TypeSafeIdGenericTryParseToUuid | 63 | 17.825 ns | 0.0532 ns | 0.0471 ns | 17.806 ns | 1.00 | 0.00 | - | - | NA |
| TypeSafeIdNotGenericParseToUuid | 63 | 30.746 ns | 0.2055 ns | 0.1822 ns | 30.772 ns | 1.72 | 0.01 | 0.0181 | 152 B | NA |
| TypeSafeIdNotGenericTryParseToUuid | 63 | 31.506 ns | 0.4413 ns | 0.4128 ns | 31.695 ns | 1.77 | 0.02 | 0.0181 | 152 B | NA |
| FastIdsParseToUuid | 63 | 47.987 ns | 0.2591 ns | 0.2424 ns | 48.023 ns | 2.69 | 0.02 | 0.0181 | 152 B | NA |
| FastIdsTryParseToUuid | 63 | 66.355 ns | 0.8784 ns | 0.8217 ns | 66.594 ns | 3.72 | 0.05 | 0.0181 | 152 B | NA |
| TcKsParseToUuid | 63 | 56.773 ns | 0.3392 ns | 0.3173 ns | 56.703 ns | 3.18 | 0.02 | - | - | NA |
| TcKsTryParseToUuid | 63 | 56.930 ns | 0.1448 ns | 0.1209 ns | 56.884 ns | 3.19 | 0.01 | - | - | NA |
| CbuctokParseToUuid | 63 | 135.078 ns | 1.3925 ns | 1.3026 ns | 134.733 ns | 7.57 | 0.08 | 0.0668 | 560 B | NA |
| CbuctokTryParseToUuid | 63 | 156.074 ns | 2.4574 ns | 2.2986 ns | 156.702 ns | 8.75 | 0.13 | 0.0668 | 560 B | NA |
Benchmarks with issues: TypeIdParseToUuid.TcKsParseToUuid: DefaultJob [PrefixLength=0]
This benchmark compares the formatting of a TypeId to its string representation (benchmark name: TypeIdToString).
This is the typical operatin when fetched database TypeIds stored as Guid are serialized, for example as json.
BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7623/25H2/2025Update/HudsonValley2)
AMD Ryzen AI 9 HX PRO 370 w/ Radeon 890M 2.00GHz, 1 CPU, 24 logical and 12 physical cores
.NET SDK 10.0.102
[Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
DefaultJob : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
BenchmarkDotNet v0.15.8, Windows 11 (10.0.26200.7623/25H2/2025Update/HudsonValley2) AMD Ryzen AI 9 HX PRO 370 w/ Radeon 890M 2.00GHz, 1 CPU, 24 logical and 12 physical cores .NET SDK 10.0.102 [Host] : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4 DefaultJob : .NET 10.0.2 (10.0.2, 10.0.225.61305), X64 RyuJIT x86-64-v4
| Method | PrefixLength | Mean | Error | StdDev | Ratio | RatioSD | Gen0 | Allocated | Alloc Ratio |
|----------------------------- |------------- |-----------:|----------:|----------:|------:|--------:|-------:|----------:|------------:|
| **TypeSafeIdGenericToString** | **0** | **19.2365 ns** | **0.1102 ns** | **0.0977 ns** | **1.00** | **0.01** | **0.0095** | **80 B** | **1.00** |
| TypeSafeIdNotGenericToString | 0 | 18.6773 ns | 0.1082 ns | 0.0845 ns | 0.97 | 0.01 | 0.0095 | 80 B | 1.00 |
| FastIdsDecodedToString | 0 | 17.2327 ns | 0.0991 ns | 0.0927 ns | 0.90 | 0.01 | 0.0095 | 80 B | 1.00 |
| FastIdsEncodedToString | 0 | 0.2258 ns | 0.0089 ns | 0.0083 ns | 0.01 | 0.00 | - | - | 0.00 |
| TcKsToString | 0 | 0.2333 ns | 0.0040 ns | 0.0034 ns | 0.01 | 0.00 | - | - | 0.00 |
| CbuctokToString | 0 | 15.5463 ns | 0.0776 ns | 0.0648 ns | 0.81 | 0.01 | 0.0038 | 32 B | 0.40 |
| | | | | | | | | | |
| **TypeSafeIdGenericToString** | **5** | **20.9728 ns** | **0.1106 ns** | **0.0980 ns** | **1.00** | **0.01** | **0.0105** | **88 B** | **1.00** |
| TypeSafeIdNotGenericToString | 5 | 19.7520 ns | 0.0718 ns | 0.0637 ns | 0.94 | 0.01 | 0.0105 | 88 B | 1.00 |
| FastIdsDecodedToString | 5 | 27.7057 ns | 0.1273 ns | 0.1191 ns | 1.32 | 0.01 | 0.0105 | 88 B | 1.00 |
| FastIdsEncodedToString | 5 | 0.2373 ns | 0.0111 ns | 0.0093 ns | 0.01 | 0.00 | - | - | 0.00 |
| TcKsToString | 5 | 0.2357 ns | 0.0071 ns | 0.0070 ns | 0.01 | 0.00 | - | - | 0.00 |
| CbuctokToString | 5 | 22.8628 ns | 0.1777 ns | 0.1663 ns | 1.09 | 0.01 | 0.0143 | 120 B | 1.36 |
| | | | | | | | | | |
| **TypeSafeIdGenericToString** | **10** | **20.6645 ns** | **0.0627 ns** | **0.0555 ns** | **1.00** | **0.00** | **0.0115** | **96 B** | **1.00** |
| TypeSafeIdNotGenericToString | 10 | 20.1654 ns | 0.0636 ns | 0.0564 ns | 0.98 | 0.00 | 0.0115 | 96 B | 1.00 |
| FastIdsDecodedToString | 10 | 28.2944 ns | 0.1671 ns | 0.1563 ns | 1.37 | 0.01 | 0.0114 | 96 B | 1.00 |
| FastIdsEncodedToString | 10 | 0.2208 ns | 0.0046 ns | 0.0043 ns | 0.01 | 0.00 | - | - | 0.00 |
| TcKsToString | 10 | 0.2247 ns | 0.0065 ns | 0.0060 ns | 0.01 | 0.00 | - | - | 0.00 |
| CbuctokToString | 10 | 24.2657 ns | 0.2188 ns | 0.2047 ns | 1.17 | 0.01 | 0.0153 | 128 B | 1.33 |
| | | | | | | | | | |
| **TypeSafeIdGenericToString** | **30** | **22.5371 ns** | **0.1272 ns** | **0.1128 ns** | **1.000** | **0.01** | **0.0162** | **136 B** | **1.00** |
| TypeSafeIdNotGenericToString | 30 | 22.0389 ns | 0.1139 ns | 0.1065 ns | 0.978 | 0.01 | 0.0162 | 136 B | 1.00 |
| FastIdsDecodedToString | 30 | 31.2427 ns | 0.1732 ns | 0.1535 ns | 1.386 | 0.01 | 0.0162 | 136 B | 1.00 |
| FastIdsEncodedToString | 30 | 0.2295 ns | 0.0085 ns | 0.0080 ns | 0.010 | 0.00 | - | - | 0.00 |
| TcKsToString | 30 | 0.2071 ns | 0.0083 ns | 0.0073 ns | 0.009 | 0.00 | - | - | 0.00 |
| CbuctokToString | 30 | 28.6366 ns | 0.4584 ns | 0.4288 ns | 1.271 | 0.02 | 0.0200 | 168 B | 1.24 |
| | | | | | | | | | |
| **TypeSafeIdGenericToString** | **63** | **24.8496 ns** | **0.0521 ns** | **0.0488 ns** | **1.000** | **0.00** | **0.0249** | **208 B** | **1.00** |
| TypeSafeIdNotGenericToString | 63 | 24.1955 ns | 0.1823 ns | 0.1705 ns | 0.974 | 0.01 | 0.0249 | 208 B | 1.00 |
| FastIdsDecodedToString | 63 | 33.8998 ns | 0.6779 ns | 0.6341 ns | 1.364 | 0.02 | 0.0249 | 208 B | 1.00 |
| FastIdsEncodedToString | 63 | 0.2301 ns | 0.0315 ns | 0.0294 ns | 0.009 | 0.00 | - | - | 0.00 |
| TcKsToString | 63 | 0.2116 ns | 0.0091 ns | 0.0085 ns | 0.009 | 0.00 | - | - | 0.00 |
| CbuctokToString | 63 | 37.9408 ns | 0.5456 ns | 0.5103 ns | 1.527 | 0.02 | 0.0287 | 240 B | 1.15 |