諸行無常

IT色々お勉強中のブログ

How Fast is Ruby 2.5.0?

engineering.appfolio.com

11月には、Ruby 2.5.0プレビュー1の速度結果を掲載しました。 Ruby 2.4よりはるかに高速でしたが、これは少し失望しました。 しかし、1つの非常に重要なパフォーマンスパッチが終了する前にリリースしたため、最終的な速度に大きな違いが生じました

どれぐらいの差か?さぁ見てみましょう!

グラフを見たいだけです、同じ方法だと私は言い切れます。 これは素晴らしいスタートです.Rails Ruby Benchのトータルタイムです。 これは、談話(Rails)要求の混在を大規模な並行サーバー経由でプッシュするのにかかる時間を測定します。

悪くない。数字とパーセントの表のように見えるのは何ですか?

Percentile Ruby 2.4.3 Ruby 2.5.0 % Faster

0% 29.17 26.99 7.5%

10% 32.25 30.73 4.7%

50% 33.98 32.39 4.7%

90% 35.15 33.37 5.1%

100% 36.77 35.62 3.1%

ここで興味深いのは、より高い(より遅い)runの方がスピードが遅くなっていることです。 ほぼすべてのスピードの違いがあるパフォーマンスパッチの珍しい性質のため、ほぼ確実です。 それはRubyバイトコード操作ごとに多かれ少なかれ一定のオーバーヘッドでした。より遅い実行にはそれぞれが長い(かなり可能性がある)命令がある場合は、パフォーマンスが低下すると予想されます。おおよそあなたがここに見るものです。

Ruby 2.5.0の方がずっと速いのですが、 「実行時間あたりのパーセンタイルではなく、スループットに答えようと思っています。だからスループットを見てみましょう:

Measurement | Ruby 2.4.3 | Ruby 2.5.0 | % Faster|

Mean Throughput | 170.6 | 179.3 | 5.1%|

Median Throughput| 171.0 | 179.6 | 5.0%|

どれくらい速くなる?大規模な並行Railsサーバーではスループットが5%向上します。友達に教えて!

それよりも速くすることはできますか? 確かに。小さくて速い操作で、Railsの要求が最大7.5%向上しました。一部のベンチマークではKoichiが最大12%速くなっています。

しかし簡単な答えのために、 "それは私のRailsアプリケーションをより速くするでしょうか?"はい。約5%速くなります。何かを壊すようなことはないかなり静かなアップグレードのために悪いことではありません。コードをスピードアップし、いくつかの素晴らしい機能を追加するだけです!