Size: a a a

2017 December 12

VI

Viktor Isaev in Node.js SPb
Народ, в продолжение беседы про промисы накидал простенький бенчмарк: https://github.com/weekens/nodejs-promises-benchmark
источник

VI

Viktor Isaev in Node.js SPb
Комментарии/замечания/дополнения очень сильно приветствуются.
источник

VI

Viktor Isaev in Node.js SPb
На моей машине (Intel Core i5 1.70GHz) результаты такие:

Bluebird.resolve().then() x 1,937,213 ops/sec ±2.31% (72 runs sampled)
Promise.resolve().then() x 1,565,316 ops/sec ±1.56% (84 runs sampled)
Callback x 14,297,762 ops/sec ±1.69% (88 runs sampled)
источник

с

сomorsiс in Node.js SPb
версия ноды?
источник

VI

Viktor Isaev in Node.js SPb
v8.9.2
источник

VI

Viktor Isaev in Node.js SPb
У меня сомнения насчёт корректности, т.к. без deferred ситуация обратная - Promise побеждает. Надо посмотреть, вызывается ли .then() синхронно в случае, если в resolve() передаётся готовое значение. В этом случае deferred использовать некорректно.
источник

с

сomorsiс in Node.js SPb
> bluebird.resolve(1).then(a=>a).isFulfilled()
false
источник

VI

Viktor Isaev in Node.js SPb
Значит правильно deferred использую. Спасибо!
источник

VI

Viktor Isaev in Node.js SPb
А с Promise так же? :)
источник

VI

Viktor Isaev in Node.js SPb
В стандартном-то нет такой функции :)
источник

с

сomorsiс in Node.js SPb
источник

с

сomorsiс in Node.js SPb
а, блин
источник

с

сomorsiс in Node.js SPb
а, ну все правильно
источник

VI

Viktor Isaev in Node.js SPb
OK
источник

VI

Viktor Isaev in Node.js SPb
👍
источник

с

сomorsiс in Node.js SPb
для колбека логичнее наверно сделать тоже defer: true и process.nextTick()
источник

VI

Viktor Isaev in Node.js SPb
Щас сделаем
источник

VI

Viktor Isaev in Node.js SPb
Коллбэк скорее для референса, но всё равно...
источник

VI

Viktor Isaev in Node.js SPb
А не, разница большая получилась. Коллбэк проиграл Bluebird-у. Фигня какая-то...
источник

VI

Viktor Isaev in Node.js SPb
Хм, а как так-то?...
источник