基于龙芯2F的Glibc库优化
时间:12-14
来源:互联网
点击:
我们对其计算过程进行层数为2的循环展开。对于迭代计算过程,循环展开之后还可以继续进行赋值传递优化,减少运算量和迭代次数。循环展开层数增加时,循环次数减小,但增加了循环内的计算量,寄存器的数目满足不了中间结果的保存,需要读写内存,反而造成性能的下降。经过实验确定,层数为2是一个较好的选择。
表2是改进前后SHA256算法的性能对比,取数据大小从64B到2kB倍增。
4 总结
Glibc库是Linux系统最底层的运行库,是所有应用程序赖以执行的基础环境。本文基于龙芯2F平台对Glibc库中的字符串与内存处理函数、数据转换函数、哈希表查找函数以及加密函数进行了代码优化,大部分函数的优化比率达到30%以上,对龙芯2F平台的整体运行性能提升具有重要意义。
C语言 相关文章:
- 基于TMS320C62X DSP的混合编程研究(07-12)
- 语音识别及其定点DSP实现(06-14)
- C语言编译过程中的错误分析(08-25)
- 单片机的图形化编程方法分析(05-03)
- 基于数字信号处理器的汇编程序优化方案(03-24)
- C语言在FPGA上实现DSP的解决方案(04-09)