我正在使用C ++实现DES加密算法,我在一个非常大的文档(1.1MB)plaint文本上进行基准测试。
我现在已经加密了大约1.1秒,我需要从中获得更多性能。
我在考虑混淆,这有助于优化我的代码吗?
答案 0 :(得分:8)
我认为优化代码是优化代码的最佳方式:
混淆使代码难以阅读:
答案 1 :(得分:2)
嗯,你没有写过你想到的那种混淆(源代码级别?),但通常是:不,它不会。在像Javascript(或非常旧的解释基本方言)这样的语言中,有时混淆和优化是相辅相成的(缩短变量名,删除不必要的空格/缩进等),但不是像C ++这样的编译语言。
当然,有时某种误导性的优化会导致代码混淆,但这是另一回事。
答案 2 :(得分:0)
现在的C ++编译器真的非常聪明。主要优化来自宏观层面。即使是Blender的例子,也不需要删除未使用的变量,因为优化器无论如何都会删除它们。
混淆不会使您的代码更智能,它不会改变算法,也不会引入动态编程或任何类型。
我不明白为什么你会这么想。使用编译语言,您不必提供源代码,如果需要,您可以提供标题和库,但那些不会泄露实现细节。