当指数是整数时,pow()函数比简单乘法慢
Is pow() function slower than simple multiplication when exponent is integer?
我有一个问题:对于计算二重的简单整数幂,pow()函数比简单乘法慢吗?例如对于2.71828^4
,pow(2.71828, double(4))
是否比使用for循环的简单乘法慢?
我试图比较两种方法的持续时间,但持续时间并不稳定,有时pow()
获胜,有时简单乘法获胜。有人能给我一个肯定的答案吗?
我的代码如下:
#include <iostream>
#include <cmath>
#include <ctime>
using namespace std;
double myFunction(double a) {
double c = 1;
for (int i = 1; i <= 4; i++)
c *= a;
return c;
}
int main() {
// Calculate the time used by pow function
clock_t start = clock();
for (double i = 0; i < 1000000; i = i + 0.001)
pow(i, 4);
clock_t durationP = double(clock() - start);
cout << "the duration for pow function is: " << durationP << "s" << endl;
// Calculate the time used by simple multiplication
start = clock();
for (double i = 0; i < 1000000; i = i + 0.001)
myFunction(i);
double durationS = double(clock() - start);
cout << "the duration for simple multiplication is:" << durationS << "s"
<< endl;
}
非常感谢!
相关文章:
- 关于简单C++函数(is_palindrome)的逻辑的问题
- 关于 c++ 函数中指针赋值的简单问题
- 从函数返回任意简单类型的数据
- 如何在没有函数的情况下编写此代码并使C++更简单?
- 用于在 C++ 中使用 while 循环查找下一个素数的简单函数
- 查找定义我的 C/C++ 函数/宏的文件比'grep'更简单的方法
- 处理简单 cpp 类构造函数中的错误
- 尝试创建包含简单方程的函数
- 简单函数并不总是返回预期的输出
- 有没有一种简单的方法可以在对象向量上调用构造函数?
- 有没有一种简单的方法来调用带有默认参数的函数?
- "std::function"的简单版本:函数对象的生存期?
- C++简单函数困境
- Qt的新信号/时隙语法问题 - 连接到一个简单的函数
- 为具有多个参数的函数创建 SWIG 类型图的更简单方法?
- 这个简单的 C++ 递归函数来反转字符串有什么问题?
- 返回值的简单模板类成员函数专用化
- 在简单地移动参数时使用函数模板参数的优点
- 迭代器和简单的赋值/析构函数
- 如何使用这个 C++ 模板函数.简单的初学者问题