2009-01-10 186 views
2

我剛剛發現我的程序在通過dotfuscator社區版時正在失去5%的執行速度。dotfuscator減慢執行速度?

是正常的嗎?什麼可能是一個替代(免費)的DotFuscator,不會那樣做?

回答

2

是的,這是混淆的副作用。可能還有其他一些像Salamander那樣提供更好的性能,但這是混淆的副作用。

1

混淆器所做的一件事是混淆代碼中的文字,尤其是文字字符串。這些文字在運行時必須不被混淆。字符串處理並不是特別快。

+0

把所有的字符串都放到一個資源文件中,並且應該消除這個問題。 – 2009-01-11 04:30:21

1

由於您正在使用免費版本的Dotfuscator,它只執行重命名,所以性能問題很可能與字符串文字混淆中的任何開銷無關(因爲該功能不在該版本中)。

如果您正在使用序列化並在您的程序集上運行sgen,然後再對它們進行模糊處理,而不包括可能導致性能問題的sgen程序集。

由於較小的二進制大小和減少的字符串表大小,在它自己的重命名通常是性能中立的性能增強。我建議的一件事是在混淆程序上運行一個分析器,並嘗試找到可能爲您提供某些線索的熱點,這些線索可能包含有關該問題的線索。