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
Linuxベースの独自OSを搭載したタブレットがクラファンで登場 Androidアプリにも対応
製品動向
2021-06-17 12:57
バカンとあいおいニッセイ同和損害保険が防災領域で提携、リアルタイム被害予測サイト「cmap」で避難所混雑情報を公開
パブリック / ダイバーシティ
2021-08-06 04:50
RPAに企業の統合管理やAI活用を実装–Blue Prismが戦略発表
IT関連
2021-03-12 03:07
Microsoft、クラウドゲーム専用端末を開発中
アプリ・Web
2021-06-12 17:46
Facebook、AIに「忘れさせる」手法を開発–重要な情報に集中して効率化
IT関連
2021-05-17 23:41
HTCがフィットネス向け軽量新VRヘッドセット「HTC VIVE Air」をフライング公開
VR / AR / MR
2021-04-23 02:37
「iPad」でマルチタスクのために画面分割するには
IT関連
2022-12-25 01:35
「デルはマルチクラウドで信頼される技術パートナー」–デル首脳陣らが講演
IT関連
2022-10-18 14:39
第59回:ひとり情シスは「IT介護」なのか?
IT関連
2022-10-28 17:37
“ショーケースの向こう側”を操作できる技術 MIT「inDepth」開発 :Innovative Tech
イラスト・デザイン
2021-03-13 03:06
Epic Gamesのデジタルヒューマン作成ツール、早期アクセス開始 編集済みモデルも公開
イラスト・デザイン
2021-04-17 11:44
ソムリエを客室に ホテルニューオータニ、宿泊客に「スーパールームサービス」 飲食店の酒類販売停止で
くらテク
2021-04-27 15:45
再生資源の需給をつなぐプラットフォームを実証–双日らがタッグ
IT関連
2021-04-01 17:23
「ChatGPT」を授業で活用するには–OpenAIが教員向けに4つの方法を紹介
IT関連
2023-09-07 08:37