ImTools
ImTools copied to clipboard
Fast and memory-efficient immutable collections and helper data structures
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...
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...
# 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: ...
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 -...