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
EUの主管プライバシー規制当局が行動監視に基づくターゲティング広告の禁止を求める
IT関連
2021-02-27 08:52
ロシアがInstagramのブロックを発表
IT関連
2022-03-13 01:44
プログラマによるプログラミングのためのBGMなど、仕事や勉強の邪魔にならない無料で使えそうなBGM集。2021年版
開発ツール / 言語 / プログラミング
2021-06-11 09:30
持続可能な水産養殖を支援するウミトロンとイオンがこだわりの養殖魚「うみとさち」を7月22日・海の日から実証販売
フードテック
2021-07-22 01:47
デジタル備蓄のススメ EV活用「V2H」と大容量ポータブル電源とソーラーパネルと :デジタル防災を始めよう(1/3 ページ)
トップニュース
2021-01-30 19:01
損保ジャパン、基幹システムを刷新–DXに当たりセキュリティ強化と開発業務を高度化
IT関連
2021-06-04 02:39
Chrome OSで「Nearby Share」を使ってファイルを共有するには
IT関連
2022-04-10 14:26
コンテナー技術の登場でAI開発現場は様変わり–AI開発基盤の変遷をたどる
IT関連
2023-11-25 19:04
富士通、AIで看護師の業務量を予測する研究スタート 新型コロナ重症化リスクを判別
ロボット・AI
2021-02-03 12:44
脱「Excel」の経営管理DXでスピーディーな意思決定(前編)
IT関連
2022-09-08 04:26
富士通研と北海道大が「説明可能なAI」を共同開発–AIの信頼性/透明性を向上
IT関連
2021-02-05 11:03
MS、「Dynamics 365」で10種類の自律型AIエージェントを提供へ
IT関連
2024-10-25 04:03
宅配業者かたる詐欺SMS出回る 「dアカウント」の偽ログイン画面に誘導 ドコモが注意喚起
セキュリティ
2021-01-26 14:13
動画配信「TELASA」、一時視聴しづらい状態に 仮面ライダー特番で視聴者殺到 運営元「YouTube見て」
企業・業界動向
2021-02-10 22:21