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
Windows 11チェックプログラムが一時削除 「正確さや詳しさが欠けていた」
製品動向
2021-06-30 15:04
中国で人気の虹彩写真–安易なSNS投稿に注意呼びかけも
IT関連
2025-01-29 11:50
横浜市、予算・財務情報管理システム構築へ–ローコードプラットフォームを活用
IT関連
2022-02-02 17:46
行かない役所・書かない役所を実現、xIDとトラストバンク提供のマイナンバーカード利用電子申請サービスを25自治体が導入
GovTech
2021-07-27 17:26
多くの企業はサイバー攻撃後にセキュリティを強化–CISO調査
IT関連
2023-12-05 18:03
「アクションゲームツクールMV」を教育機関向けに無償提供 クラブ活動などでの活用を期待
企業・業界動向
2021-07-13 06:57
IBM社長ジム・ホワイトハースト氏がわずか14カ月で退任
その他
2021-07-04 22:47
東京農工大が目が自然にピントを合わせられる「ホログラフィック・コンタクトレンズディスプレイ」開発
ハードウェア
2021-03-26 03:26
プリンスホテル、「3D間取りデータ自動生成サービス」導入–施設の魅力を発信
IT関連
2021-05-15 10:44
SCSK、グループ技術戦略「技術ビジョン2030」策定–「共創ITカンパニー」目指す
IT関連
2024-07-21 01:40
富士通、照合業務を効率化する食品卸売業向け新サービス–三菱食品で約800時間削減
IT関連
2022-12-03 07:40
NTTデータGSL、企業内大学「GSL大学」が5周年–2027年問題を見据えSAP人材の育成強化
IT関連
2025-01-25 17:39
WatchGuardやASUSのルーター狙ったロシア関与のボットネット、米司法省が阻止
IT関連
2022-04-09 23:43
【コラム】暗号資産とエネルギー消費をめぐる議論
ブロックチェーン
2021-04-04 05:07