C#+WPFチューニング戦記

C#とWPFで高速なコードと最適なシステムを書くためにやってきたいろいろな事を書いてみます。.NET Frameworkのソースコードを読み解きましょう。なお、ここに書かれているのは個人の見解であって何らかの団体や企業の見解を代表するものではありません。

パフォーマンスが落ちていないことを確認する大切な作業

新しい糖衣構文が出てきたらILの品質を確認しましょう。 VisualStudio 2015のC#では以下のように同じようなプロパティを記述できます。

class Test{

   int Value1{ get; set; } = 100;

   int _value2 = 100;
   int Value2 { get{ return _value2; } set{ _value2 = value; } }

   int Value3 { get; set; }

   public Test() {
      Value3 = 100; 
   }
}

ILSpy等を用いて逆アセンブルしてみると、上記の Value1 Value2 Value3 は全く同等のコードであることがわかります。

つまり、安心して最も短い構文を用いてよいことになります。

こうやって、新しい糖衣構文がどのように展開されるか理解することは結構重要です。

何と申しますか、昔の職場の先輩が新製品のCPUが出る都度CPUの仕様書などから速度を検証していたことを思い出します。これはそれと似た作業だと思っています。