かずきのBlog@hatena

すきな言語は C# + XAML の組み合わせ。Azure Functions も好き。最近は Go 言語勉強中。日本マイクロソフトで働いていますが、ここに書いていることは個人的なメモなので会社の公式見解ではありません。

Kinkuma Framework 1.2.5のViewModelの初期化がどれくらい遅いか試してみた

リフレクションに走って記述の簡潔さだけに気合を入れたKinkuma FrameworkのViewModelですが、実際に初期化がどの程度遅いのか試してみました。

やったこと

100個のコマンドを持つViewModelクラスを3つ作り、1つは属性ベースでリフレクションを使ってコマンドの初期化を行う方法。もう1つは、T4 Templateベースで作成したコマンドを使う方法。最後の1つは100個のコマンドを愚直に全部手で初期化するコードを書く方法。

このViewModelを1000個作成するのにかかる時間を測定しました。

結果

やっぱリフレクション遅いな・・・・

Kinkuma Framework 2000ms〜3000ms
Kinkuma Framework + T4 300ms〜400ms
手書き 10ms〜20ms