Highly complex services, such as those here at Facebook, have large source code bases in order to deliver a wide range of features and functionality. Even after the machine code for one of these services is compiled, it can range from 10s to 100s of megabytes in size, which is often too large to fit in any modern CPU instruction cache. As a result, the hardware spends a considerable amount of proc
はじめに Facebookがアプリケーションを高速化するBOLTというツールを公開したので試してみました。 以下によると、2-15% ほどアプリケーションの性能が上がるそうです。 記事を読む感じだと、プロファイルデータをもとにプログラムバイナリの配置を修正し、プログラム命令自体の CPU キャッシュへの載り方とTLBミスの発生を最適化するようです。 環境 CentOS7 の環境でやりました。 BOLT (perf) は CPU のパフォーマンスカウンタを使って性能プロファイリングをするので、AWSなどの仮想マシンでは実行できない可能性があります。 また、BOLTのビルド時にはかなり大量のメモリを使います。ビルドだけはAWSなどを利用したほうが良いかもしれません。(私は m5.4xlarge を使いました。) 環境 OS: CentOS 7.4 メモリ: 64GB 程度 ※BOLT ビルド時
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く