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
PayPalが激戦地インドでの決済事業から撤退へ
フィンテック
2021-02-07 18:57
スマホで開業届が完結 freeeの「電子申告・申請アプリ」に新機能
企業・業界動向
2021-05-25 23:25
VRブラウザー「Firefox Reality」、提供終了–技術はIgaliaの「Wolvic」に継承
IT関連
2022-02-08 08:03
"グーグル品質"の検索機能を小売業に–Google Cloudが「Retail Search」発表
IT関連
2021-07-29 01:28
Google Analytics 4移行対策、Publickeyの場合。Simple AnalyticsとRanklet4を導入し、GA4も使うことに
Cloudflare
2023-07-07 06:55
NTT Com、上司の1on1スキル向上をAIで支援する新サービス
IT関連
2022-07-29 12:28
中国でSaaSが普及しない理由–“SaaS不要論”の原因を探る
IT関連
2023-08-19 12:25
イオン銀行に不正アクセス、個人情報2062件が流出 情報管理用クラウドツールで設定ミス
クラウドユーザー
2021-02-23 19:29
シャオミが独自の四足歩行ロボットを発表、開発者向けに約17万円で販売
ロボティクス
2021-08-12 22:20
「バクラク申請」「バクラク経費精算」、承認の自動リマインダー機能を追加
IT関連
2022-07-06 23:22
SNSでのオンラインハラスメントや虐待に対抗するBlock PartyがTwitterでサービス開始
パブリック / ダイバシティ
2021-01-20 20:42
製品開発もサポートサービスも基本を強化–ネオジャパン・齋藤社長
IT関連
2023-01-06 03:34
アドビ、フェイク画像に対抗する「CAI」を解説–進化するデジタル技術の“守りの一手”
IT関連
2023-07-20 05:44
第3回:流通サプライチェーンにおけるデジタル通貨の活用
IT関連
2022-10-15 05:03