JustCRC32C 1.0.1
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package JustCRC32C --version 1.0.1
NuGet\Install-Package JustCRC32C -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="JustCRC32C" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add JustCRC32C --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: JustCRC32C, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install JustCRC32C as a Cake Addin
#addin nuget:?package=JustCRC32C&version=1.0.1
// Install JustCRC32C as a Cake Tool
#tool nuget:?package=JustCRC32C&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Just-CRC32C
Just a simple and fast CRC32C Wrapper with hardware acceleration.
The library overall is licensed under LGPLv3, so you can use it in a propriatary project, as long as you do not change the library itsef!
Software-fallback is taken from: here and Licensed under MIT License and improved by a tiny bit.
Benchmark results:
BenchmarkDotNet=v0.13.3, OS=Windows 10 (10.0.19044.2364/21H2/November2021Update)
AMD Ryzen 5 5600X, 1 CPU, 12 logical and 6 physical cores
.NET SDK=6.0.402
[Host] : .NET 6.0.12 (6.0.1222.56807), X64 RyuJIT AVX2
Job-BYMXXN : .NET 6.0.12 (6.0.1222.56807), X64 RyuJIT AVX2
Runtime=.NET 6.0 RunStrategy=Throughput
Method | Arrays | Mean | Error | StdDev | Ratio | RatioSD |
---|---|---|---|---|---|---|
JustCrc32C_HardwareX64 | big a(...)ytes) [41] | 330,226.069 μs | 5,736.6919 μs | 4,790.3975 μs | 1.00 | 0.00 |
JustCrc32C_Hardware | big a(...)ytes) [41] | 629,052.193 μs | 9,892.7473 μs | 9,253.6820 μs | 1.90 | 0.05 |
JustCrc32C_Software | big a(...)ytes) [41] | 1,668,792.867 μs | 22,200.8505 μs | 20,766.6893 μs | 5.04 | 0.11 |
Crc32_dot_NET | big a(...)ytes) [41] | 1,671,624.007 μs | 15,321.7433 μs | 14,331.9682 μs | 5.05 | 0.09 |
JustCrc32C_HardwareX64 | mediu(...)ytes) [44] | 26,340.056 μs | 430.1118 μs | 402.3269 μs | 1.00 | 0.00 |
JustCrc32C_Hardware | mediu(...)ytes) [44] | 50,136.805 μs | 807.4380 μs | 674.2473 μs | 1.91 | 0.05 |
JustCrc32C_Software | mediu(...)ytes) [44] | 133,309.879 μs | 1,613.7295 μs | 1,430.5292 μs | 5.07 | 0.10 |
Crc32_dot_NET | mediu(...)ytes) [44] | 133,926.738 μs | 1,478.0324 μs | 1,382.5524 μs | 5.09 | 0.11 |
JustCrc32C_HardwareX64 | small(...)ytes) [37] | 248.442 μs | 4.0474 μs | 3.7860 μs | 1.00 | 0.00 |
JustCrc32C_Hardware | small(...)ytes) [37] | 493.948 μs | 7.9443 μs | 7.4311 μs | 1.99 | 0.03 |
JustCrc32C_Software | small(...)ytes) [37] | 1,327.410 μs | 13.9663 μs | 13.0641 μs | 5.34 | 0.10 |
Crc32_dot_NET | small(...)ytes) [37] | 1,336.333 μs | 20.3987 μs | 19.0809 μs | 5.38 | 0.12 |
JustCrc32C_HardwareX64 | small(...)ytes) [49] | 2,592.696 μs | 32.4776 μs | 30.3796 μs | 1.00 | 0.00 |
JustCrc32C_Hardware | small(...)ytes) [49] | 5,028.597 μs | 86.9979 μs | 81.3779 μs | 1.94 | 0.03 |
JustCrc32C_Software | small(...)ytes) [49] | 13,351.273 μs | 180.4138 μs | 159.9322 μs | 5.15 | 0.08 |
Crc32_dot_NET | small(...)ytes) [49] | 13,440.784 μs | 154.0398 μs | 144.0889 μs | 5.18 | 0.08 |
JustCrc32C_HardwareX64 | small(...)ytes) [38] | 24.800 μs | 0.3488 μs | 0.3263 μs | 1.00 | 0.00 |
JustCrc32C_Hardware | small(...)ytes) [38] | 50.105 μs | 0.4064 μs | 0.3801 μs | 2.02 | 0.03 |
JustCrc32C_Software | small(...)ytes) [38] | 132.803 μs | 1.1026 μs | 1.0314 μs | 5.36 | 0.09 |
Crc32_dot_NET | small(...)ytes) [38] | 133.919 μs | 1.2902 μs | 1.0774 μs | 5.41 | 0.07 |
JustCrc32C_HardwareX64 | tiny (...)ytes) [27] | 2.335 μs | 0.0301 μs | 0.0282 μs | 1.00 | 0.00 |
JustCrc32C_Hardware | tiny (...)ytes) [27] | 4.284 μs | 0.0621 μs | 0.0581 μs | 1.83 | 0.03 |
JustCrc32C_Software | tiny (...)ytes) [27] | 16.036 μs | 0.2534 μs | 0.2370 μs | 6.87 | 0.14 |
Crc32_dot_NET | tiny (...)ytes) [27] | 16.510 μs | 0.1651 μs | 0.1544 μs | 7.07 | 0.12 |
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETCoreApp 3.1
- No dependencies.
-
net5.0
- No dependencies.
-
net6.0
- No dependencies.
-
net7.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on JustCRC32C:
Package | Downloads |
---|---|
TonSdk.Core
Core library with types and structures for TON Blockchain |
GitHub repositories
This package is not used by any popular GitHub repositories.