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
サムスン電子の李会長に無罪判決
IT関連
2024-02-07 12:37
Verizon、メディア部門をPEに50億ドルで売却 新企業名をYahooに
企業・業界動向
2021-05-05 23:31
サステナブルな社会を創っていくために私たちが今やるべきことは何か
IT関連
2023-07-07 21:49
サードパーティークッキー廃止に向けて–2024年にマーケターが知るべきこと
IT関連
2024-01-05 10:49
損保ジャパン、大規模言語モデルのリスク評価でRobust Intelligenceと協業
IT関連
2023-10-27 22:23
FBIが新たに「ランサムウェアの爆発的増加」に対応する暗号資産犯罪ユニット立ち上げ
IT関連
2022-02-20 08:44
リアル店舗向け顧客管理・販売促進プラットフォーム「toypo」提供の福岡発「トイポ」が資金調達
ネットサービス
2021-07-30 11:27
米FCC、2.5GHz帯のオークションを7月に実施へ
IT関連
2022-03-03 04:14
新しい欧州のAI規則と企業のイノベーションを支えるエコシステム
IT関連
2022-05-03 19:59
「Linux」デスクトップに「Android」を接続するには–「KDE Connect」を使った手順
IT関連
2022-08-13 19:28
サービスナウはなぜ、高成長しているのか–ServiceNow Japanの鈴木社長に聞いてみた
IT関連
2024-12-13 09:48
目白大学、学生の就職活動支援に営業・マーケ向け情報基盤を活用
IT関連
2023-05-19 02:26
【コラム】DXを「エシカル」にリードする方法、倫理優先の考え方は従業員と利益を守る
その他
2021-06-21 11:16
Bunのバンドル処理がMacで60%高速化。Webサーバ機能ではホットリロードによりコード変更が自動的に反映
Bun
2025-03-05 17:46