Go言語が実行時のプロファイラ情報でコンパイルを最適化する「Profile-guided optimization」パブリックプレビュー

今回は「Go言語が実行時のプロファイラ情報でコンパイルを最適化する「Profile-guided optimization」パブリックプレビュー」についてご紹介します。

関連ワード (メモリ、利用、手法等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Go言語の開発チームは2月1日にリリースしたGo 1.20で、実行時のプロファイラ情報を用いてコンパイルを最適化し、実行速度の改善を図る「Profile-guided optimization」機能のパブリックプレビューを開始しましたことを明らかにしました。

fig

Profile-guided optimizationを用いることで、現時点で2%から4%程度の性能向上が得られ、将来的にはさらに大きな性能向上を実現できるとしています。

Go 1.20 marks the launch of profile-guided optimization into public preview!

PGO is a compiler optimization technique that feeds information gathered at runtime back into the compiler for the next build of the application.

Details ⬇ https://t.co/aBJgDIAbqy

— Go (@golang) February 8, 2023

Profile-guided optimization(PGO)とは

Profile-guided optimizationとは、プログラムの実行時にどの関数が何回コールされたか、プロセッサやメモリをどのように使用しているかなど、プログラムの実行状況をプロファイル情報として取得し、その情報を基にコンパイルを最適化する手法です。Feedback Directed Optimizationなどとも呼ばれます。

具体的には、何度も呼ばれる関数をインライン展開することで関数呼び出しのオーバーヘッドをなくす、変数の使用頻度によってレジスタへの割り当てを変更する、ループを展開する、などの処理がコンパイル時に行われます。

コンパイルの最適化手法としては以前から存在しており、例えばRustにはすでにProfile-guided optimization機能がありますし、GoogleはChromeブラウザをProfile-guided optimizationによって15%程度高速化したことを2016年に明らかにしています。

Goランタイムのプロファイルをコンパイラに渡す

今回プレビューリリースされたGoのProfile-guided optimization機能も、Goランタイムで生成されたプロファイルをGoコンパイラに渡すことで、コンパイル時にプロファイル情報を基にした最適化が行われます。

ドキュメントによると、現時点で2%から4%程度の性能向上が得られ、将来的にはさらに大きな性能向上を実現できるとしていますが、まだプレビューリリースのため本番環境での利用には向かないともしています。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
【レビュー】新iPad Pro 12.9を試す、大画面とLiquid Retina XDRディスプレイは正義
ハードウェア
2021-05-20 19:51
TISと日本IBM、メインフレームのモダナイゼーションで協業
IT関連
2021-06-07 21:37
富士通、AIで看護師の業務量を予測する研究スタート 新型コロナ重症化リスクを判別
ロボット・AI
2021-02-03 12:44
EUが第三国へのデータ移転に関する最終ガイダンスを発表
パブリック / ダイバーシティ
2021-06-30 08:19
カクテルが自走するカプセルトイ、「あちらのお客様からです」 上坂すみれさん考案
くらテク
2021-06-22 04:02
コロナ禍終息後の世界でIT支出はどう変わるのか
IT関連
2021-07-28 19:34
弁護士ドットコム、リクルートと業務提携–法務の規約管理を支援する「termhub」を共同開発へ
IT関連
2022-06-17 07:11
「Azure OpenAI Service」一般公開–「ChatGPT」も近く利用可能に
IT関連
2023-01-19 11:37
NTTマーケティングアクトProCX、新パーパス策定–オペレーターの真価伝える
IT関連
2022-07-03 19:07
「車内映像」から考えたリアルの条件 (1/2 ページ)
イラスト・デザイン
2021-04-27 08:58
サントリービール、AI活用の異常予兆検知システム導入–現場担当者が設定可能
IT関連
2022-02-26 00:57
テスラの「完全」自動運転という表現に対し米上院議員がFTCに調査を要請
モビリティ
2021-08-20 17:38
生成AIのためのGPU投資、さくらインターネットが1000億円、KDDIも1000億円、GMOは100億円規模を発表。経済産業省の認定プログラムを受け
KDDI
2024-04-22 17:04
AIドリブンへの転換を支援するdotDataの次の一手
IT関連
2021-07-05 18:47