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

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

常識とかセオリーには何度もだまされたのです

最後にブログを書いていたころのことを思い出すと、あれからずいぶん技術的な点では変化があったなと思います。あの当時は.NET FrameworkLINQなんてありませんでしたし、DirectXと相互運用できるOSSもありませんでした。WPFもありませんでした。

ただ、C#登場以来ひたすらに取り組んでいることがありました。

それは、現時点では以下のような事になっています。

  • C#で高速なコードを記述するということ
  • WPF登場後はWPFで最も効率的な挙動を模索すること
  • データ的な意味で巨大な構造物を高効率で扱うプログラムを書くこと
  • 可読性と互換性を損なわぬこと

それはベンチマークとパフォーマン解析の連続でした。たくさんあるセオリーの組み合わせの工夫でした。そして他の部分は、Microsoftが提唱する常識やセオリーを一部覆すことでした。仕様から陥りがちな罠に対抗することでした。

でもおかげでいろいろなノウハウを獲得することができたと思います。

これができるようになったのも、.NET Frameworkソースコードが公開されたことと、いろいろなサイトが山ほどの情報を提供してくれたこと、また業務上の機会にも大変恵まれていたことによります。

これらの事柄にはいつも感謝しています。

そして最近、また昔のように少し自分の得た知見を記事にしてみようと考えるようになりました。

慎みながら、根拠を開示しながら、細々とノウハウを書き綴っていきたいと思います。

誤りのご指摘や感想等いただけたらありがたいと思います。

また、当然どこかで既に書かれていることを書くこともあると思いますが、その場合はあたたかく見守っていただけたら幸いです。

職業上のコードを開示することは絶対にありません。ここに書くコードは引用のものを除きすべて私が記述したものとなります。コピーして使用する等、全く問題にしません。断らずに使用してください。

最近ともかく有難かった書籍を1つ紹介させていただきます。 

C#プログラマのための.NETアプリケーション最適化技法

C#プログラマのための.NETアプリケーション最適化技法

 

 アセンブラのレベルまで下りてきてC#の速度を論じている少ない本の1つとして、ご参考までに。