Skip to content

Instantly share code, notes, and snippets.

@pilwon
Last active October 13, 2015 04:13
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pilwon/4bf8d9ace820673ca77b to your computer and use it in GitHub Desktop.
Save pilwon/4bf8d9ace820673ca77b to your computer and use it in GitHub Desktop.
react-native DependencyResolver perf test (script & full result) https://github.com/facebook/react-native/issues/361#issuecomment-87829808
var path = require('path');
var async = require('async');
var mathjs = require('mathjs');
var ReactPackager = require('react-native/packager/react-packager');
var blacklist = require('react-native/packager/blacklist');
var reactNativePackage = require('react-native/package');
var NUM_TESTS = 100;
function test() {
var reactNativeRoot = path.resolve(__dirname, 'node_modules/react-native');
var startTime = +new Date();
return ReactPackager.getDependencies({
assetRoots: [reactNativeRoot],
blacklistRE: blacklist(false),
projectRoots: [reactNativeRoot]
}, reactNativePackage.main)
.then(function () {
return +new Date() - startTime;
});
}
function main() {
var tests = [];
for (var i = 1; i <= NUM_TESTS; ++i) {
(function (i) {
tests.push(function (cb) {
test()
.then(function (time) {
console.log('Run #%d: %d ms', i, time);
cb(null, time);
})
.catch(cb);
});
}(i));
}
async.series(tests, function (err, results) {
if (err) { throw err; }
console.log('---------------');
console.log('#ofRuns: %d', results.length);
console.log('Average: %d ms', mathjs.mean(results).toFixed(1));
console.log('Median: %d ms', mathjs.median(results));
console.log('Minimum: %d ms', mathjs.min(results));
console.log('Maximum: %d ms', mathjs.max(results));
console.log('StdDev: %d ms', mathjs.std(results).toFixed(1));
});
}
main();
Run #1: 2461 ms
Run #2: 2135 ms
Run #3: 2043 ms
Run #4: 3131 ms
Run #5: 3042 ms
Run #6: 2675 ms
Run #7: 2856 ms
Run #8: 3001 ms
Run #9: 3053 ms
Run #10: 2712 ms
Run #11: 3376 ms
Run #12: 2810 ms
Run #13: 3094 ms
Run #14: 2742 ms
Run #15: 3197 ms
Run #16: 2510 ms
Run #17: 2579 ms
Run #18: 2964 ms
Run #19: 3187 ms
Run #20: 2930 ms
Run #21: 2452 ms
Run #22: 2463 ms
Run #23: 2433 ms
Run #24: 2648 ms
Run #25: 2422 ms
Run #26: 2550 ms
Run #27: 3113 ms
Run #28: 2670 ms
Run #29: 2821 ms
Run #30: 4294 ms
Run #31: 2651 ms
Run #32: 2917 ms
Run #33: 3645 ms
Run #34: 3367 ms
Run #35: 3279 ms
Run #36: 2898 ms
Run #37: 4555 ms
Run #38: 5034 ms
Run #39: 2638 ms
Run #40: 2267 ms
Run #41: 2235 ms
Run #42: 2335 ms
Run #43: 2566 ms
Run #44: 2868 ms
Run #45: 2837 ms
Run #46: 2298 ms
Run #47: 2417 ms
Run #48: 2299 ms
Run #49: 2221 ms
Run #50: 2202 ms
Run #51: 2256 ms
Run #52: 2691 ms
Run #53: 2255 ms
Run #54: 2376 ms
Run #55: 2460 ms
Run #56: 2301 ms
Run #57: 2237 ms
Run #58: 2182 ms
Run #59: 2538 ms
Run #60: 3978 ms
Run #61: 2401 ms
Run #62: 2818 ms
Run #63: 2544 ms
Run #64: 2375 ms
Run #65: 2155 ms
Run #66: 2938 ms
Run #67: 3449 ms
Run #68: 3757 ms
Run #69: 2573 ms
Run #70: 2486 ms
Run #71: 3470 ms
Run #72: 3122 ms
Run #73: 3007 ms
Run #74: 2651 ms
Run #75: 2269 ms
Run #76: 2617 ms
Run #77: 2677 ms
Run #78: 2483 ms
Run #79: 2841 ms
Run #80: 2812 ms
Run #81: 2719 ms
Run #82: 2648 ms
Run #83: 2995 ms
Run #84: 2770 ms
Run #85: 2428 ms
Run #86: 2489 ms
Run #87: 2939 ms
Run #88: 2251 ms
Run #89: 2490 ms
Run #90: 2609 ms
Run #91: 2526 ms
Run #92: 2867 ms
Run #93: 2887 ms
Run #94: 2408 ms
Run #95: 2305 ms
Run #96: 2753 ms
Run #97: 2405 ms
Run #98: 2373 ms
Run #99: 2436 ms
Run #100: 2325 ms
---------------
# Runs: 100
Average: 2742.3 ms
Median: 2648 ms
Minimum: 2043 ms
Maximum: 5034 ms
StdDev: 504.6 ms
Run #1: 4375 ms
Run #2: 4405 ms
Run #3: 4189 ms
Run #4: 4414 ms
Run #5: 4481 ms
Run #6: 4163 ms
Run #7: 4079 ms
Run #8: 6447 ms
Run #9: 4914 ms
Run #10: 4989 ms
Run #11: 4868 ms
Run #12: 4773 ms
Run #13: 4428 ms
Run #14: 4575 ms
Run #15: 4699 ms
Run #16: 4545 ms
Run #17: 5752 ms
Run #18: 5440 ms
Run #19: 5214 ms
Run #20: 5733 ms
Run #21: 5935 ms
Run #22: 5274 ms
Run #23: 4989 ms
Run #24: 4890 ms
Run #25: 6072 ms
Run #26: 5345 ms
Run #27: 6063 ms
Run #28: 4920 ms
Run #29: 4670 ms
Run #30: 4472 ms
Run #31: 4554 ms
Run #32: 4589 ms
Run #33: 4696 ms
Run #34: 5238 ms
Run #35: 5089 ms
Run #36: 5377 ms
Run #37: 4965 ms
Run #38: 4711 ms
Run #39: 4392 ms
Run #40: 6838 ms
Run #41: 5566 ms
Run #42: 5611 ms
Run #43: 4621 ms
Run #44: 5114 ms
Run #45: 5443 ms
Run #46: 5624 ms
Run #47: 4978 ms
Run #48: 4792 ms
Run #49: 4504 ms
Run #50: 5047 ms
Run #51: 5130 ms
Run #52: 5366 ms
Run #53: 7243 ms
Run #54: 6088 ms
Run #55: 4544 ms
Run #56: 4729 ms
Run #57: 4198 ms
Run #58: 4843 ms
Run #59: 4585 ms
Run #60: 4880 ms
Run #61: 4358 ms
Run #62: 4498 ms
Run #63: 4357 ms
Run #64: 5222 ms
Run #65: 4678 ms
Run #66: 6002 ms
Run #67: 4895 ms
Run #68: 4809 ms
Run #69: 4688 ms
Run #70: 5008 ms
Run #71: 4533 ms
Run #72: 4945 ms
Run #73: 5147 ms
Run #74: 4870 ms
Run #75: 5235 ms
Run #76: 5045 ms
Run #77: 5419 ms
Run #78: 4602 ms
Run #79: 4328 ms
Run #80: 4444 ms
Run #81: 4648 ms
Run #82: 4579 ms
Run #83: 4879 ms
Run #84: 4609 ms
Run #85: 4822 ms
Run #86: 4936 ms
Run #87: 5755 ms
Run #88: 4629 ms
Run #89: 5250 ms
Run #90: 7744 ms
Run #91: 4701 ms
Run #92: 4526 ms
Run #93: 4700 ms
Run #94: 4889 ms
Run #95: 6273 ms
Run #96: 5240 ms
Run #97: 5033 ms
Run #98: 5512 ms
Run #99: 4611 ms
Run #100: 4715 ms
---------------
# Runs: 100
Average: 5016 ms
Median: 4879.5 ms
Minimum: 4079 ms
Maximum: 7744 ms
StdDev: 639.8 ms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment