Convert.ChangeType変換汎用型の性能損失テスト

829 ワード

パラメータパケットは常に入力され,当時は汎用+ChangeTypeで解決されていた.テストしたところ、これは確かに遅いようだ.
また、リリース後に最適化されると思われるかもしれません.しかし、ReleaseはDebugと同じように遅く、失望した.
public void Start<T>(T arg)
{
    var tmp = (Class1ArgPack)Convert.ChangeType(arg, typeof(Class1ArgPack));
    //Do something
}

 
100 w回forサイクル(参考のみ)
使用例
Structの所要時間
Classの所要時間
new class
n/a
 306ms
Convert.ChangeType
113ms
 67ms
Object強弱タイプ変換
65ms
 20ms
直接転送の強さのタイプ
17ms
 17ms