| 'use strict'; |
| |
| const os = require('os'); |
| const common = require('../common.js'); |
| const assert = require('assert'); |
| |
| const uptime = os.uptime; |
| |
| const bench = common.createBenchmark(main, { |
| n: [1e5], |
| }); |
| |
| function main({ n }) { |
| if (os.type() === 'OS400') { |
| console.log('Skipping: os.uptime is not implemented on IBMi'); |
| process.exit(0); |
| } |
| |
| // Warm up. |
| const length = 1024; |
| const array = []; |
| for (let i = 0; i < length; ++i) { |
| array.push(uptime()); |
| } |
| |
| bench.start(); |
| for (let i = 0; i < n; ++i) { |
| const index = i % length; |
| array[index] = uptime(); |
| } |
| bench.end(n); |
| |
| // Verify the entries to prevent dead code elimination from making |
| // the benchmark invalid. |
| for (let i = 0; i < length; ++i) { |
| assert.strictEqual(typeof array[i], 'number'); |
| } |
| } |