多次调用函数是否会降低程序速度
Does calling a function multiple times decrease the programm speed?
我只是有一个简短的问题。
1.
sf::Vector2f position = player.getPosition();
std::cout << position.x << " " << position.y << 'n';
阿拉伯数字。
std::cout << player.getPosition().x << " " << player.getPosition().y << 'n';
第一种方法理论上比第二种方法更快吗? 因为第二种方式调用同一个函数 2 次。
通常多次调用一个函数确实会使程序变慢。
对于每个函数调用,都需要保存上下文(程序计数器、局部变量等(,并且需要创建一个新的堆栈帧,其中保存了在该函数中创建的局部变量。
因此,每次调用函数时,所有这些都会发生。这还没有考虑到函数需要多少时间来处理它必须处理的任何内容。
也许吧。这要看情况。
多次调用函数可能比调用一次函数慢。
但是,如果优化器可以证明该函数没有副作用,那么它将能够将多个函数调用减少到一个。如果优化器为两种备选方案生成相同的输出,则程序速度不会有任何降低。
相关文章:
- 多线程减慢程序速度:无错误共享,无互斥锁,无缓存未命中,无小工作量
- Windows 7 应用程序在未聚焦时运行速度较慢
- 重新执行C++程序会加快速度
- 读/写 OpenMP 中的共享向量会减慢程序速度
- 相同的 c 和 c++ 程序之间的巨大速度差异
- JIT 编译器及其在 C++ 前面加快 .NET 中程序执行速度的好处
- 将统一的内存指针传递给内核会减慢程序的速度
- QWebView 用于在桌面应用程序中运行 javascript (D3) - 当 HTML 更改时重新加载速度很慢
- 多次调用函数是否会降低程序速度
- 如何在 Ubuntu 上提高我的程序磁盘读取速度
- 如何在不冻结线程/应用程序的情况下减慢方法执行速度
- 头文件是否会影响程序的内存或处理速度
- C 程序放慢迭代速度
- 在Visual Studio上运行时程序速度变慢
- 在不减慢主应用程序速度的情况下在后端运行成员函数的技巧是什么
- 访问对象的变量会减慢程序速度 (C++)
- C++11与OpenMP结合使用,可执行程序速度较慢
- 当用文字替换变量用法时,程序速度减慢了很多,为什么
- 通过回避函数来提高程序速度?(C++)
- TCLAP使多线程程序速度变慢