2009-01-10 149 views
2

我刚刚发现我的程序在通过dotfuscator社区版时正在失去5%的执行速度。dotfuscator减慢执行速度?

是正常的吗?什么可能是一个替代(免费)的DotFuscator,不会那样做?

回答

2

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

1

混淆器所做的一件事是混淆代码中的文字,尤其是文字字符串。这些文字在运行时必须不被混淆。字符串处理并不是特别快。

+0

把所有的字符串都放到一个资源文件中,并且应该消除这个问题。 – 2009-01-11 04:30:21

1

由于您正在使用免费版本的Dotfuscator,它只执行重命名,所以性能问题很可能与字符串文字混淆中的任何开销无关(因为该功能不在该版本中)。

如果您正在使用序列化并在您的程序集上运行sgen,然后再对它们进行模糊处理,而不包括可能导致性能问题的sgen程序集。

由于较小的二进制大小和减少的字符串表大小,在它自己的重命名通常是性能中立的性能增强。我建议的一件事是在混淆程序上运行一个分析器,并尝试找到可能为您提供某些线索的热点,这些线索可能包含有关该问题的线索。