summaryrefslogtreecommitdiff
path: root/benchmark/buffers
diff options
context:
space:
mode:
Diffstat (limited to 'benchmark/buffers')
-rw-r--r--benchmark/buffers/buffer-copy.js19
1 files changed, 19 insertions, 0 deletions
diff --git a/benchmark/buffers/buffer-copy.js b/benchmark/buffers/buffer-copy.js
new file mode 100644
index 0000000000..164f314207
--- /dev/null
+++ b/benchmark/buffers/buffer-copy.js
@@ -0,0 +1,19 @@
+'use strict';
+const common = require('../common.js');
+
+const bench = common.createBenchmark(main, {
+ bytes: [0, 8, 128, 32 * 1024],
+ partial: ['true', 'false'],
+ n: [6e6]
+});
+
+function main({ n, bytes, partial }) {
+ const source = Buffer.allocUnsafe(bytes);
+ const target = Buffer.allocUnsafe(bytes);
+ const sourceStart = (partial === 'true' ? Math.floor(bytes / 2) : 0);
+ bench.start();
+ for (let i = 0; i < n; i++) {
+ source.copy(target, 0, sourceStart);
+ }
+ bench.end(n);
+}