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
技術の発達で利用の障壁下がる– IDC Japan、国内IoT市場を予測
IT関連
2022-04-06 06:12
Istio、Cloud Native Computing Foundationの正式なプロジェクトとして採択されたと発表。これでクラウドネイティブの基盤ソフトウェアはほぼ全てCNCF傘下に
Istio
2022-09-29 13:59
MetaがAI活用、環境に優しいコンクリート製造目指す–データセンターなど想定
IT関連
2022-04-29 07:19
ランサムウェア犯罪者の戦術が変化–身代金の高額化につながる可能性
IT関連
2022-02-17 21:59
ヤオコー、経費精算クラウドSaaSの導入で年間5万枚の領収書をデジタル化
IT関連
2023-11-30 13:49
体外受精治療の支払いを予測しやすくする英GaiaがAtomico主導のシリーズAで約23億円調達
IT関連
2022-02-16 09:18
この後、午前3時からのアップル新デバイス発表会を「生」で観よう!
IT関連
2022-03-09 07:26
東急建設、「SAP Analytics Cloud」を既存ツールとハイブリッド活用
IT関連
2021-02-25 14:25
AIに関するグローバル調査から見えた日本企業の課題
IT関連
2024-05-01 08:45
NECら、伊勢市で観光DXを実証–滞在体験の向上目指す
IT関連
2022-07-21 18:56
ラオックス、7店舗を閉店へ インバウンド需要の減少で 今後はアジア雑貨に注力
くらテク
2021-08-17 02:23
朝日生命、手続き業務迅速化の「イメージ処理プラットフォーム」を構築
IT関連
2021-03-24 09:24
デル・テクノロジーズ、ハイエンドストレージの新製品発売
IT関連
2022-08-24 04:54
マイナンバーカードで電子証明書を即時発行 本人確認を自動化 GMOが提供
最近の注目ニュース
2021-01-26 18:22