免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 923 | 回复: 0
打印 上一主题 下一主题

C,C++和Python的性能比较(1) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-23 11:50 |只看该作者 |倒序浏览
testTime.cpp
C++语言:
testTime.cpp
      #include

#include

#include "time.h"

using namespace std;

  

#define num 1000000000

const int global = 123;

  

void testFor()

{

     int i = 0;

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        i += 1;

     }

     time2 = time(NULL);

     cout "for-loop:\t"  
}

  

void testAdd()

{

     int i = 0;

     int value1 = 123;

     int value2 = 234;

     int value3 = 0;

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        value3 = value1 + value2;

        i += 1;

     }

     time2 = time(NULL);

     cout "add:\t"  
}

  

void testSubtract()

{

     int i = 0;

     int value1 = 123;

     int value2 = 234;

     int value3 = 0;

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        value3 = value2 - value1;

        i += 1;

     }

     time2 = time(NULL);

     cout "subtract:\t"  
}

  

void testMultiply()

{

     int i = 0;

     int value1 = 123;

     int value2 = 234;

     int value3 = 0;

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        value3 = value1 * value2;

        i += 1;

     }

     time2 = time(NULL);

     cout "multiply:\t"  
}

  

void testDivide()

{

     int i = 0;

     int value1 = 123;

     int value2 = 234;

     int value3 = 0;

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        value3 = value1 /  value2;

        i += 1;

     }

     time2 = time(NULL);

     cout "divide:\t"  
}

  

void testDivide2()

{

     int i = 0;

     int value1 = 123;

     int value2 = 234;

     int value3 = 0;

     int temp = (1/value1);

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        value3 = value2 * temp;

        i += 1;

     }

     time2 = time(NULL);

     cout "divide2:\t"  
}

  

void testVar()

{

     int i = 0;

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        int a = 1;

        int b = 2;

        int c = 3;

        i += 1;

     }

     time2 = time(NULL);

     cout "var:\t"  
}

  

void testIf()

{

     int i = 0;

     int value = 123;

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        if(value 12)

            continue;

        i += 1;

     }

     time2 = time(NULL);

     cout "if:\t"  
}

  

void testReadGlobal()

{

     int i = 0;

     int value = 123;

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        value = global;

        i += 1;

     }

     time2 = time(NULL);

     cout "readGlobal:\t"  
}

  

void testConcatStrings()

{

     int i = 0;

     string string1 = "abcdefghijklmnopqrstuvxyz";

     string string2 = "abcdefghijklmnopqrstuvxyz";

     string string3 = "";

     time_t time1,time2;

     time1 = time(NULL);

     while(i  
        string3 = string1 + string2;

        i += 1;

     }

     time2 = time(NULL);

     cout "concatStrings:\t"  
}

  

int main()

{

     testFor();

     testAdd();

     testSubtract();

     testMultiply();

     testDivide();

     testDivide2();

     testVar();

     testIf();

     testReadGlobal();

     testConcatStrings();

  

     return 0;

}
testTime.py
Python语言:
testTime.py
      #!/usr/bin/python

#-*- coding:utf-8 -*-

import time

  

num = 1000000000

gValue = 123

  

def testFor():

     i = 0

     time1 = time.localtime()

     while i  
         i += 1

     time2 = time.localtime()

     print 'for-loop:\t',time.mktime(time2) - time.mktime(time1)

   

def testAdd():

     i = 0

     value1 = 123

     value2 = 234

     value3 = 0

     time1 = time.localtime()

     while i  
         value3 = value1 + value2

         i += 1

     time2 = time.localtime()

     print 'add:\t',time.mktime(time2) - time.mktime(time1)

     

def testSubtract():

     i = 0

     value1 = 123

     value2 = 234

     value3 = 0

     time1 = time.localtime()

     while i  
         value3 = value2 - value1

         i += 1

     time2 = time.localtime()

     print 'substract:\t',time.mktime(time2) - time.mktime(time1)

     

def testMultiply():  

     i = 0

     value1 = 123

     value2 = 234

     value3 = 0

     time1 = time.localtime()

     while i  
         value3 = value2 * value1

         i += 1

     time2 = time.localtime()

     print 'multiply:\t',time.mktime(time2) - time.mktime(time1)

   

def testDivide():

     i = 0

     value1 = 123

     value2 = 234

     value3 = 0

     time1 = time.localtime()

     while i  
         value3 = value2 / value1

         i += 1

     time2 = time.localtime()

     print 'divide:\t',time.mktime(time2) - time.mktime(time1)

   

def testDivide2():

     i = 0

     value1 = 123

     value2 = 234

     value3 = 0

     temp = (1/value1)

     time1 = time.localtime()

     while i  
         value3 = value2 * temp

         i += 1

     time2 = time.localtime()

     print 'divide2:\t',time.mktime(time2) - time.mktime(time1)

   

def testVar():

     i = 0

     time1 = time.localtime()

     while i  
         a = 1

         b = 2

         c = 3

         i += 1

     time2 = time.localtime()

     print 'var:\t',time.mktime(time2) - time.mktime(time1)

   

def testIf():

     i = 0

     value1 = 123

     time1 = time.localtime()

     while i  
         if value1 12:

             pass

         i += 1

     time2 = time.localtime()

     print 'if:\t',time.mktime(time2) - time.mktime(time1)

  

def testReadGlobal():

     i = 0

     value1 = 123

     time1 = time.localtime()

     while i  
         value1 = gValue

         i += 1

     time2 = time.localtime()

     print 'readGlobal:\t',time.mktime(time2) - time.mktime(time1)

   

def testConcatStrings():

     i = 0

     string1 = 'abcdefghijklmnopqrstuvxyz'

     string2 = 'abcdefghijklmnopqrstuvxyz'

     string3 = ''

     time1 = time.localtime()

     while i  
         string3 = string1 + string2

         i += 1

     time2 = time.localtime()

     print 'concatStrings:\t',time.mktime(time2) - time.mktime(time1)

   

if __name__=='__main__':

     testFor()

     testAdd()

     testSubtract()

     testMultiply()

     testDivide()

     testDivide2()

     testVar()

     testIf()

     testReadGlobal()

     testConcatStrings()
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/80381/showart_1217972.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP