Rename because it is ordered

This commit is contained in:
Linus Björnstam 2026-05-07 07:44:55 +02:00
parent b5b363ae9f
commit e3cec3423b
28 changed files with 104 additions and 104 deletions

View file

@ -13,7 +13,7 @@
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\PersistentMap\PersistentMap.csproj" />
<ProjectReference Include="..\..\PersistentOrderedMap\PersistentOrderedMap.csproj" />
</ItemGroup>
</Project>

View file

@ -5,7 +5,7 @@ using System.Linq;
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
using LanguageExt;
using PersistentMap;
using PersistentOrderedMap;
namespace MapBenchmarks;
@ -26,7 +26,7 @@ public class IntMapBenchmarks
private ImmutableSortedDictionary<int, int> _immSortedDict;
private LanguageExt.Map<int, int> _extMap;
private LanguageExt.HashMap<int, int> _extHashMap;
private PersistentMap<int, int, IntStrategy> _persistentMap;
private PersistentOrderedMap<int, int, IntStrategy> _persistentOrderedMap;
private readonly IntStrategy _intStrategy = new IntStrategy();
@ -65,7 +65,7 @@ public class IntMapBenchmarks
var transient = BaseOrderedMap<int, int, IntStrategy>.CreateTransient(_intStrategy);
foreach (var k in _allKeys) transient.Set(k, k);
_persistentMap = transient.ToPersistent();
_persistentOrderedMap = transient.ToPersistent();
}
// --- 1. BUILD ---
@ -103,15 +103,15 @@ public class IntMapBenchmarks
}
[Benchmark]
public PersistentMap<int, int, IntStrategy> Build_PersistentMap()
public PersistentOrderedMap<int, int, IntStrategy> Build_PersistentMap()
{
var map = PersistentMap<int, int, IntStrategy>.Empty(_intStrategy);
var map = PersistentOrderedMap<int, int, IntStrategy>.Empty(_intStrategy);
foreach (var k in _allKeys) map = map.Set(k, k);
return map;
}
[Benchmark]
public PersistentMap<int, int, IntStrategy> Build_TransientMap()
public PersistentOrderedMap<int, int, IntStrategy> Build_TransientMap()
{
var map = BaseOrderedMap<int, int, IntStrategy>.CreateTransient(_intStrategy);
foreach (var k in _allKeys) map.Set(k, k);
@ -161,7 +161,7 @@ public class IntMapBenchmarks
{
int count = 0;
foreach (var k in _retrieveKeys)
if (_persistentMap.TryGetValue(k, out _)) count++;
if (_persistentOrderedMap.TryGetValue(k, out _)) count++;
return count;
}
@ -176,17 +176,17 @@ public class IntMapBenchmarks
}
[Benchmark]
public PersistentMap<int, int, IntStrategy> Update_PersistentMap()
public PersistentOrderedMap<int, int, IntStrategy> Update_PersistentMap()
{
var map = _persistentMap;
var map = _persistentOrderedMap;
foreach (var k in _updateKeys) map = map.Set(k, 999);
return map;
}
[Benchmark]
public PersistentMap<int, int, IntStrategy> Update_TransientMap()
public PersistentOrderedMap<int, int, IntStrategy> Update_TransientMap()
{
var transient = _persistentMap.ToTransient();
var transient = _persistentOrderedMap.ToTransient();
foreach (var k in _updateKeys) transient.Set(k, 999);
return transient.ToPersistent();
}
@ -226,17 +226,17 @@ public class IntMapBenchmarks
}
[Benchmark]
public PersistentMap<int, int, IntStrategy> UpdateSet_PersistentMap()
public PersistentOrderedMap<int, int, IntStrategy> UpdateSet_PersistentMap()
{
var map = _persistentMap;
var map = _persistentOrderedMap;
foreach (var k in _mixedKeys) map = map.Set(k, 999);
return map;
}
[Benchmark]
public PersistentMap<int, int, IntStrategy> UpdateSet_TransientMap()
public PersistentOrderedMap<int, int, IntStrategy> UpdateSet_TransientMap()
{
var transient = _persistentMap.ToTransient();
var transient = _persistentOrderedMap.ToTransient();
foreach (var k in _mixedKeys) transient.Set(k, 999);
return transient.ToPersistent();
}
@ -279,7 +279,7 @@ public class IntMapBenchmarks
public int Iterate_PersistentMap()
{
int sum = 0;
foreach (var kvp in _persistentMap) sum += kvp.Value;
foreach (var kvp in _persistentOrderedMap) sum += kvp.Value;
return sum;
}
@ -319,16 +319,16 @@ public class IntMapBenchmarks
}
[Benchmark]
public PersistentMap<int, int, IntStrategy> Remove_PersistentMap()
public PersistentOrderedMap<int, int, IntStrategy> Remove_PersistentMap()
{
var map = _persistentMap;
var map = _persistentOrderedMap;
foreach (var k in _removeKeys) map = map.Remove(k);
return map;
}
[Benchmark]
public PersistentMap<int, int, IntStrategy> Remove_TransientMap()
public PersistentOrderedMap<int, int, IntStrategy> Remove_TransientMap()
{
var transient = _persistentMap.ToTransient();
var transient = _persistentOrderedMap.ToTransient();
foreach (var k in _removeKeys) transient.Remove(k);
return transient.ToPersistent();
}

