From 4739c243a0139a5ad299ba408b95330bcb487394 Mon Sep 17 00:00:00 2001 From: Rasmus Melchior Jacobsen Date: Sun, 25 Jan 2026 13:07:02 +0100 Subject: [PATCH] Add .net 8 support for TypeSafeId benchmarks --- .../LibraryComparison/TypeIdComparison.cs | 16 ---------------- .../LibraryComparison/TypeIdGeneration.cs | 6 +----- .../LibraryComparison/TypeIdParsing.cs | 4 ---- .../LibraryComparison/TypeIdRetrieveFlow.cs | 4 ---- .../LibraryComparison/TypeIdString.cs | 6 ------ .../TypeId.Benchmarks/TypeId.Benchmarks.csproj | 5 +---- 6 files changed, 2 insertions(+), 39 deletions(-) diff --git a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdComparison.cs b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdComparison.cs index c62bd4e..799cc2c 100644 --- a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdComparison.cs +++ b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdComparison.cs @@ -19,9 +19,7 @@ public class TypeIdComparison private TypeIdDecoded[] _fastIdTypeIdsDecoded = Array.Empty(); private TcKs.TypeId.TypeId[] _tcKsTypeIds = Array.Empty(); private global::TypeId.TypeId[] _cbuctokTypeIds = Array.Empty(); -#if NET10_0_OR_GREATER private TypeSafeId.TypeId[] _typeSafeIds = Array.Empty>(); -#endif private readonly string _prefixFull; @@ -45,9 +43,7 @@ public void Setup() ? $"{prefix}_{_suffix}" : _suffix; -#if NET10_0_OR_GREATER TypeSafeId.TypeId.SetPrefix(prefix); -#endif _fastIdTypeIds = new[] { TypeId.Parse(typeIdStr), TypeId.Parse(typeIdStr) }; _fastIdTypeIdsDecoded = new[] { TypeId.Parse(typeIdStr).Decode(), TypeId.Parse(typeIdStr).Decode() }; @@ -59,9 +55,7 @@ public void Setup() } _cbuctokTypeIds = new[] { global::TypeId.TypeId.Parse(typeIdStr), global::TypeId.TypeId.Parse(typeIdStr) }; -#if NET10_0_OR_GREATER _typeSafeIds = new[] { TypeSafeId.TypeId.Parse(typeIdStr), TypeSafeId.TypeId.Parse(typeIdStr) }; -#endif } [Benchmark(Baseline = true)] @@ -80,11 +74,9 @@ public void Setup() [BenchmarkCategory("Equality")] public bool CbuctokEquals() => _cbuctokTypeIds[0] == _cbuctokTypeIds[1]; -#if NET10_0_OR_GREATER [Benchmark] [BenchmarkCategory("Equality")] public bool TypeSafeIdEquals() => _typeSafeIds[0] == _typeSafeIds[1]; -#endif [Benchmark(Baseline = true)] [BenchmarkCategory("HashCode")] @@ -102,11 +94,9 @@ public void Setup() [BenchmarkCategory("HashCode")] public int CbuctokHash() => _cbuctokTypeIds[0].GetHashCode(); -#if NET10_0_OR_GREATER [Benchmark] [BenchmarkCategory("HashCode")] public int TypeSafeIdHash() => _typeSafeIds[0].GetHashCode(); -#endif [Benchmark(Baseline = true)] [BenchmarkCategory("Prefix")] @@ -128,11 +118,9 @@ public void Setup() [BenchmarkCategory("Prefix")] public string CbuctokPrefix() => _cbuctokTypeIds[0].Type; -#if NET10_0_OR_GREATER [Benchmark] [BenchmarkCategory("Prefix")] public string TypeSafeIdPrefix() => TypeSafeId.TypeId.Prefix; -#endif [Benchmark(Baseline = true)] [BenchmarkCategory("Id")] @@ -150,11 +138,9 @@ public void Setup() [BenchmarkCategory("Id")] public string CbuctokId() => _cbuctokTypeIds[0].Id; -#if NET10_0_OR_GREATER [Benchmark] [BenchmarkCategory("Id")] public Guid TypeSafeIdId() => _typeSafeIds[0].Uuid; -#endif [Benchmark(Baseline = true)] [BenchmarkCategory("Suffix")] @@ -172,7 +158,6 @@ public void Setup() [BenchmarkCategory("Suffix")] public string TcKsSuffix() => _tcKsTypeIds[0].Suffix; -#if NET10_0_OR_GREATER [Benchmark] [BenchmarkCategory("Suffix")] public string TypeSafeIdSuffix() => _typeSafeIds[0].GetSuffix(); @@ -186,5 +171,4 @@ public int TypeSafeIdSuffixSpan() } public record Entity; -#endif } \ No newline at end of file diff --git a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdGeneration.cs b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdGeneration.cs index 7a66192..399bb7f 100644 --- a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdGeneration.cs +++ b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdGeneration.cs @@ -31,9 +31,7 @@ public void Setup() { _prefix = _prefixFull[..PrefixLength]; -#if NET10_0_OR_GREATER TypeSafeId.TypeId.SetPrefix(_prefix); -#endif } [Benchmark(Baseline = true)] @@ -60,13 +58,11 @@ public TcKs.TypeId.TypeId TcKsBenchmark() return global::TypeId.TypeId.NewTypeId(_prefix); } -#if NET10_0_OR_GREATER [Benchmark] public TypeSafeId.TypeId TypeSafeIdBenchmark() { - return TypeSafeId.TypeId.Create(); + return TypeSafeId.TypeId.Create(); } public record Entity; -#endif } \ No newline at end of file diff --git a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdParsing.cs b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdParsing.cs index f80924d..08dc063 100644 --- a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdParsing.cs +++ b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdParsing.cs @@ -36,9 +36,7 @@ public void Setup() var prefix = _prefixFull[..PrefixLength]; _typeIdString = TypeId.FromUuidV7(prefix, _uuidV7).ToString(); -#if NET10_0_OR_GREATER TypeSafeId.TypeId.SetPrefix(prefix); -#endif } [Benchmark(Baseline = true)] @@ -80,7 +78,6 @@ public TcKs.TypeId.TypeId TcKsTryParse() return typeId; } -#if NET10_0_OR_GREATER [Benchmark] public TypeSafeId.TypeId TypeSafeIdParse() { @@ -95,5 +92,4 @@ public TypeSafeId.TypeId TypeSafeIdTryParse() } public record Entity; -#endif } \ No newline at end of file diff --git a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdRetrieveFlow.cs b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdRetrieveFlow.cs index adf17ee..6fc0f7f 100644 --- a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdRetrieveFlow.cs +++ b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdRetrieveFlow.cs @@ -35,9 +35,7 @@ public void Setup() var prefix = _prefixFull[..PrefixLength]; _typeIdString = TypeId.FromUuidV7(prefix, _uuidV7).ToString(); -#if NET10_0_OR_GREATER TypeSafeId.TypeId.SetPrefix(prefix); -#endif } [Benchmark(Baseline = true)] @@ -69,7 +67,6 @@ public string CbuctokBenchmark() return typeId.ToString(); } -#if NET10_0_OR_GREATER [Benchmark] public string TypeSafeIdBenchmark() { @@ -78,5 +75,4 @@ public string TypeSafeIdBenchmark() } public record Entity; -#endif } \ No newline at end of file diff --git a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdString.cs b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdString.cs index a3cf8b1..b325fce 100644 --- a/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdString.cs +++ b/src/FastIDs.TypeId/TypeId.Benchmarks/LibraryComparison/TypeIdString.cs @@ -18,9 +18,7 @@ public class TypeIdString private TypeIdDecoded _fastIdTypeIdDecoded; private TcKs.TypeId.TypeId _tcKsTypeId; private global::TypeId.TypeId _cbuctokTypeId; -#if NET10_0_OR_GREATER private TypeSafeId.TypeId _typeSafeIdTypeId; -#endif public TypeIdString() { @@ -45,11 +43,9 @@ public void Setup() _fastIdTypeId = _fastIdTypeIdDecoded.Encode(); _tcKsTypeId = new TcKs.TypeId.TypeId(prefix, _uuidV7); _cbuctokTypeId = new global::TypeId.TypeId(prefix, _uuidV7); -#if NET10_0_OR_GREATER _typeSafeIdTypeId = new TypeSafeId.TypeId(_uuidV7); global::TypeSafeId.TypeId.SetPrefix(prefix); -#endif } [Benchmark(Baseline = true)] @@ -76,7 +72,6 @@ public string Cbuctok() return _cbuctokTypeId.ToString(); } -#if NET10_0_OR_GREATER [Benchmark] public string TypeSafeId() { @@ -84,5 +79,4 @@ public string TypeSafeId() } public record Entity; -#endif } \ No newline at end of file diff --git a/src/FastIDs.TypeId/TypeId.Benchmarks/TypeId.Benchmarks.csproj b/src/FastIDs.TypeId/TypeId.Benchmarks/TypeId.Benchmarks.csproj index a4eafdd..b08bd56 100644 --- a/src/FastIDs.TypeId/TypeId.Benchmarks/TypeId.Benchmarks.csproj +++ b/src/FastIDs.TypeId/TypeId.Benchmarks/TypeId.Benchmarks.csproj @@ -13,10 +13,7 @@ - - - - +