ImTools icon indicating copy to clipboard operation
ImTools copied to clipboard

Fast and memory-efficient immutable collections and helper data structures

Results 13 ImTools issues
Sort by recently updated
recently updated
newest added

The Branch2 thing at the right with small right leaf but full left leaf: ```mermaid graph TD L5_21030449(`21030449`,`21637`,`21637`/`131778175`,`24995`,`24995`/`221540030`,`53169`,`53169`/`507310657`,`41691`,`41691`/`631038222`,`80976`,`80976`) L5P_364635560>`364635560`,`94562`,`94562`]-->L5_21030449 L5_761574385(`761574385`,`33461`,`33461`/`1049478692`,`15842`,`15842`/`1278461947`,`61688`,`61688`/`1593872025`,`54708`,`54708`/`2037997398`,`34187`,`34187`) L5P_848679699>`848679699`,`7046`,`7046`]-->L5_761574385 L5PP_752405386>`752405386`,`56521`,`56521`]-->L5P_848679699 B2_648516453[`648516453`,`21318`,`21318`]-->L5P_364635560 B2_648516453-->L5PP_752405386 ```

Did some view onto, hope you find some useful. https://github.com/dadhi/ImTools/blob/56b7f53a784c3843e4299658592d7b9340153fbc/src/ImTools/ImTools.cs#L534 Also it is public, it may deliver some caveats to possible users: 1. Spin probably should yield for better CPU...

quality-testing

Currently it uses HammingWeight algorithm for calculating number of set bits in a int value: https://bitbucket.org/dadhi/dryioc/src/e788ffce78b727b35fda5355a2297d40f0e7731b/Net45/Playground/HashArrayMappedTrieTests.cs#lines-190 Here is the thing Aye, that's there `System.Runtime.Intrinsics.X86.PopCount(uint/ulong)` First step will to BDN benchmark...

help wanted
experiment

enhancement
help wanted

# Span As I understand ArrayTools consider arrays as immutable(while .NET devs have build Spans for arrays to be really immutable), may try to apply https://github.com/dadhi/ImTools/blob/56b7f53a784c3843e4299658592d7b9340153fbc/src/ImTools/ImTools.cs#L48 https://msdn.microsoft.com/en-us/magazine/mt814808.aspx?f=255&MSPPError=-2147217396 (these are only...

KV is not .NET/BCL. Even for newest nugets for .NET do not do such things. How would enterprise developer add reference to this assembly?

Hello, for my specific project I should be able to use `int` type as key, therefore I decided to compare ImHashMap and MemoryOwner and what I got surprised me: ![ImToolsVsMemoryOwner](https://github.com/dadhi/ImTools/assets/63934725/b2d16939-922c-4bcb-aa77-e1253b5bf0da)...

I want a fast, configurable for the small sizes and less-allocating variant of HashMap in comparison with Dictionary and [DictionarySlim](https://github.com/dotnet/corefxlab/blob/archive/src/Microsoft.Experimental.Collections/Microsoft/Collections/Extensions/DictionarySlim.cs). Alternative implementation to look for and compare: - https://github.com/Wsm2110/Faster.Map -...

enhancement