HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //usr/share/opensearch-dashboards/node_modules/async-value-promise/benchmark.js
'use strict'

const benchList = require('benchmark-fn-list')
const benchPrettyPrint = require('benchmark-fn-pretty-print')
const AsyncValuePromise = require('./')

benchList([
  {
    name: 'then before resolve',
    iterations: 100000,
    task(cb) {
      var result = new AsyncValuePromise()
      result.then(cb, cb)
      result.resolve('hello')
    }
  },
  {
    name: 'resolve before then',
    iterations: 100000,
    task(cb) {
      var result = new AsyncValuePromise()
      result.resolve('hello')
      result.then(cb, cb)
    }
  },
  {
    name: 'then before reject',
    iterations: 100000,
    task(cb) {
      var result = new AsyncValuePromise()
      result.then(cb, cb)
      result.reject('hello')
    }
  },
  {
    name: 'reject before then',
    iterations: 100000,
    task(cb) {
      var result = new AsyncValuePromise()
      result.reject('hello')
      result.then(cb, cb)
    }
  },
  {
    name: 'resolve in constructor',
    iterations: 100000,
    task(cb) {
      var result = new AsyncValuePromise('hello')
      result.then(cb, cb)
    }
  },
  {
    name: 'reject in constructor',
    iterations: 100000,
    task(cb) {
      var result = new AsyncValuePromise(null, 'hello')
      result.then(cb, cb)
    }
  },
  {
    name: 'promise',
    iterations: 100000,
    task(cb) {
      var promise = Promise.resolve('hello')
      promise.then(cb)
    }
  }
], results => {
  console.log(benchPrettyPrint(results))
})