最近在做密码学作业,发现老师对性能的要求特别高。所以最近想到了一些如何提高性能的方式
1. 从文件中读取数据的时候,若是一次性读取64bytes,速度会特别慢,一般是一次性读取若干个页面(Os中似乎页面大小是4kb)
2. 所有的乘法尽量改成位移
3. 尽量使用位运算
4. 考虑到数据冒险等情形,你应该尽量不要在循环函数里放分支语句。
5. 如果是小型循环,尽量直接用代码写出来,不要写成循环,因为每一次都要比较以判断循环是否结束,对于现在的流水线计算机的话可能并不是很好,有可能导致预取指令的失败。