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
「Windows Server 2022」プレビュー版が登場、安全なブートなどセキュリティ強化。Microsoft Ignite 2021
Microsoft
2021-03-04 04:02
千葉市動物公園、アソビューの電子チケットを導入–顧客の利便性向上へ
IT関連
2023-01-12 21:36
AIアシスタント「Pyrenee Drive」で交通事故撲滅を目指すPyreneeが2億円を調達
モビリティ
2021-05-26 18:17
NEC、「スポーツビジネス推進本部」を新設–企業スポーツのビジネス化を加速
IT関連
2021-07-20 01:05
スマホゲーム版「ウマ娘」、約3年の事前登録を経てリリース Twitterトレンドに
ネットトピック
2021-02-25 19:59
ASUS、Chromebookを10万台増産 “子供1人にPC1台”施策での需要見込む
企業・業界動向
2021-01-17 03:30
マイクロソフト、「Windows 365 Cloud PC」を発表–Windows 10と11をクラウド経由で
IT関連
2021-07-15 08:41
LinkedInがヘイトスピーチの削除に関するEUの行動規範に正式署名
ネットサービス
2021-06-28 02:03
HPE Aruba、セキュリティなど3分野に拡大するトライアングル戦略を示す
IT関連
2023-09-15 06:17
LayerX、Android版「バクラク申請・経費精算」を提供開始
IT関連
2022-09-08 19:19
マイクロソフト「Azure Arc」でAzureのアプリケーションサービスが利用可能に
IT関連
2021-05-27 14:03
シスコ日本法人社長が語った「パートナー施策」での意気込みとは
IT関連
2022-08-06 04:39
「デジタル改革法案」概要を提示 マイナンバーと口座ひも付け
IT関連
2021-01-19 03:34
[速報]マイクロソフト、自然言語をプログラミング言語にAIで変換、新ノーコード機能をPower Appsに搭載。AI言語モデル「GPT-3」を採用。Microsoft Build 2021
Microsoft
2021-05-26 11:09