View file

@ -4,7 +4,7 @@ using System.Collections.Immutable;
using System.Linq;
using BenchmarkDotNet.Attributes;
using LanguageExt;
using PersistentMap;
using PersistentOrderedMap;
using System.Runtime.CompilerServices;
namespace MapBenchmarks;
@ -34,8 +34,8 @@ public class StringMapBenchmarks
private LanguageExt.Map<string, int> _extMap;
private LanguageExt.HashMap<string, int> _extHashMap;
private PersistentMap<string, int, StandardStrategy2<string, OrdinalComparer>> _persistentMapStandard;
private PersistentMap<string, int, UnicodeStrategy> _persistentMapUnicode;
private PersistentOrderedMap<string, int, StandardStrategy2<string, OrdinalComparer>> _persistentOrderedMapStandard;
private PersistentOrderedMap<string, int, UnicodeStrategy> _persistentOrderedMapUnicode;
private readonly StandardStrategy2<string, OrdinalComparer> _stdStrategy = new StandardStrategy2<string, OrdinalComparer>(new OrdinalComparer());
private readonly UnicodeStrategy _uniStrategy = new UnicodeStrategy();
@ -84,8 +84,8 @@ public class StringMapBenchmarks
transStd.Set(_allKeys[i], i);
transUni.Set(_allKeys[i], i);
}
_persistentMapStandard = transStd.ToPersistent();
_persistentMapUnicode = transUni.ToPersistent();
_persistentOrderedMapStandard = transStd.ToPersistent();
_persistentOrderedMapUnicode = transUni.ToPersistent();
}
private static string GenerateRandomString(int length, Random rnd)
@ -97,7 +97,7 @@ public class StringMapBenchmarks
// --- 1. BUILD ---
[Benchmark]
public PersistentMap<string, int, StandardStrategy2<string,OrdinalComparer>> Build_TransientMap_Standard()
public PersistentOrderedMap<string, int, StandardStrategy2<string,OrdinalComparer>> Build_TransientMap_Standard()
{
var map = BaseOrderedMap<string, int, StandardStrategy2<string,OrdinalComparer>>.CreateTransient(_stdStrategy);
for (int i = 0; i < _allKeys.Length; i++) map.Set(_allKeys[i], i);
@ -105,7 +105,7 @@ public class StringMapBenchmarks
}
[Benchmark]
public PersistentMap<string, int, UnicodeStrategy> Build_TransientMap_Unicode()
public PersistentOrderedMap<string, int, UnicodeStrategy> Build_TransientMap_Unicode()
{
var map = BaseOrderedMap<string, int, UnicodeStrategy>.CreateTransient(_uniStrategy);
for (int i = 0; i < _allKeys.Length; i++) map.Set(_allKeys[i], i);
@ -162,7 +162,7 @@ public class StringMapBenchmarks
{
int count = 0;
foreach (var k in _retrieveKeys)
if (_persistentMapStandard.TryGetValue(k, out _)) count++;
if (_persistentOrderedMapStandard.TryGetValue(k, out _)) count++;
return count;
}
@ -171,7 +171,7 @@ public class StringMapBenchmarks
{
int count = 0;
foreach (var k in _retrieveKeys)
if (_persistentMapUnicode.TryGetValue(k, out _)) count++;
if (_persistentOrderedMapUnicode.TryGetValue(k, out _)) count++;
return count;
}
[Benchmark]
@ -213,32 +213,32 @@ public class StringMapBenchmarks
}
[Benchmark]
public PersistentMap<string, int, StandardStrategy2<string, OrdinalComparer>> Update_PersistentMap_Standard()
public PersistentOrderedMap<string, int, StandardStrategy2<string, OrdinalComparer>> Update_PersistentMap_Standard()
{
var map = _persistentMapStandard;
var map = _persistentOrderedMapStandard;
foreach (var k in _updateKeys) map = map.Set(k, 999);
return map;
}
[Benchmark]
public PersistentMap<string, int, UnicodeStrategy> Update_PersistentMap_Unicode()
public PersistentOrderedMap<string, int, UnicodeStrategy> Update_PersistentMap_Unicode()
{
var map = _persistentMapUnicode;
var map = _persistentOrderedMapUnicode;
foreach (var k in _updateKeys) map = map.Set(k, 999);
return map;
}
[Benchmark]
public PersistentMap<string, int, StandardStrategy2<string, OrdinalComparer>> Update_TransientMap_Standard()
public PersistentOrderedMap<string, int, StandardStrategy2<string, OrdinalComparer>> Update_TransientMap_Standard()
{
var transient = _persistentMapStandard.ToTransient();
var transient = _persistentOrderedMapStandard.ToTransient();
foreach (var k in _updateKeys) transient.Set(k, 999);
return transient.ToPersistent();
}
[Benchmark]
public PersistentMap<string, int, UnicodeStrategy> Update_TransientMap_Unicode()
public PersistentOrderedMap<string, int, UnicodeStrategy> Update_TransientMap_Unicode()
{
var transient = _persistentMapUnicode.ToTransient();
var transient = _persistentOrderedMapUnicode.ToTransient();
foreach (var k in _updateKeys) transient.Set(k, 999);
return transient.ToPersistent();
}
@ -278,33 +278,33 @@ public class StringMapBenchmarks
}
[Benchmark]
public PersistentMap<string, int, StandardStrategy2<string, OrdinalComparer>> UpdateSet_PersistentMap_Standard()
public PersistentOrderedMap<string, int, StandardStrategy2<string, OrdinalComparer>> UpdateSet_PersistentMap_Standard()
{
var map = _persistentMapStandard;
var map = _persistentOrderedMapStandard;
foreach (var k in _mixedKeys) map = map.Set(k, 999);
return map;
}
[Benchmark]
public PersistentMap<string, int, UnicodeStrategy> UpdateSet_PersistentMap_Unicode()
public PersistentOrderedMap<string, int, UnicodeStrategy> UpdateSet_PersistentMap_Unicode()
{
var map = _persistentMapUnicode;
var map = _persistentOrderedMapUnicode;
foreach (var k in _mixedKeys) map = map.Set(k, 999);
return map;
}
[Benchmark]
public PersistentMap<string, int, StandardStrategy2<string, OrdinalComparer>> UpdateSet_TransientMap_Standard()
public PersistentOrderedMap<string, int, StandardStrategy2<string, OrdinalComparer>> UpdateSet_TransientMap_Standard()
{
var transient = _persistentMapStandard.ToTransient();
var transient = _persistentOrderedMapStandard.ToTransient();
foreach (var k in _mixedKeys) transient.Set(k, 999);
return transient.ToPersistent();
}
[Benchmark]
public PersistentMap<string, int, UnicodeStrategy> UpdateSet_TransientMap_Unicode()
public PersistentOrderedMap<string, int, UnicodeStrategy> UpdateSet_TransientMap_Unicode()
{
var transient = _persistentMapUnicode.ToTransient();
var transient = _persistentOrderedMapUnicode.ToTransient();
foreach (var k in _mixedKeys) transient.Set(k, 999);
return transient.ToPersistent();
}
@ -347,7 +347,7 @@ public class StringMapBenchmarks
public int Iterate_PersistentMap_Standard()
{
int sum = 0;
foreach (var kvp in _persistentMapStandard) sum += kvp.Value;
foreach (var kvp in _persistentOrderedMapStandard) sum += kvp.Value;
return sum;
}
@ -379,7 +379,7 @@ public class StringMapBenchmarks
public int Iterate_PersistentMap_Unicode()
{
int sum = 0;
foreach (var kvp in _persistentMapUnicode) sum += kvp.Value;
foreach (var kvp in _persistentOrderedMapUnicode) sum += kvp.Value;
return sum;
}
@ -394,33 +394,33 @@ public class StringMapBenchmarks
}
[Benchmark]
public PersistentMap<string, int, StandardStrategy2<string, OrdinalComparer>> Remove_PersistentMap_Standard()
public PersistentOrderedMap<string, int, StandardStrategy2<string, OrdinalComparer>> Remove_PersistentMap_Standard()
{
var map = _persistentMapStandard;
var map = _persistentOrderedMapStandard;
foreach (var k in _removeKeys) map = map.Remove(k);
return map;
}
[Benchmark]
public PersistentMap<string, int, UnicodeStrategy> Remove_PersistentMap_Unicode()
public PersistentOrderedMap<string, int, UnicodeStrategy> Remove_PersistentMap_Unicode()
{
var map = _persistentMapUnicode;
var map = _persistentOrderedMapUnicode;
foreach (var k in _removeKeys) map = map.Remove(k);
return map;
}
[Benchmark]
public PersistentMap<string, int, StandardStrategy2<string, OrdinalComparer>> Remove_TransientMap_Standard()
public PersistentOrderedMap<string, int, StandardStrategy2<string, OrdinalComparer>> Remove_TransientMap_Standard()
{
var transient = _persistentMapStandard.ToTransient();
var transient = _persistentOrderedMapStandard.ToTransient();
foreach (var k in _removeKeys) transient.Remove(k);
return transient.ToPersistent();
}
[Benchmark]
public PersistentMap<string, int, UnicodeStrategy> Remove_TransientMap_Unicode()
public PersistentOrderedMap<string, int, UnicodeStrategy> Remove_TransientMap_Unicode()
{
var transient = _persistentMapUnicode.ToTransient();
var transient = _persistentOrderedMapUnicode.ToTransient();
foreach (var k in _removeKeys) transient.Remove(k);
return transient.ToPersistent();
}