単体テストと模擬に対応するには、メソッドとプロパティを仮想として宣言することが一般的になります。仮想ではないと思われるものを宣言することによるパフォーマンスへの影響はありますか?仮想メソッドのパフォーマンスへの影響
6
A
答えて
9
一般に、仮想メソッドはCallvirt Opcodeを使用して呼び出されますが、仮想メソッドは標準Call Opcodeを使用しないという違いがあります。 Call OpcodesはCallvirtよりもはるかに高速ですが、これに基づいて設計上の意思決定を正当化するのに十分な程度のものはこれまでにないほどです。
Premature optimization is the root of all evil.
1
いいえ、実際はありません。
これはあなたが気づくことではありません。
1
私は詳細を知らないが、私はあなたがそこにアプリケーションの99%のためにそれを心配する必要はありませんことを知っています。
btw - クラスではなくモックインターフェイスを選択すると、仮想メソッドは必要ありません。
幸運、あなたがtestability_ため_design考える トム
+0
あなたは仮想メソッドと同じインダイレクションのペナルティをインターフェースに持っています。 – leppie
関連する問題
- 1. 仮想継承のパフォーマンスへの影響
- 2. ダイレクトマップメモリに比べて仮想メモリのパフォーマンスへの影響は?
- 3. mysql_data_seekのパフォーマンスへの影響
- 4. SQLストアドプロシージャのコメントのパフォーマンスへの影響
- 5. MongoDBでのDateTimeのパフォーマンスへの影響
- 6. LoadControlのパフォーマンスへの影響は?
- 7. マーカーとベクターのポイント - パフォーマンスへの影響
- 8. -fno-strict-aliasingのパフォーマンスへの影響
- 9. OpenCL - パフォーマンスへの障壁の影響
- 10. fwrite() - パフォーマンスへのサイズとカウントの影響
- 11. セッション変数のパフォーマンスへの影響PHP
- 12. 効果CSSプロパティのパフォーマンスへの影響
- 13. 大きなパーマネントサイズ+パフォーマンスへの影響
- 14. SQL:長いvarcharとパフォーマンスへの影響
- 15. X509Certificate2.Verify()メソッド。失効リストとそのパフォーマンスへの影響を検証します。
- 16. Boost.Variantと仮想インターフェイスのパフォーマンス
- 17. PHPの多くの必須ファイルのパフォーマンスへの影響
- 18. Delphiでのジェスチャ認識のパフォーマンスへの影響?
- 19. MySQLでのORDER BY COALESCEのパフォーマンスへの影響
- 20. ASP.NET - app_dataフォルダ内のSQLサーバーデータベースのパフォーマンスへの影響
- 21. Oracle 10gでのパフォーマンスへのパッケージサイズの影響
- 22. SSASの計算されたメンバーのパフォーマンスへの影響
- 23. パンダのユニークでないインデックスのパフォーマンスへの影響は?
- 24. ApacheとMySQLでのPHP出力バッファリングのパフォーマンスへの影響
- 25. セッション変数:制限値の設定とパフォーマンスへの影響
- 26. Swashbuckleを使用した場合のパフォーマンスへの影響
- 27. 背景ASP.NETでのスレッド化とパフォーマンスへの影響
- 28. CDIを使用した場合のパフォーマンスへの影響
- 29. HTML5 <canvas>:drawImage()のパフォーマンスへの影響
- 30. ネストされたセレクタのパフォーマンスへの影響とLESS
は、ちょうどすべて 'virtual'と、すべてのクラス' open'を作っていますか?うーん... –
@StefanHanke:私は、営業担当者がそれがちょうど*だと思っているとは思わない。 –
ええ、私はそれが必要ではないときに行うべきではないと思う...それは適切なときにテスト容易性を向上させることができるただ一つの尺度だ。 – TGH