我有一个函数,它是我的程序的瓶颈。它不需要访问内存,只需要计算。它是内部循环,调用了很多次,所以这个函数的任何小收益都是我的程序的大胜利。
我有在PS3上优化SPU代码的背景,在那里,您可以将SPU程序通过管道分析器运行,在流水线分析器中,您可以将每个汇编语句放在它自己的列中,并最大限度地减少函数所需的周期。然后覆盖循环,这样就可以进一步最小化管道依赖。有了这个程序和每个汇编指令所占用的所有周期的列表,我可以比编译器更好地进行优化。
在不同的平台上,它有我可以注册的事件(缓存未命中、周期等)。我可以运行函数并跟踪CPU事件。这也很不错。
现在,我正在做一个业余爱好项目,使用的是采用i7英特尔核心处理器的Visual Studio2010 C++。我没有足够的钱来证明支付VTune的巨大成本是合理的。
我的问题:
如何在汇编级别评测Windows上英特尔处理器的函数?
我想编译,查看反汇编,获得性能指标,调整我的代码,并重复。
https://stackoverflow.com/questions/7628476
复制相似问题