Bluebird vs YUI

Benchmark created on


Preparation HTML

<script type="text/javascript" src="http://yui.yahooapis.com/combo?3.13.0/yui-base/yui-base-min.js&3.13.0/timers/timers-min.js&3.13.0/promise/promise-min.js&3.13.0/oop/oop-min.js&3.13.0/event-custom-base/event-custom-base-min.js&3.13.0/features/features-min.js&3.13.0/dom-core/dom-core-min.js&3.13.0/dom-base/dom-base-min.js&3.13.0/selector-native/selector-native-min.js&3.13.0/selector/selector-min.js&3.13.0/node-core/node-core-min.js&3.13.0/color-base/color-base-min.js&3.13.0/dom-style/dom-style-min.js&3.13.0/node-base/node-base-min.js&3.13.0/event-base/event-base-min.js"></script>
<script src="http://yui.yahooapis.com/combo?gallery-2013.10.17-22-20/build/gallery-soon/gallery-soon-min.js"></script>
<script src="https://rawgithub.com/petkaantonov/bluebird/master/js/bluebird.js"></script>
<script>
var YPromise = YUI().use('promise').Promise;
var BPromise = Promise;

var count = 100;
</script>

Test runner

Ready to run.

Testing in
TestOps/sec
Bluebird
// async test
var promise = new BPromise(function (resolve, reject) {
  resolve();
});

for (i = 0; i < count; i++) {
  promise = promise.then(function () {});
}

promise.then(function () {
  deferred.resolve()
});
ready
YUI
// async test
var promise = new YPromise(function (resolve, reject) {
  resolve();
});

for (i = 0; i < count; i++) {
  promise = promise.then(function () {});
}

promise.then(function () {
  deferred.resolve()
});
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.