![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
性能优化
lkkey80
这个作者很懒,什么都没留下…
展开
-
释放某个文件的cache
之前在嵌入式设备上做视频备份,将自主开发的用户文件系统中视频数据备份成ASF文件。由于涉及file io,遇到的一个问题是Linux会cache住那些asf文件,造成free内存减少。虽然这没有什么,但是为了稳定性考虑,我们的系统在free内存少于一个阈值时会告警。当时采取的方式是,每备份一部分数据通过echo 3 > /proc/sys/vm/drop_caches来释放cache。现在想想原创 2015-12-07 16:11:46 · 615 阅读 · 0 评论 -
GCC 内建函数
__builtin_*形式的gcc内建函数一般是基于不同硬件平台采用专门的硬件指令实现的,因此性能较高。如int __builtin_popcount (unsigned int x)Returns the number of 1-bits in x.int __builtin_popcountl (unsigned long)Similar to __builtin_popc原创 2016-04-13 23:52:02 · 3120 阅读 · 0 评论 -
Intel硬件指令加速计算CRC32
纯软件实现CRC32经常是借助于查表实现的,当计算CRC32过于频繁时可通硬件指令优化以减少对CPU的占用。目前Intel支持的用于计算CRC的有CRC32和PCLMULQDQ两个指令。本文仅讨论使用CRC32指令的使用。CRC32指令计算的是iSCSI CRC,也就是生成多项式为0x11EDC6F41的32位CRC。使用CRC32指令的方式有2种:一种是直接使用(内联)汇编代码;另一种是借助原创 2015-02-11 13:29:35 · 12294 阅读 · 0 评论