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
LINE側サーバーに相談情報が残らない、内閣サイバーセキュリティセンターのLINE利用ガイドライン対応SNS相談システム
GovTech
2021-06-30 13:24
KDDI、日本とモンゴルで5Gのオープンな相互接続の実証に着手
IT関連
2021-03-06 17:27
日立、ハイブリッドクラウド運用サービスを開始
IT関連
2023-08-02 01:08
NFTゲーム「Axie Infinity」のRoninハッキング、北朝鮮のLazarusが関与–米当局
IT関連
2022-04-19 06:34
Facebook決算、“巣ごもり需要”で過去最高 Appleの規制による“逆風”を予測
企業・業界動向
2021-01-29 17:02
アドヴィックス、自動車部品の製造ラインを可視化する統合管理システム導入へ
IT関連
2024-01-17 10:56
GMOあおぞらネット銀行、なりすまし不正を防止する認証サービスを新たに導入
IT関連
2022-08-27 01:13
映像製作のカラー、クラウドストレージで運用管理コストを80%削減
IT関連
2024-09-19 12:05
米FCC、2.5GHz帯のオークションを7月に実施へ
IT関連
2022-03-03 04:14
塩野義製薬、個人投資家などからの問い合わせ対応にAI型チャットボットを導入
IT関連
2023-04-05 12:39
生成AIが中心に– Google Cloudが発表した「Axion」などのAIインフラ
IT関連
2024-04-12 02:26
ソニー生命、自動化プラットフォームを導入–メインフレーム運用のホスト依頼業務に活用
IT関連
2023-12-21 10:39
TRUST SMITHとADEKAが荷姿・ラベル位置・種類を問わずラベル内情報を自動認識するシステムの実証実験
人工知能・AI
2021-05-01 17:07
ランサムウェアの被害は金銭だけではない
IT関連
2022-11-23 11:07