JustCRC32C 1.0.1
.NET 5.0
This package targets .NET 5.0. The package is compatible with this framework or higher.
.NET Core 3.1
This package targets .NET Core 3.1. The package is compatible with this framework or higher.
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 (3)
Showing the top 3 NuGet packages that depend on JustCRC32C:
Package | Downloads |
---|---|
TonSdk.Core
Core library with types and structures for TON Blockchain |
|
TonSdk.Connect
Library that allows to interact with Ton Connect 2.0 |
|
Qwer.TonSdk.Core
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.