Skip to content

Blosc (byteshuffle, zstd, lz4, zip), mimalloc and CPU core id (sched_getcpu) native methods for .NET Standard 2.0

License

Notifications You must be signed in to change notification settings

Spreads/Spreads.Native

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Native compression

Spreads.Native.Compression class exposes methods from Blosc:

  • SIMD-optimized shuffle/unshuffle.
  • Compression: LZ4, Zstd, Zlib/GZip/Deflate compression/decompression. Currently works on Windows x64/x86 and Linux x64 (tested on WSL & Docker Ubuntu). Targets netstandard2.0.

Mimalloc

Full mimalloc API in .NET.

Cpu.GetCurrentCoreId method

Equivalent of Thread.GetCurrentProcessorId method, but which works on .NET Standard 2.0 and guarantees that the returned value could be used directly as an index in arrays with Cpu.CoreCount length. This allows to avoid expensive modulo operation in the most common use cases of per-core data structures.

License

MPL 2.0. See the license file and third-party licenses.