Created
August 5, 2011 00:24
-
-
Save brianmcd/1126653 to your computer and use it in GitHub Desktop.
Contextify Performance
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Results from running test/jsdom/leak.js on brianmcd's fork of JSDOM which uses Contextify. | |
node --trace-gc leak.js | |
Scavenge 2.6 -> 2.3 MB, 1 ms. | |
Mark-sweep 3.5 -> 2.8 MB, 3 ms. | |
Scavenge 4.4 -> 3.9 MB, 0 ms. | |
Scavenge 5.9 -> 5.0 MB, 1 ms. | |
Mark-sweep 7.0 -> 4.8 MB, 10 ms. | |
Mark-sweep 8.7 -> 7.2 MB, 10 ms. | |
Mark-sweep 14.2 -> 9.8 MB, 16 ms. | |
Mark-sweep 16.8 -> 9.8 MB, 16 ms. | |
Mark-compact 16.8 -> 9.8 MB, 35 ms. | |
Mark-sweep 21.4 -> 16.8 MB, 26 ms. | |
Mark-sweep 27.0 -> 11.2 MB, 21 ms. | |
Mark-compact 22.9 -> 13.0 MB, 46 ms. | |
Mark-sweep 25.4 -> 12.4 MB, 22 ms. | |
Mark-compact 24.0 -> 19.4 MB, 63 ms. | |
Mark-sweep 32.9 -> 13.5 MB, 25 ms. | |
Mark-compact 26.1 -> 13.0 MB, 47 ms. | |
Mark-sweep 25.4 -> 12.4 MB, 21 ms. | |
Mark-compact 24.0 -> 19.4 MB, 63 ms. | |
Mark-sweep 32.9 -> 13.5 MB, 25 ms. | |
Mark-compact 26.1 -> 13.0 MB, 46 ms. | |
Mark-sweep 25.4 -> 12.4 MB, 22 ms. | |
Mark-compact 24.0 -> 19.4 MB, 62 ms. | |
Mark-sweep 32.9 -> 13.5 MB, 26 ms. | |
Mark-compact 26.1 -> 13.0 MB, 46 ms. | |
Mark-sweep 25.4 -> 12.4 MB, 22 ms. | |
Mark-compact 24.0 -> 19.4 MB, 64 ms. | |
Mark-sweep 32.9 -> 13.5 MB, 26 ms. | |
Mark-compact 26.1 -> 13.0 MB, 47 ms. | |
Mark-sweep 25.4 -> 12.4 MB, 22 ms. | |
Mark-compact 24.0 -> 19.4 MB, 62 ms. | |
Mark-sweep 33.0 -> 13.5 MB, 25 ms. | |
Mark-compact 26.1 -> 13.0 MB, 47 ms. | |
Mark-sweep 25.4 -> 12.4 MB, 22 ms. | |
Mark-compact 24.1 -> 18.1 MB, 59 ms. | |
Mark-sweep 31.2 -> 13.0 MB, 24 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.0 -> 16.8 MB, 26 ms. | |
Mark-sweep 29.9 -> 13.0 MB, 24 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.0 -> 19.4 MB, 29 ms. | |
Mark-sweep 32.5 -> 13.0 MB, 26 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.0 -> 19.4 MB, 29 ms. | |
Mark-sweep 32.5 -> 13.0 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.0 -> 18.1 MB, 28 ms. | |
Mark-sweep 31.2 -> 13.0 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.0 -> 19.4 MB, 29 ms. | |
Mark-sweep 32.5 -> 13.0 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.1 -> 19.4 MB, 29 ms. | |
Mark-sweep 32.5 -> 13.0 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.0 -> 19.4 MB, 29 ms. | |
Mark-sweep 32.5 -> 13.0 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.1 -> 19.4 MB, 29 ms. | |
Mark-sweep 32.5 -> 13.0 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.1 -> 19.4 MB, 29 ms. | |
Mark-sweep 32.6 -> 13.1 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.1 -> 19.4 MB, 32 ms. | |
Mark-sweep 32.6 -> 13.1 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.1 -> 19.4 MB, 29 ms. | |
Mark-sweep 32.6 -> 13.1 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.1 -> 19.5 MB, 29 ms. | |
Mark-sweep 32.6 -> 13.1 MB, 25 ms. | |
Mark-compact 25.4 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.1 -> 18.2 MB, 28 ms. | |
Mark-sweep 31.3 -> 13.1 MB, 25 ms. | |
Mark-compact 25.5 -> 12.4 MB, 44 ms. | |
Mark-sweep 24.1 -> 19.5 MB, 29 ms. | |
Mark-sweep 32.4 -> 12.9 MB, 25 ms. | |
Mark-compact 24.5 -> 12.3 MB, 44 ms. | |
Mark-sweep 24.9 -> 13.1 MB, 23 ms. | |
Mark-sweep 25.5 -> 12.4 MB, 22 ms. | |
Mark-compact 24.1 -> 18.2 MB, 60 ms. | |
Mark-sweep 31.3 -> 13.1 MB, 25 ms. | |
Mark-compact 25.4 -> 12.3 MB, 44 ms. | |
Mark-sweep 24.0 -> 18.1 MB, 28 ms. | |
Mark-sweep 31.1 -> 13.0 MB, 24 ms. | |
Mark-compact 25.3 -> 12.3 MB, 44 ms. | |
Mark-sweep 24.0 -> 18.1 MB, 27 ms. | |
Mark-sweep 31.1 -> 13.0 MB, 25 ms. | |
Mark-compact 25.3 -> 12.3 MB, 44 ms. | |
Mark-sweep 24.0 -> 18.1 MB, 28 ms. | |
Mark-sweep 31.1 -> 13.0 MB, 25 ms. | |
Mark-compact 25.3 -> 12.3 MB, 44 ms. | |
Mark-sweep 24.0 -> 18.1 MB, 28 ms. | |
Mark-sweep 31.1 -> 13.0 MB, 25 ms. | |
Mark-compact 25.3 -> 12.3 MB, 44 ms. | |
Mark-sweep 24.0 -> 19.3 MB, 29 ms. | |
Mark-sweep 32.4 -> 13.0 MB, 25 ms. | |
Mark-compact 25.3 -> 12.3 MB, 44 ms. | |
^C |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This was run on brianmcd's fork of JSDOM which uses Contextify. | |
var fs = require('fs'); | |
var jsdom = require('./lib/jsdom'); | |
var jQuery = fs.readFileSync('jquery-1.6.2.js'); | |
var html = fs.readFileSync('index.html'); | |
var doc = jsdom.jsdom(html); | |
var window = doc.defaultView; | |
var start = Date.now(); | |
window.run(jQuery, 'jquery-1.6.2.js'); | |
for (var i = 0; i < 50000; i++) { | |
window.run("$('#test').text('HELLO')"); | |
window.run("var x = $('#test').text()"); | |
} | |
var end = Date.now(); | |
console.log(window.x); | |
console.log("It took " + ((end - start)/1000) + " seconds."); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HELLO | |
It took 9.925 seconds. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- The index.html used for testing the in JSDOM performance scripts --> | |
<html> | |
<head> | |
<title>Test page!</title> | |
</head> | |
<body> | |
<div id='test'></div> | |
</body> | |
</html> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This was run on JSDOM @ 30bac996077fb | |
var fs = require('fs'); | |
var vm = require('vm'); | |
var jsdom = require('./lib/jsdom'); | |
var jQuery = fs.readFileSync('jquery-1.6.2.js'); | |
var html = fs.readFileSync('index.html'); | |
var doc = jsdom.jsdom(html); | |
var window = doc.defaultView; | |
var start = Date.now(); | |
vm.createScript(jQuery, "jquery-1.6.2.js").runInContext(window); | |
for (var i = 0; i < 50000; i++) { | |
vm.createScript("$('#test').text('HELLO')").runInContext(window); | |
vm.createScript("var x = $('#test').text()").runInContext(window); | |
} | |
var end = Date.now(); | |
console.log(window.x); | |
console.log("It took " + ((end - start)/1000) + " seconds."); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
HELLO | |
It took 22.072 seconds. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Output from running the benchmarks: in https://github.com/brianmcd/contextify-benchmarks | |
create_contexts: contextify elapsed time: 7.739 seconds. | |
Final memory usage: | |
RSS: 38.7734375 | |
VSize: 634.13671875 | |
HeapTotal: 52.932769775390625 | |
HeapUsed: 2.2049713134765625 | |
create_contexts: vm elapsed time: 8.327 seconds. | |
Final memory usage: | |
RSS: 47.296875 | |
VSize: 619.91796875 | |
HeapTotal: 41.213104248046875 | |
HeapUsed: 2.1894760131835938 | |
run_scripts_multiple_contexts: contextify elapsed time: 11.414 seconds. | |
Final memory usage: | |
RSS: 31.0546875 | |
VSize: 626.44921875 | |
HeapTotal: 45.70330810546875 | |
HeapUsed: 2.2056732177734375 | |
run_scripts_multiple_contexts: vm elapsed time: 8.261 seconds. | |
Final memory usage: | |
RSS: 34.03125 | |
VSize: 632.41796875 | |
HeapTotal: 53.119537353515625 | |
HeapUsed: 2.1917800903320312 | |
run_scripts_single_context: contextify elapsed time: 6.047 seconds. | |
Final memory usage: | |
RSS: 25.7421875 | |
VSize: 616.23046875 | |
HeapTotal: 19.55572509765625 | |
HeapUsed: 2.3027801513671875 | |
run_scripts_single_context: vm elapsed time: 7.643 seconds. | |
Final memory usage: | |
RSS: 35.37890625 | |
VSize: 621.57421875 | |
HeapTotal: 44.512786865234375 | |
HeapUsed: 2.283447265625 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Results from running test/jsdom/leak.js on JSDOM @ 30bac996077fb | |
node --trace-gc leak.js | |
Scavenge 2.6 -> 2.3 MB, 1 ms. | |
Mark-sweep 3.5 -> 2.8 MB, 5 ms. | |
Scavenge 4.4 -> 3.9 MB, 0 ms. | |
Scavenge 5.9 -> 5.0 MB, 1 ms. | |
Mark-sweep 6.9 -> 4.8 MB, 7 ms. | |
Scavenge 8.0 -> 7.3 MB, 1 ms. | |
Mark-sweep 12.2 -> 9.0 MB, 13 ms. | |
Mark-sweep 16.0 -> 12.8 MB, 18 ms. | |
Scavenge 19.6 -> 17.7 MB, 2 ms. | |
Mark-sweep 24.2 -> 19.9 MB, 28 ms. | |
Scavenge 29.5 -> 26.1 MB, 6 ms. | |
Mark-sweep 27.5 -> 25.6 MB, 34 ms. | |
Mark-sweep 47.5 -> 37.6 MB, 53 ms. | |
Scavenge 56.9 -> 50.3 MB, 13 ms. | |
Mark-sweep 51.7 -> 48.7 MB, 63 ms. | |
Scavenge 71.3 -> 63.8 MB, 11 ms. | |
Mark-sweep 74.0 -> 66.3 MB, 86 ms. | |
Scavenge 88.4 -> 80.9 MB, 12 ms. | |
Mark-sweep 99.8 -> 88.7 MB, 116 ms. | |
Scavenge 112.1 -> 104.4 MB, 13 ms. | |
Scavenge 123.6 -> 117.1 MB, 13 ms. | |
Mark-sweep 134.3 -> 121.4 MB, 156 ms. | |
Scavenge 144.0 -> 136.4 MB, 13 ms. | |
Scavenge 150.1 -> 145.5 MB, 11 ms. | |
Mark-sweep 145.5 -> 141.2 MB, 175 ms. | |
Mark-compact 141.2 -> 141.1 MB, 429 ms. | |
Scavenge 143.0 -> 142.7 MB, 5 ms. | |
Scavenge 143.6 -> 143.3 MB, 3 ms. | |
Scavenge 144.8 -> 144.6 MB, 3 ms. | |
Scavenge 147.0 -> 146.5 MB, 4 ms. | |
Scavenge 148.9 -> 148.3 MB, 5 ms. | |
Scavenge 153.2 -> 151.4 MB, 6 ms. | |
Scavenge 156.2 -> 154.8 MB, 5 ms. | |
Scavenge 159.6 -> 158.2 MB, 5 ms. | |
Scavenge 168.3 -> 164.6 MB, 8 ms. | |
Scavenge 174.1 -> 171.0 MB, 8 ms. | |
Scavenge 180.5 -> 177.5 MB, 8 ms. | |
Mark-sweep 198.6 -> 181.9 MB, 232 ms. | |
Scavenge 208.0 -> 199.4 MB, 14 ms. | |
Scavenge 218.6 -> 212.1 MB, 16 ms. | |
Scavenge 231.3 -> 224.9 MB, 16 ms. | |
Mark-sweep 244.1 -> 227.6 MB, 286 ms. | |
Scavenge 253.6 -> 245.0 MB, 18 ms. | |
Scavenge 260.1 -> 254.8 MB, 13 ms. | |
Mark-sweep 257.2 -> 251.3 MB, 305 ms. | |
^C |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment