Go の型アサーションと型スイッチ: パフォーマンスへの影響
型のイントロスペクションは、オブジェクトの実行時の型を調べるための一般的な手法です。ただし、パフォーマンスへの影響に関して懸念が生じます。この記事では、Go の型アサーションと型スイッチの速度を調査し、他の型チェック手法と比較します。
型検出パフォーマンス
Go では、次のように入力します。アサーションと型スイッチは、実行時にオブジェクトの型を識別する便利な方法を提供します。これらのメカニズムが C/C などの言語でパフォーマンス コストを引き起こす可能性があることは知られていますが、Go でのその影響については明らかな点が限られています。
ベンチマーク評価
パフォーマンスを評価するには型アサーションと型スイッチのベンチマーク テスト スクリプトを作成しました (次の場所で入手可能です)。 http://play.golang.org/p/E9H_4K2J9-)。テストでは、次の 4 つのメソッドを比較しました。
結果と分析
ベンチマーク結果は、4 つの方法すべてが同等の性能を備えていることを示しています。速度:
更新結果 (2019 年 10 月 9 日):
前の結果 ( 1月19日2015):
結論
予想に反して、Go の型アサーションと型スイッチは他の型と比較してパフォーマンスへの影響が最小限ですチェック方法。これは、開発者が実行時のコストをあまり気にせずにこれらの手法を使用できることを意味します。当社のベンチマーク テストでは、4 つの方法すべてが同等の速度を示し、パフォーマンスが重要なアプリケーションでの使用に適していることが実証されました。
以上が実際、Go の型アサーションと型スイッチはどれくらい速いのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。