Promises/A+ Comparisons (v38)

Revision 38 of this benchmark created by aakash on


Description

A comparison of Promises/A+ implementations in active development.

Preparation HTML

<script src="http://rsvpjs-builds.s3.amazonaws.com/rsvp-latest.js"></script>
<script src="http://rawgithub.com/petkaantonov/bluebird/master/js/browser/bluebird.js"></script><script src="https://rawgithub.com/kriskowal/q/v0.9/q.js"></script>

Test runner

Ready to run.

Testing in
TestOps/sec
Bluebird deferred
// async test
function make() {
  var resolver = Promise.pending()

  resolver.fulfill()

  return resolver.promise
}

make().then(function() {
  deferred.resolve()
})
ready
RSVP deferred
// async test
function make() {
  var defer = RSVP.defer()

  defer.resolve()

  return defer.promise
}

make().then(function() {
  deferred.resolve()
})
ready
Bluebird classic
// async test
function make() {
  return new Promise(function(resolve, reject) {
    resolve()
  })
}

make().then(function() {
  deferred.resolve()
})
ready
RSVP classic
// async test
function make() {
  return new RSVP.Promise(function(resolve, reject) {
    resolve()
  })
}

make().then(function() {
  deferred.resolve()
})
ready
Q deferred
// async test
function make() {
  var resolver = Q.defer()

  resolver.resolve()

  return resolver.promise
}

make().then(function() {
  deferred.resolve()
})
ready
Q classic
// async test
function make() {
  return Q(function(resolve, reject) {
    resolve()
  })
}

make().then(function() {
  deferred.resolve()
})
ready

Revisions

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