ES6のPromiseはBluebirdの4倍遅いらしい

当記事は、
ES6のPromiseはBluebirdの4倍遅いらしい
http://qiita.com/kuniken/items/d0583b31941f15a0ecb9
に若干加筆・修正したものです。

bluebird benchmarkページから

弊社佐藤の記事、
Node.jsにおけるcallback地獄からの脱却について
について、bluebirdとQの違いが気になっていたのですが、新しいことがわかりました。

ES6で標準搭載されたpromiseはbluebirdよりも遅いしメモリを食うらしい。

きっかけはQとbluebirdのパフォーマンス比較を調べていた時に偶然見つけた以下の記事でした。

bluebirdのGitHubにbenchmarkページがあります。
https://github.com/petkaantonov/bluebird/tree/master/benchmark

処理を1万回並列に実行したら、
ES6 promiseはbluebirdの4倍、
Qは40倍スピードの差があったらしいのです。

なぜ差が出るのか?について質問していた人がいました。
Why are native ES6 promises slower and more memory-intensive than bluebird?
http://programmers.stackexchange.com/questions/278778/why-are-native-es6-promises-slower-and-more-memory-intensive-than-bluebird

速度の最適化をしているかどうかってことのようで。動作環境も関係しているみたいですが。
Qとbluebirdの差異については、目的の違いによるものらしいです。速度を取るか、安全性を取るか。

Q vs. Bluebird performance
https://github.com/petkaantonov/bluebird/issues/381

As far as I know, its because one of the primary goals of Q is to provide certain security properties of promises in browsers. Bluebird on the other hand is designed for performance, to be used in environments such as node where the entire code is fully trusted.

実装するならサーバーサイドはbluebirdで、クライアントサイドはQってことでしょうか。

カテゴリー: 國田健史 | タグ: , , , , , | 投稿日: | 投稿者:

solutionware について

クラウド型アプリケーション開発のソリューションウェア https://solutionware.jp/ 【サービス一覧】 クラウド型顧客管理システムの企画・開発 マーケティングオートメーションシステムの企画・開発 各種クラウド型業務システムの企画・開発 スマートフォン/タブレットアプリ(iOS、Android)の企画・開発 Salesforceインプリ、kintoneアプリ、フルスクラッチなど、ご用命にお応えいたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

nine − three =