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関連
2023-01-26 21:50
ラズパイでもAmazon ECSを動かせる、「Amazon ECS Anywhere」が正式リリース。ラズパイやオンプレミスのコンテナ環境をAWSから集中管理可能
AWS
2021-06-03 23:14
タイ味の素社、全社のマネジメント変革で「SAP S/4HANA」導入–アビームが支援
IT関連
2023-09-30 18:53
今週のロボティクスニュースは「ハンバーガー」と「自動車」
ロボティクス
2021-05-08 16:29
フェイスブックが偽レビューを売買する1万6000のグループを削除、英当局の調査を受けて
ネットサービス
2021-04-11 07:50
「Chrome」と「Firefox」にセキュリティ更新–重大な脆弱性を修正
IT関連
2025-01-10 22:43
医療・福祉サービスの和光会、クラウド経営管理システムを導入–経営管理業務のDX推進
IT関連
2024-04-25 21:36
次期「.NET 8」プレビューリリース初公開。ネイティブコンパイラ改善で生成バイナリが約半分に、「Blazor United」登場など
.NET
2023-02-24 23:46
湖池屋、経営管理プラットフォーム「DIGGLE」導入–経営データの可視化を目指す
IT関連
2024-05-25 00:40
フレッシュネス、ノーコードで業務アプリ開発–本社・店舗間の情報共有効率化
IT関連
2025-02-14 11:30
「Raspberry Pi」を冷却するには–ヒートシンクの効果を確認してみた
IT関連
2023-02-21 20:20
AGCとテラスカイ、CRMの大規模社内展開でCoEの利用など連携
IT関連
2021-02-18 17:37
GitHub、マイクロソフトの独自開発CPU、Cobalt 100プロセッサによるLinux Arm64ホステッドランナーを無料プランユーザーにも提供へ
ARM
2025-01-20 04:23
日本パープル、アドビの電子サインサービスと契約書管理「ConPass」を連携
IT関連
2022-07-05 20:37