dotnet add package PerfCopy --version 1.2.2
NuGet\Install-Package PerfCopy -Version 1.2.2
<PackageReference Include="PerfCopy" Version="1.2.2" />
paket add PerfCopy --version 1.2.2
#r "nuget: PerfCopy, 1.2.2"
// Install PerfCopy as a Cake Addin #addin nuget:?package=PerfCopy&version=1.2.2 // Install PerfCopy as a Cake Tool #tool nuget:?package=PerfCopy&version=1.2.2
Extension methods providing high performance deep copy capability for of arrays of common value types - currently: byte, char, short, int, long, and their unsigned brethren where applicable.
Considerably faster than Array.Copy - and it's also faster than Buffer.BlockCopy in most situations!
High-performance enabled through use of optimised 'unsafe' blocks.
This package could be a good addition to other packages if you're building in copying of some kind that would benefit from being fast.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on PerfCopy:
High performance classic ring/circular buffer (with optional .NET BCL System.IO.Stream interface) for byte data. Packaged as a portable class library (PCL). Asynchronous I/O from streams is supported to boost performance. Supports concurrent reading and writing, and overwriting (optional).
A set of extension methods for doing bitwise manipulation such as endianness (bytes<-->integral types) and rotation. Endianness-related functionality: short, ushort, int, uint, long, ulong : conversion between (to and from) individual items of these and byte arrays, and between arrays of any of these (UInt32, for example) and byte arrays. Little and big-endian methods exist at feature and/or type parity. Rotation-related functionality: byte, short, ushort, int, uint, long, ulong : left and right bitwise circular rotation ("rotate no carry"). Please note: the rotation implemented here is NOT "rotate through carry"! As such, sign is NOT handled specially for signed types. Endianness conversions operating on multiple values (bulk operations) are performance-enhanced with optimised 'unsafe' implementations. They are considerably faster than comparable operations provided by the BCL.
This package is not used by any popular GitHub repositories.
Simplified the high-performance copy implementation, may run faster on many CPUs.