Intel64及IA-32架构优化指南第8章多核与超线程技术——8.7 前端优化 8.8 亲密性和共享的平台资源 Read More
高效的Cache操作是存储器优化的关键方面。Cache的高效操作需要注意以下几点: Read More
C语言中具有不定参数个数的函数定义,因此可以很灵活地定义一些不确定实参个数的函数。像C标准库中的printf函数就是如此。
在某些时候,比如在做嵌入式设备,我们自己开发一套打印调试数据的接口(比如通过UART或USB),如果自己完全根据printf中的数据格式来写比较浪费时间和资源。幸亏C语言标准库中提供了vsprintf库函数能够将标准的格式字符串与后面的参数自动组织成printf输出的字符串式样。这样我们可以直接通过使用这个库函数来写自己定制的输出函数。 Read More
系统总线服务向总线代理(比如,逻辑处理器)请求来从存储器子系统获取数据或代码。因从存储器获取数据交通而产生的性能影响依赖于工作负载的特征,以及软件对存储器访问优化的程度,在软件代码中实现的位置增强。在附录A中讨论了描绘一个工作负载的存储器交通的一些技术。位置增强的优化准则也在3.6.10小节中讨论。 Read More
为了确保正确的操作,具有多个线程的应用程序使用同步技术。然而,非适当实现的线程同步会严重地减少性能。 Read More
在2011年末,ISO/IEC 9899标准委员会公布了C语言的最新官方标准——ISO/IEC 9899:2011,俗称C11标准。这个标准对C语言增加了轻量级的范型、原子操作接口、宽字符表达、多线程接口等诸多特性。
不过由于现在有些老旧的编译器连C99标准都没完全支持好,所以这边主要讲述如何应对C99标准中所提供的便利的语法特性而C90则没有的问题。比如,常用的C99的两个特性是不定参数的宏定义以及结构体、联合体的初始化器。 Read More
本小节概括了调整多线程应用程序的优化准则。下面列出了五个领域(以重要次序排列): Read More
在ARMv6T2以及ARMv7架构扩展了Thumb指令集,其中加入了IT指令,进一步增强了代码的紧凑性。 Read More
Intel64及IA-32架构优化指南第8章多核与超线程技术——8.2 编程模型与多线程 Read More
本章描述了为多线程应用的软件优化技术,这些多线程应用运行在使用多处理器(MP)系统或是带有基于硬件多线程支持的处理器环境中。多处理器系统是具有两个或多个插槽的系统,每个插槽都配有一块物理处理器包。提供了硬件多线程支持的Intel 64与IA-32处理器包括双核处理器、四核处理器以及支持HT技术的处理器 Read More