mirror of https://github.com/lukechilds/node.git
Browse Source
Introduce benchmarks for vm.runInContext() and vm.runInThisContext(). PR-URL: https://github.com/nodejs/node/pull/10816 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Brian White <mscdex@mscdex.net>v6
committed by
James M Snell
2 changed files with 61 additions and 0 deletions
@ -0,0 +1,32 @@ |
|||
'use strict'; |
|||
|
|||
const common = require('../common.js'); |
|||
|
|||
const bench = common.createBenchmark(main, { |
|||
n: [1], |
|||
breakOnSigint: [0, 1], |
|||
withSigintListener: [0, 1] |
|||
}); |
|||
|
|||
const vm = require('vm'); |
|||
|
|||
function main(conf) { |
|||
const n = +conf.n; |
|||
const options = conf.breakOnSigint ? {breakOnSigint: true} : {}; |
|||
const withSigintListener = !!conf.withSigintListener; |
|||
|
|||
process.removeAllListeners('SIGINT'); |
|||
if (withSigintListener) |
|||
process.on('SIGINT', () => {}); |
|||
|
|||
var i = 0; |
|||
|
|||
const contextifiedSandbox = vm.createContext(); |
|||
|
|||
common.v8ForceOptimization(vm.runInContext, |
|||
'0', contextifiedSandbox, options); |
|||
bench.start(); |
|||
for (; i < n; i++) |
|||
vm.runInContext('0', contextifiedSandbox, options); |
|||
bench.end(n); |
|||
} |
@ -0,0 +1,29 @@ |
|||
'use strict'; |
|||
|
|||
const common = require('../common.js'); |
|||
|
|||
const bench = common.createBenchmark(main, { |
|||
n: [1], |
|||
breakOnSigint: [0, 1], |
|||
withSigintListener: [0, 1] |
|||
}); |
|||
|
|||
const vm = require('vm'); |
|||
|
|||
function main(conf) { |
|||
const n = +conf.n; |
|||
const options = conf.breakOnSigint ? {breakOnSigint: true} : {}; |
|||
const withSigintListener = !!conf.withSigintListener; |
|||
|
|||
process.removeAllListeners('SIGINT'); |
|||
if (withSigintListener) |
|||
process.on('SIGINT', () => {}); |
|||
|
|||
var i = 0; |
|||
|
|||
common.v8ForceOptimization(vm.runInThisContext, '0', options); |
|||
bench.start(); |
|||
for (; i < n; i++) |
|||
vm.runInThisContext('0', options); |
|||
bench.end(n); |
|||
} |
Loading…
Reference in new issue