我正在使用C++实现DES加密算法,我在一个非常大的文档(1.1MB)plaint文本上对它进行基准测试。会混淆使我的程序更优化
我现在已经达到了大约1.1秒的加密,我需要挤出更多的性能。
我在想混淆,这有助于优化我的代码吗?
我正在使用C++实现DES加密算法,我在一个非常大的文档(1.1MB)plaint文本上对它进行基准测试。会混淆使我的程序更优化
我现在已经达到了大约1.1秒的加密,我需要挤出更多的性能。
我在想混淆,这有助于优化我的代码吗?
我想优化你的代码是优化它的最佳方式:
混淆使得代码难以阅读:
那么,你没有写过什么样的模糊处理(在源代码级别?),但一般是:不,它不会。在一种像Javascript这样的语言(或者非常古老的解释性基本方言)中,有时混淆和优化会携手进行(缩短变量名称,删除不必要的空格/缩进等),但不是像C++这样的编译语言。
当然,有时候某种错误的优化会导致代码混淆,但这是另一回事。
现在的C++编译器真的很聪明。主要优化来自宏观层面。即使是Blender的例子,删除未使用的变量也是不需要的,因为优化器无论如何都会将其删除。
混淆不会让你的代码更加智能化,它不会改变算法,也不会引入动态编程或其他类型的东西。
我不明白你为什么要这样做。使用编译语言,您不必提供源代码,如果需要,您可以发送头文件和库,但这些文件不会泄露实现细节。
混淆它不会使其更优化。但是优化它可能会使其更加混淆。 :) – Mysticial
@匿名downvoter:不要因为你不喜欢OP的想法而降低法律和明确的问题 - 至少他在质疑他的计划。 –
DES现在太弱了 - 至少实现了TripleDES或更好的AES。 –