Socket
Socket
Sign inDemoInstall

memcpy

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

memcpy - npm Package Compare versions

Comparing version 0.1.0 to 0.2.0

2

package.json
{
"name": "memcpy",
"version": "0.1.0",
"version": "0.2.0",
"author": "Daniel Wirtz <dcode@dcode.io>",

@@ -5,0 +5,0 @@ "description": "Copies data between node Buffers and/or ArrayBuffers up to ~75 times faster than in pure JS.",

@@ -12,14 +12,2 @@ node-memcpy

```
|_ _ _|_
|_(-_)|_ test.js v1.0.0
i memcpy.interop > cc Buffer -> Buffer
i memcpy.interop > cc Buffer -> ArrayBuffer
i memcpy.interop > cc ArrayBuffer -> Buffer
i memcpy.interop > cc ArrayBuffer -> ArrayBuffer
i memcpy.interop > js Buffer -> Buffer
i memcpy.interop > js Buffer -> ArrayBuffer
i memcpy.interop > js ArrayBuffer -> Buffer
i memcpy.interop > js ArrayBuffer -> ArrayBuffer
+ memcpy.interop 5.430 ms 48 assertions
i memcpy.100k > cc Buffer -> Buffer: 22.222ms

@@ -29,2 +17,3 @@ i memcpy.100k > cc Buffer -> ArrayBuffer: 23.548ms

i memcpy.100k > cc ArrayBuffer -> ArrayBuffer: 21.778ms
i memcpy.100k > js Buffer -> Buffer: 23.163ms

@@ -34,5 +23,2 @@ i memcpy.100k > js Buffer -> ArrayBuffer: 1043.713ms

i memcpy.100k > js ArrayBuffer -> ArrayBuffer: 1607.978ms
+ memcpy.100k 3773.234 ms 0 assertions
test OK 2 tests (3780.560 ms, 48 assertions)
```

@@ -53,2 +39,11 @@

API
---
```js
var memcpy = require("memcpy"), // C++ binding if available, else native JS
memcpy_binding = memcpy.binding, // C++ binding or NULL if not available
memcpy_native = memcpy.native; // Native JS
...
```
Please keep in mind that - besides the nice numbers - this is still to be considered experimental. I'd love if you'd

@@ -55,0 +50,0 @@ review the C++ code to validate that it's safe. I can't yet think about a sane use case, though, as just sticking with

@@ -53,2 +53,25 @@ function fill(buf) {

"overlap": function(test) {
[memcpy.binding, memcpy.native].forEach(function(memcpy) {
[Buffer, ArrayBuffer].forEach(function(Type) {
var b = new Type(8);
test.log((memcpy === memcpy.binding ? "cc".cyan : "js".green)+" "+b.constructor.name);
fill(b);
test.strictEqual(hex(b), "0123456789ABCDEF");
memcpy(b, 1, b, 4, 7);
test.strictEqual(hex(b), "0189ABCD89ABCDEF");
fill(b);
memcpy(b, b);
test.strictEqual(hex(b), "0123456789ABCDEF");
fill(b);
memcpy(b, b, 4);
test.strictEqual(hex(b), "89ABCDEF89ABCDEF");
fill(b);
memcpy(b, 4, b, 0, 4);
test.strictEqual(hex(b), "0123456701234567");
});
});
test.done();
},
"100k": function(test) {

@@ -55,0 +78,0 @@ [memcpy.binding, memcpy.native].forEach(function(memcpy) {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc