Home > 【VisualStudio.NET】sealedキーワードでインライン化

【VisualStudio.NET】sealedキーワードでインライン化

  • Posted by:
  • 2006年9月 3日 13:24

第 5 章 「マネージ コード パフォーマンスの向上」
ちょっと長いドキュメントですが、「sealed キーワードの使用を検討する」の見出しの部分になります。

簡単に説明すると、仮想メソッド(virtual)をオーバーライド(override)していてもう継承する予定が無い場合、sealedを付けると高速化するというもののようです。
「クラス設計を拡張する必要がないなら、仮想メンバは使わないようにしてください。仮想テーブル検索による呼び出しの負担が大きく、実行時のパフォーマンス最適化を妨げる場合があるためです。」
と書いてあるように、仮想メソッドはオーバーヘッドが大きいようです。
sealedで明示的に終わりを宣言すると、コンパイラの最適化でvirtualなメソッドの中身をインライン化するようです。
そうすると実質的にはvirtualの呼び出しが行われなくなるので(インライン化されているから)、高速化するという理屈なんじゃないかなと思います。

微妙な高速化ですが、繰り返し処理で使われている場合は改善が見込めるかもしれません。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://magicbox.sakura.ne.jp/mt/mt-tb.cgi/139
Listed below are links to weblogs that reference
【VisualStudio.NET】sealedキーワードでインライン化 from 爆裂!C#野郎

Home > 【VisualStudio.NET】sealedキーワードでインライン化

Search
Feeds
Tag Cloud
Recommend

SQLパズル 第2版 プログラミングが変わる書き方/考え方
SQLパズル 第2版 プログラミングが変わる書き方/考え方

ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系
ソフトウェアアーキテクチャ―ソフトウェア開発のためのパターン体系

ITアーキテクト vol.1
ITアーキテクト vol.1

オブジェクト指向における再利用のためのデザインパターン
オブジェクト指向における再利用のためのデザインパターン

増補改訂版 Java言語で学ぶデザインパターン入門
増補改訂版 Java言語で学ぶデザインパターン入門

増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編
増補改訂版 Java言語で学ぶデザインパターン入門 マルチスレッド編

J2EEデザインパターン
J2EEデザインパターン

アンチパターン―ソフトウェア危篤患者の救出
アンチパターン―ソフトウェア危篤患者の救出

世界でいちばん簡単なネットワークのe本―ネットワークとTCP/IPの基本と考え方がわかる本
世界でいちばん簡単なネットワークのe本―ネットワークとTCP/IPの基本と考え方がわかる本

Return to page top