架构师训练营第八周总结
这次就具体讲讲代码级的优化
做嵌入式系统时,代码级的优化到了极为苛刻的程度
我这里举几个例子,可能是一般互联网不会用到的
1 在 64 位操作系统上,所有的数据接口做成 8 字节对齐,同时由于系统的 cacheline 是 64 字节对齐,数据结构设计时就将代码中相近要用到的字段放在同一个 64 字节块里,这样可以减少 cache line 的次数
2 在流量转发系统中,由于申请释放内存会很耗性能,因此要尽量减少次数,这样就在系统初始化时,申请一批存在报文的 buffer,报文来时直接从 buffer 中申请使用,不做内存申请释放,这样保证性能
3 我做的最奇葩,将 128 字节的 memset,转换成循环同时 8 字节赋值,这样竟然性能可以提升将近 10%
评论