Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
d9f3565
rename old SmallMap to HSmallMap for bm with new SmallMap from FEC
dadhi Jun 4, 2025
174197b
updating for the net9.0
dadhi Jun 8, 2025
9ef1bc1
adding padding for dia and resize
dadhi Jun 8, 2025
6f87d33
copying the hashes to the padding in the insert
dadhi Jun 8, 2025
d0b17a8
adding padding in resize
dadhi Jun 8, 2025
3b33a11
experiments
dadhi Jun 9, 2025
99d19e9
experiment FHM11 failed
dadhi Jun 10, 2025
8f26b0e
remove bm things
dadhi Jun 10, 2025
3fb0d53
@wip APL aproach in FHM11
dadhi Jun 18, 2025
cea1a77
fixes
dadhi Jun 18, 2025
952fa26
simd is 3x slower then scalar
dadhi Jun 23, 2025
66f3582
new FEC SmallMap with fixes and first test passing
dadhi Jul 6, 2025
afe6c01
small improve
dadhi Jul 7, 2025
80f86b2
disable the Ubunt and MacOS builds because of strange UnscopedRefAttr…
dadhi Jul 7, 2025
2dbb480
ensuring the not 0 hash
dadhi Jul 8, 2025
0754733
small things
dadhi Jul 9, 2025
afe0237
bms
dadhi Jul 9, 2025
c1e40d8
add separate probes array to simplify things
dadhi Jul 13, 2025
7c9263b
added diagnostics and GoldenRatioRefEq
dadhi Jul 21, 2025
9771dd3
@wip probes go to their own array + padding + wrapping
dadhi Jul 29, 2025
a5b6a6d
fixed the tests
dadhi Jul 29, 2025
af3540d
simplify extension methods by split of Map interfaces to IMap and IMa…
dadhi Jul 30, 2025
9446b21
simplify things
dadhi Jul 30, 2025
3befe9e
enable more Verify
dadhi Jul 30, 2025
14dd2ad
cleanup diagnostics and improve Resize
dadhi Jul 31, 2025
fbcd177
cleanup
dadhi Jul 31, 2025
a9b9c9c
added StableArrayEntries and @wip with Lookup SIMD
dadhi Aug 17, 2025
0ca39b2
fix ci
dadhi Aug 17, 2025
f40364b
cleanup SIMD
dadhi Aug 17, 2025
b3766c1
using StableArrayEntries
dadhi Aug 17, 2025
940138d
fix ci
dadhi Aug 18, 2025
38c2925
added GetNextPowerOfTwoFast; cleanup
dadhi Aug 18, 2025
33bc26b
add IEntries.Count and remove index param from IEntries.AddDefaultOrG…
dadhi Aug 18, 2025
49a1ef5
fix ci
dadhi Aug 18, 2025
efe0519
using Capacity instead of CapacityBitShift
dadhi Aug 19, 2025
07302c7
@wip does not work
dadhi Aug 20, 2025
a58c623
@wip packing
dadhi Sep 12, 2025
0a74401
@wip xar
dadhi Sep 14, 2025
5ef99cb
more tests passed
dadhi Sep 16, 2025
f03bad4
all tests passing
dadhi Sep 16, 2025
01b053b
small things
dadhi Sep 16, 2025
87adf1a
add IEntries.Init(...,initializeCountTo=0)
dadhi Sep 17, 2025
758fb1e
scrt commit
dadhi Sep 18, 2025
23557a4
generalize and simplify IEntries<K, TEntry> to IGrowingArray<T>
dadhi Sep 18, 2025
d5d913c
renaming to StableSegmentedArray
dadhi Sep 18, 2025
e37f35a
move IGrowingArray and impls out of the SmallMap
dadhi Sep 18, 2025
541c565
new optimized resize for map; new tests for the map
dadhi Oct 4, 2026
2b79559
update .net targets and slnx
dadhi Oct 5, 2026
5abb1e8
bmed the SmallMap vs HSmallMap - replacing the Grr with SingleArrayEn…
dadhi Oct 5, 2026
fe9ee6b
updating the bm for hsmallmap vs smallmap -> tbd use ints meta single…
dadhi Oct 5, 2026
088d625
simplify InitDoNotCheckCapacity
dadhi Oct 18, 2026
11e28a4
simplier calculation of segment index
dadhi Oct 18, 2026
438be8b
inlining GetSegmentIndex
dadhi Oct 18, 2026
44730ea
fixes abd ideas like GrrPowerOf2 and not
dadhi Oct 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: CI

on:
push:
branches: [ master, main ]
pull_request:

jobs:
build-test:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4
with:
dotnet-version: |
8.0.x
10.0.x
11.0.x
dotnet-quality: preview
- name: Build
run: dotnet build ImTools.slnx -c Release -p:DevMode=false
- name: Test
run: dotnet test --no-build -c Release -p:DevMode=false test/ImTools.UnitTests/ImTools.UnitTests.csproj
- name: Pack
run: BuildScripts\NugetPack.bat
- uses: actions/upload-artifact@v4
with:
name: packages
path: .dist/packages/*.nupkg
6 changes: 5 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
{
"cSpell.words": [
"Aval",
"Bval",
"cref",
"Cval",
"Hasher",
"langword",
"mentries",
Expand All @@ -11,5 +14,6 @@
],
"files.watcherExclude": {
"**/target": true
}
},
"dotnet.defaultSolution": "ImTools.slnx"
}
107 changes: 0 additions & 107 deletions ImTools.sln

This file was deleted.

