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>v7.x
committed by
Italo A. Casas
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