美文网首页
C++加法与乘法耗时问题

C++加法与乘法耗时问题

作者: Chasiny | 来源:发表于2017-10-13 15:54 被阅读0次

一般来说,乘法是比加法耗的时间更多,但是在一次写c++时想减少乘法次数而多次调用函数,导致最后测试运行时间增加,不过偶然发现似乎乘法与加法耗时差不多,于是写了简单的测试样例,这个问题待考究。


测试代码

#include <iostream>
using namespace std;

void Test1(int n){
    int k=0;
    for(int i=0;i<n;i++){
        k+=i;
    }
}

void Test2(int n){
    int a=1;
    for(int i=1;i<n;i++){
        a=a*i;
    }
}

void Test3(int n){
    int a=10000000;
    for(int i=1;i<n;i++){
        int ans=a/i;
    }
}

void Test4(int n){
    if(n<0)
        return;
    Test4(n-1);
}

int main() {
    clock_t start,finish;
    double totaltime;
    start=clock();
    Test1(100000);
    finish=clock();
    totaltime=(double)(finish-start);
    cout<<"\n加法程序的运行时间为"<<totaltime<<"秒!"<<endl;
    start=clock();
    Test2(100000);
    finish=clock();
    totaltime=(double)(finish-start);
    cout<<"\n乘法程序的运行时间为"<<totaltime<<"秒!"<<endl;
    start=clock();
    Test3(100000);
    finish=clock();
    totaltime=(double)(finish-start);
    cout<<"\n除法程序的运行时间为"<<totaltime<<"秒!"<<endl;
    start=clock();
    Test4(100000);
    finish=clock();
    totaltime=(double)(finish-start);
    cout<<"\n函数调用程序的运行时间为"<<totaltime<<"秒!"<<endl;
}

结果是:

加法程序的运行时间为336秒!

乘法程序的运行时间为319秒!

除法程序的运行时间为296秒!

函数调用程序的运行时间为2759秒!

在C++下似乎函数调用的耗时最多,加法乘法以及除法的耗时接近,这可能跟cpu厂商的优化有关系。

相关文章

  • C++加法与乘法耗时问题

    一般来说,乘法是比加法耗的时间更多,但是在一次写c++时想减少乘法次数而多次调用函数,导致最后测试运行时间增加,不...

  • 乘法先于加法?

    我们在学与教时都强调:乘法是求连续几个相同加数的和;乘法是加法的简便运算,虽没有说加法在前,乘法在后,但大家...

  • 第7节:行程、排列组合问题

    1、行程问题 2、排列组合 排列 组合 分类问题,加法 分步问题,乘法

  • 组合数学

    ## 加法原则与乘法原则 P17 gggg ff

  • 《运算律》教学反思

    运算律包括加法交换律、加法结合律、乘法交换律、乘法结合律、乘法分配律。这些运算律在数与运算中起这重要的作用。通过回...

  • 大数乘法与加法

    1、大数乘法 (1)转换并反转,字符串转换为数字并将字序反转; (2)自动移位,逐位相乘,添加最后的进位; (3)...

  • JS 加减乘除运算

    做的过程中发现加法还是不精确,精确算法为啥不精确,因为里面的乘法不是精确乘法,所以修改了一下,加法没有问题了,其他...

  • [Combinatorial] 2 小乒乓球的组合之旅

    2 小乒乓球的组合之旅 2-1 加减乘除来计数 计数的基本法则1.1 加法法则与乘法法则加法法则: 分类乘法法则:...

  • 乘法的初步认识

    核心问题: 1.乘法从哪里来?(相同加数的加法) 2.为什么要学习乘法?(简洁) 找到因数、说清几个几,理解乘法的...

  • 第三章作业

    无符号的整数加法、乘法是mod2^32的加法、乘法; 证明: #include "stdafx.h" #inclu...

网友评论

      本文标题:C++加法与乘法耗时问题

      本文链接:https://www.haomeiwen.com/subject/tvizyxtx.html