32 changes: 32 additions & 0 deletions ImTools.slnx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<Solution>
<Folder Name="/BuildScripts/">
<File Path="BuildScripts/NuGetPack.bat" />
<File Path="BuildScripts/NuGetPublish.bat" />
</Folder>
<Folder Name="/nuspecs/">
<File Path="nuspecs/ImTools.nuspec" />
</Folder>
<Folder Name="/playground/">
<File Path="playground/Directory.Build.props" />
<Project Path="playground/Experiments/Experiments.csproj" />
<Project Path="playground/ImTools.Benchmarks/ImTools.Benchmarks.csproj" />
<Project Path="playground/ImTools.SimpleDIPlayground/ImTools.SimpleDIPlayground.csproj" />
<Project Path="playground/ImTools.UnionCsVsFsBenchmarks/ImTools.UnionCsVsFsBenchmarks.fsproj" />
<Project Path="playground/ImTools.UnionPlayground/ImTools.UnionPlayground.csproj" />
</Folder>
<Folder Name="/Solution Items/">
<File Path=".editorconfig" />
<File Path="build.bat" />
<File Path=".github/workflows/ci.yml" />
<File Path="Directory.Build.props" />
<File Path="README.md" />
</Folder>
<Folder Name="/src/">
<File Path="src/Directory.Build.props" />
<Project Path="src/ImTools/ImTools.csproj" />
</Folder>
<Folder Name="/test/">
<File Path="test/Directory.Build.props" />
<Project Path="test/ImTools.UnitTests/ImTools.UnitTests.csproj" />
</Folder>
</Solution>
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Initially split from the [DryIoc](https://github.com/dadhi/dryioc), and now used

[![license](https://img.shields.io/github/license/dadhi/ImTools.svg)](http://opensource.org/licenses/MIT)

- Windows, Linux, MacOS [![CI build](https://ci.appveyor.com/api/projects/status/el9echuqfnl86u53?svg=true)](https://ci.appveyor.com/project/MaksimVolkau/imtools/branch/master)
- Windows, Linux, MacOS [![CI build](https://github.com/dadhi/ImTools/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/dadhi/ImTools/actions/workflows/ci.yml)
- Lib package [![NuGet Version](https://img.shields.io/nuget/v/ImTools.dll)](https://www.nuget.org/packages/ImTools.dll)![NuGet Downloads](https://img.shields.io/nuget/dt/ImTools.dll)
- Code package [![NuGet Version](https://img.shields.io/nuget/v/ImTools)](https://www.nuget.org/packages/ImTools)![NuGet Downloads](https://img.shields.io/nuget/dt/ImTools)
- Latest release [![latest release](https://img.shields.io/badge/latest%20release-v4.0.0-green)](https://github.com/dadhi/ImTools/releases/tag/v4.0.0)
Expand Down
25 changes: 0 additions & 25 deletions appveyor.yml

This file was deleted.

2 changes: 1 addition & 1 deletion b.bat
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ echo:## Starting: RESTORE and BUILD...
echo:

dotnet clean -v:m
dotnet build -c:Release -v:m
dotnet build ImTools.slnx -c:Release -v:m
if %ERRORLEVEL% neq 0 goto :error

echo:
Expand Down
4 changes: 2 additions & 2 deletions bd.bat
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ echo:## Starting: RESTORE and BUILD...
echo:

dotnet clean -v:m
dotnet build -c:Release -v:m
dotnet build ImTools.slnx -c:Release -v:m -p:DevMode=true
if %ERRORLEVEL% neq 0 goto :error

echo:
Expand All @@ -15,7 +15,7 @@ echo:
echo:## Starting: TESTS...
echo:

dotnet test --no-build -c Release test/ImTools.UnitTests/ImTools.UnitTests.csproj
dotnet test --no-build -c Release -p:DevMode=true test/ImTools.UnitTests/ImTools.UnitTests.csproj
if %ERRORLEVEL% neq 0 goto :error

echo:
Expand Down
2 changes: 1 addition & 1 deletion bm.bat
Original file line number Diff line number Diff line change
@@ -1 +1 @@
dotnet run -f net8.0 -c Release --project playground\ImTools.Benchmarks
dotnet run -f net10.0 -c Release --project playground\ImTools.Benchmarks
2 changes: 1 addition & 1 deletion build.bat
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ echo:## Starting: RESTORE and BUILD...
echo:

dotnet clean -v:m
dotnet build -c:Release -v:m -p:DevMode=false
dotnet build ImTools.slnx -c:Release -v:m -p:DevMode=false
if %ERRORLEVEL% neq 0 goto :error

echo:
Expand Down
2 changes: 1 addition & 1 deletion build_with_packaging.bat
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ echo:## Starting: RESTORE and BUILD...
echo:

dotnet clean -v:m
dotnet build -c:Release -p:DevMode=false -v:m
dotnet build ImTools.slnx -c:Release -p:DevMode=false -v:m
if %ERRORLEVEL% neq 0 goto :error

echo:
Expand Down
5 changes: 2 additions & 3 deletions playground/Experiments/Experiments.csproj
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<TargetFrameworks Condition="'$(DevMode)' == 'true'">net8.0</TargetFrameworks>
<TargetFrameworks Condition="'$(DevMode)' != 'true'">net8.0;net6.0;net472</TargetFrameworks>
<TargetFrameworks Condition="'$(CILinux)' == 'true'">net7.0</TargetFrameworks>
<TargetFrameworks Condition="'$(DevMode)' == 'true'">net11.0;net10.0;net8.0</TargetFrameworks>
<TargetFrameworks Condition="'$(DevMode)' != 'true'">net11.0;net10.0;net8.0;net472</TargetFrameworks>
<NoWarn>1701;1702;AD0001;NU1608</NoWarn>
</PropertyGroup>

Expand Down
Loading
Loading