3
我重寫了一個使用反射的方法,該方法使用System.Linq.Expressions類和Expression.Compile()方法的新代碼。爲什麼用表達式<TDelegate> .Compile()比純C#慢?
正如所料,該程序使用反射速度要快得多。
我還重寫了純C#中的相同方法進行比較,並且C#中的代碼比使用Expression.Compile()編譯的代碼快4倍。在我的情況下,這個方法被循環調用了幾千次。
請注意,我從我的配置文件中取出了第一個調用,以確保我沒有測量編譯的時間。所以我編譯表達式,然後調用它一千次。
爲什麼使用Expression.Compile()編譯的代碼比純C#慢?