| // Copyright 2015 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| new BenchmarkSuite('Closures', [1000], [ |
| new Benchmark('ShortLivingClosures', false, false, 0, |
| ShortLivingClosures, ShortLivingClosuresSetup, ShortLivingClosuresTearDown) |
| // ---------------------------------------------------------------------------- |
| // The pattern is this example is very common in Node.js. |
| readFile: function(filename, cb) { |
| function printLength (filename) { |
| fs.readFile(filename, foo); |
| function foo (err, buf) { |
| for (var j = 0; j<1000; j++) { |
| // Do some work to make the optimization actually worth while |
| function ShortLivingClosuresSetup() {} |
| function ShortLivingClosures() { |
| result = printLength('foo_bar.js'); |
| function ShortLivingClosuresTearDown() { |