我的主循环中有一个名为 ~200hz 的函数。它在 NXT 上运行,因此处理器非常慢。在我的函数中,它实例化一个变量,将其写入屏幕,然后结束。由于处理器的速度,我需要这个函数尽可能快,并且想知道在全局范围内声明一个变量并在每次调用该函数时重置它,或者在函数内实例化它是否更快。为了澄清,哪个例子会更快?
int foo=0;
void bar() {
foo=0;
//do something with foo
}
对比
void bar() {
int foo=0;
//do something with foo
}
显然,我想在我的代码中使用第二个片段,因为全局变量被认为是“坏的”,但 NXT 处理器真的很慢。
最佳答案
每当遇到类似情况时,最好的办法就是简单地测量两个选项的速度。如果不对它们进行测试,实际上没有任何方法可以确定哪个更好,特别是考虑到您甚至不知道编译器如何编译您的代码。
关于C变量实例化速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25570882/