| 'use strict'; |
| |
| const common = require('../common.js'); |
| const assert = require('assert'); |
| const bench = common.createBenchmark(main, { |
| type: [ |
| 'fast-alloc', |
| 'fast-alloc-fill', |
| 'fast-allocUnsafe', |
| 'slow-allocUnsafe', |
| ], |
| len: [10, 1024, 4096, 8192], |
| n: [6e5] |
| }); |
| |
| function main({ len, n, type }) { |
| let fn, i; |
| switch (type) { |
| case '': |
| case 'fast-alloc': |
| fn = Buffer.alloc; |
| break; |
| case 'fast-alloc-fill': |
| bench.start(); |
| for (i = 0; i < n; i++) { |
| Buffer.alloc(len, 0); |
| } |
| bench.end(n); |
| return; |
| case 'fast-allocUnsafe': |
| fn = Buffer.allocUnsafe; |
| break; |
| case 'slow-allocUnsafe': |
| fn = Buffer.allocUnsafeSlow; |
| break; |
| default: |
| assert.fail('Should not get here'); |
| } |
| |
| bench.start(); |
| for (i = 0; i < n; i++) { |
| fn(len); |
| } |
| bench.end(n); |
| } |