Go言語、実行時プロファイル情報による最適化「Profile-guided optimization」が正式機能に。Go 1.21リリース

今回は「Go言語、実行時プロファイル情報による最適化「Profile-guided optimization」が正式機能に。Go 1.21リリース」についてご紹介します。

関連ワード (以前、何度呼、使用頻度等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

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


Go言語の開発チームは8月8日にリリースしたGo 1.21で、実行時のプロファイル情報を用いてコンパイルを最適化し、実行速度の改善を図る「Profile-guided optimization」機能が正式版になったことを明らかにしました。

fig

Go言語のコンパイルはソースコードの静的な解析を基にして高速なバイナリを生成するような最適化が行われています。

今回、正式機能となった「Profile-guided optimization」は、バイナリ実行時にどの関数が何度呼ばれたのか、メモリがどのように使用されたかなどのプロファイル情報を基にコンパイルを最適化することで、より高速なバイナリを生成する手法です。

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

これによりGo言語のバイナリの実行性能は2%から7%程度向上すると説明されています。

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

COMMENTS


Recommended

TITLE
CATEGORY
DATE
ローソン銀行、エヴァとコラボ シンジ、アスカ、ミサトの音声がATM操作を案内
-
2021-01-19 15:49
NTT、「IOWN1.0」スタート–大容量データを低遅延で伝送する技術を商用化
IT関連
2022-11-17 22:12
グーグル、生成系AIによる新機能を「Gmail」「ドキュメント」に追加へ
IT関連
2023-03-16 01:12
DocuWorksのクラウドコネクター機能を提供–富士フイルムBI
IT関連
2021-04-13 12:06
南アフリカのVC企業Knife Capitalが資金52.5億円確保、シリーズB10〜12社への投資を計画
VC / エンジェル
2021-02-14 01:13
トヨタ、取引先のシステム障害で国内全工場を停止–サイバー攻撃の影響か
IT関連
2022-03-02 19:42
NTTテクノクロス、コールセンターAIの音声認識精度を向上–次世代メディア処理AIと連携
IT関連
2024-09-04 20:31
エムアイカードかたる詐欺メールに注意 ウソの本人確認で会員情報を窃取
セキュリティ
2021-01-14 14:04
大津赤十字病院が取り組むバックアップ統合とランサムウェアへの備え
IT関連
2022-12-24 02:40
電気代が上がるとエアコンの設定温度を変えるリモコン 「Nature Remo」に新機能
くらテク
2021-05-19 11:16
Google Cloud、「Enterprise APIs」でAPIの安定性を実現へ
IT関連
2021-07-27 12:57
インボイス制度開始後、全社的な業務負担増–Sansan調査
IT関連
2023-11-22 18:33
イオン、約4000店舗で電子レシートを提供–ペーパーレスによるCO2削減図る
IT関連
2024-06-16 05:31
IDが統一的に管理されていないことの問題点
IT関連
2021-04-02 16:51