promise comparisons
JavaScript performance comparison
Preparation code
<script src="https://rawgithub.com/NobleJS/setImmediate/master/setImmediate.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/dojo/1/dojo/dojo.xd.js"></script>
<script src="http://calvinmetcalf.github.io/promise-jsperf/javascripts/q.js"></script>
<script src="http://calvinmetcalf.github.io/promise-jsperf/javascripts/jQuery.js"></script>
<script src="http://medyk.org/deferred.js"></script>
<script>
window.define = function(factory) {
try{ delete window.define; } catch(e){ window.define = void 0; } // IE
window.when = factory();
};
window.define.amd = {};
</script>
<script src="http://calvinmetcalf.github.io/promise-jsperf/javascripts/when.js"></script>
<script src="http://calvinmetcalf.github.io/promise-jsperf/javascripts/rsvp.js"></script>
<script src="http://calvinmetcalf.github.io/promise-jsperf/javascripts/promiscuous-browser.js"></script>
<script src="http://rawgithub.com/JeanHuguesRobert/l8/master/lib/whisper.js"></script>
Preparation code output
Test runner
Warning! For accurate results, please disable Firebug before running the tests. (Why?)
Java applet disabled.
Test | Ops/sec | |
---|---|---|
promiscuous
|
|
pending… |
when
|
|
pending… |
jquery
|
|
pending… |
RSVP
|
|
pending… |
q
|
|
pending… |
dojo
|
|
pending… |
deferred
|
|
pending… |
Parole
|
|
pending… |
Compare results of other browsers
Revisions
You can edit these tests or add even more tests to this page by appending /edit
to the URL.
- Revision 1: published Marcus Stade and last updated
- Revision 2: published Marcus Stade
- Revision 3: published Marcus Stade
- Revision 4: published Marcus Stade
- Revision 5: published Marcus Stade
- Revision 6: published
- Revision 7: published
- Revision 9: published
- Revision 10: published
- Revision 11: published
- Revision 12: published
- Revision 13: published
- Revision 14: published
- Revision 15: published
- Revision 17: published Meryn Stol
- Revision 18: published Meryn Stol
- Revision 19: published Meryn Stol
- Revision 20: published Calvin
- Revision 21: published
- Revision 22: published Mariusz Nowak
- Revision 23: published JeanHuguesRobert
- Revision 24: published JeanHuguesRobert
- Revision 25: published calvin
- Revision 26: published
- Revision 27: published
- Revision 28: published Raymond
- Revision 32: published Zolmeister
- Revision 33: published and last updated
- Revision 34: published torworx
- Revision 35: published
- Revision 36: published
- Revision 37: published calvin
- Revision 38: published calvin
- Revision 39: published
- Revision 40: published Calvin
- Revision 41: published calvin
- Revision 42: published
- Revision 43: published calvin
- Revision 44: published calvin
- Revision 45: published
- Revision 46: published
- Revision 47: published calvin
- Revision 48: published
- Revision 49: published Esailija
- Revision 50: published
- Revision 51: published
- Revision 52: published Brian Cavalier
- Revision 53: published
- Revision 54: published Brian Cavalier
- Revision 55: published Brian Cavalier
- Revision 57: published Esailija
- Revision 58: published Calvin
- Revision 59: published Calvin
- Revision 60: published
- Revision 61: published Phil Dokas
- Revision 62: published
- Revision 63: published Mauro Pereira Junior
- Revision 64: published
- Revision 65: published Brandon Papworth
- Revision 67: published Michael
- Revision 69: published
- Revision 72: published
- Revision 74: published Michael Jackson
- Revision 75: published GotDibbs
- Revision 76: published GotDibbs
- Revision 77: published Matthew Robb
- Revision 78: published Matthew Robb
- Revision 81: published Alex
- Revision 82: published Bruce Krysiak
- Revision 83: published Calum Moore
- Revision 84: published RubaXa
- Revision 85: published
- Revision 90: published
- Revision 91: published
- Revision 92: published JeanHuguesRobert
- Revision 93: published
- Revision 94: published
- Revision 95: published Calvin Metcalf
- Revision 96: published treelite
- Revision 97: published
- Revision 98: published
- Revision 99: published
- Revision 100: published
- Revision 101: published
- Revision 102: published
- Revision 103: published
- Revision 104: published
- Revision 105: published
- Revision 106: published
- Revision 107: published
- Revision 108: published
- Revision 109: published
- Revision 112: published rvmn
- Revision 114: published rvmn
- Revision 117: published rvmn and last updated
- Revision 119: published rvmn
- Revision 120: published
- Revision 122: published
- Revision 123: published
- Revision 124: published Raven WANG
- Revision 130: published rvmn
- Revision 131: published
- Revision 132: published
- Revision 133: published
- Revision 134: published Florian
- Revision 135: published Florian
- Revision 137: published
- Revision 138: published
- Revision 139: published
- Revision 141: published Kirk
- Revision 142: published Billy Tetrud
- Revision 143: published
- Revision 144: published Billy Tetrud
- Revision 145: published dfgdsdfsfdsdfgq
- Revision 146: published dfgdsdfsfdsdfgq
- Revision 147: published
- Revision 149: published
- Revision 150: published
- Revision 151: published
- Revision 153: published davojan
- Revision 154: published davojan
- Revision 155: published Ron Waldon
- Revision 158: published
- Revision 160: published Ken
- Revision 161: published Ken
- Revision 162: published Billy Tetrud
- Revision 180: published
- Revision 181: published
1 Comment
Great boost thanks to using a setImmediate() shim: