Go での関数のインライン化の無効化
特定のシナリオでは、特定の関数のインライン化を回避するように Go コンパイラーに指示する必要がある場合があります。組み込みのインライン最適化は、コードのパフォーマンスと可視性に影響を与える可能性があり、実行が遅くなったり、複雑な呼び出しシーケンスのデバッグが困難になったりすることがあります。
//go:noinline プラグマの使用
特定の関数のインライン化を無効にするには、//go:noinline プラグマを使用できます。目的の関数宣言の前にディレクティブを配置するだけです:
//go:noinline func isPrime(p int) bool { // ... }
すべてのインライン化を無効にする
プログラム内のすべての関数のインライン化を無効にしたい場合は、以下を使用できます。コンパイル時の -gcflags=-l フラグ。このオプションは、インライン展開を無効にするように Go コンパイラーのフラグを設定します。
go build -gcflags=-l primes.go
追加メモ
以上がGo で関数のインライン化を無効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。