Linuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。プログラミングLinuxバイナリを最適化して性能を向上させる「BOLT」、Facebookがオープンソースで公開。言語やコンパイラに依存せず高速化2018年6月21日Facebookは、Linuxバイナリの内部配置を最適化することによりCPUのキャッシュ効率などを向上させ、実行速度を改善する「BOLT」をオープンソースで公開しました。tool」の略とされています(もしかしたら、より速く走るという意味でウサイン・ボルト氏にかけているのかもしれません)。BOLTは言語やコンパイラに依存せず、ソースコードも不要BOLTのおもな効果は、Linuxバイナリの実行状況をperfコマンドで取得し、高頻度で実行されている部分などを判別した上で、そうした部分がCPUキャッシュにヒットしやすいようにバイナリの内部配置を改善することなどで実行速度を向上させることと説明されています。最大の特徴は、どのようなプログラミング言語やコンパイラ、リンカが使われていても対応できるという点です。従来の最適化ツールはコンパイラレベルで行われるために言語に依存したりしていましたが、BOLTはそうした依存性がありません。バイナリの動作を直接観察し、その結果をもってバイナリを直接操作するため、ソースコードも不要です。既存のアプリケーションやバイナリだけが提供される商用アプリケーションにさえ適用可能です。最適化にリンカの操作が求められるので、上記の表現を削除します。Code」から、その動作内容の一部を引用します。detection.BOLTがアプリケーションのために新しいコードレイアウトを実現するためには、コードのコントロールフローグラフを再構築しなければならない。この作業はデコンパイルに似ているが、ここでは分岐の開始と行き先やループといった高レベルの構造だけを見つければいい点が異なる。instructions.内部的には、アプリケーションは一連のデータ上にある一連の機能操作として表現される。われわれは独自の内部表現を用いており、これはLLVMの命令用MCInstフォーマットとしている。下記はこの記事中で示されたグラフ。BOLTによって処理されたバイナリは、頻繁に実行される部分が集中していることが分かります。FacebookはBOLTを用いて同社のアプリケーション実行環境であるHHVMを処理したところ、実行状況によって度合いが異なるものの、おおむね2パーセントから15パーセント程度の性能向上が見られたとのことです。国内でCNCF公認の「認定Kubernetes管理者」「認定Kubernetesアプリケーションデベロッパー」試験が今秋開始、日本語でトレーニングと受験が可能。Niino(jniino)IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。RDSやAuroraのスナップショットをParquet形式でS3へ保存可能に。dHCI」発表ITエンジニアが投票した「ITエンジニア本大賞2020」ベスト10発表。Kubernetes」が正式版に。ElasticsearchやKibanaなどをKubernetes環境にデプロイ、Operatorにより運用も容易にKubernetesとコンテナの実行に最適化された統合システム「Diamanti」のアーキテクチャはどうなっているか[PR][速報]AWS、2021年初頭に大阪リージョンを開設すると発表。10へログイン可能に。10へ拡大Google、コーディング不要でアプリケーション開発ができる「AppSheet」買収。usPublickeyについて/運営者についてお問い合わせ広告についてプライバシーポリシ。