2

我刚刚发现我的程序在通过 dotfuscator 社区版时执行速度降低了 5%。

这正常吗?dotfuscator 的替代品(免费)是什么?

4

3 回答 3

2

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

于 2009-01-11T00:39:12.003 回答
1

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

于 2009-01-11T00:44:16.877 回答
1

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

如果您正在使用序列化并且在混淆它们之前在您的程序集上运行 sgen,并且不包括可能导致性能问题的 sgen 程序集。

由于较小的二进制大小和减小的字符串表大小,重命名本身对性能提升通常是性能中立的。我建议的一件事是在混淆程序上运行分析器并尝试找到热点,这些热点可能会给你一些线索,进入可能包含问题线索的区域。

于 2009-01-15T04:39:57.553 回答