Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. 'use strict';
  2.  
  3. var async = require('async');
  4. var dependency = require('bloomrun');
  5. var tests = require('./tests');
  6.  
  7. function measure (test) {
  8. return function (i, done) {
  9. var time = process.hrtime();
  10. test(err => done(err, process.hrtime(time)));
  11. };
  12. }
  13.  
  14. function benchmark (tests, amount, dependency) {
  15. return tests.map((test) => {
  16. var bench = measure(test(dependency));
  17. return done => async.timesSeries(amount, bench, done);
  18. });
  19. }
  20.  
  21. function microsecs (hrtime) {
  22. return hrtime[0] * 1000000 + hrtime[1] / 1000;
  23. }
  24.  
  25. function deepMap (fn, values) {
  26. return values.map((series) => series.map(fn));
  27. }
  28.  
  29. var amount = 5000;
  30. var series = benchmark(tests, amount, dependency);
  31. async.parallel(series, results);
  32.  
  33. function results (err, res) {
  34. if (err) throw err;
  35. console.log(deepMap(microsecs, res));
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement