Mom*_*gil 0 c c++ optimization performance
假设我有一个C/C++函数,它被频繁调用(假设它连接到一个超时至少每秒10次的定时器)并且该函数需要使用给定的变量/容器(整数或者字符串)或数组).现在,自然而然,在内存中创建此变量的过程会花费一些处理器时钟; 因此一次又一次地运行相同的功能意味着我将放弃相当多的"处理器时钟滴答",以便多次执行完全相同的操作.这可以通过使变量全局,函数类的成员或者static:在任何这种情况下,变量/容器只创建一次并且用于总是执行相同操作的许多"处理器时钟滴答"将被保存来防止.
我的问题是:这个操作真的值得吗(当谈到性能时)?换句话说,是将变量创建为全局,类的成员还是作为static改进(即使只是一点点)代码性能的实际方法,还是有其他可能轻易杀死任何可能改进的东西?(例如,static变量可能总是在堆上而不是在堆栈中创建,并且由于第一个变量比第二个变慢,这最终会破坏这种策略的性能)或者没有"全局规则"来了解事物因为它取决于许多具体问题,例如正在使用的处理器,编译器完成的优化以及变量/容器的类型,这样只有具有逐案研究的基准才能真正说明差异?