Chinaunix首页 | 论坛 | 博客
  • 博客访问: 84318
  • 博文数量: 7
  • 博客积分: 1445
  • 博客等级: 上尉
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-12 15:18
文章分类

全部博文(7)

文章存档

2010年(1)

2008年(6)

我的朋友

分类:

2008-09-07 11:53:00

本周三,Google发布了新的浏览器Chrome,我也跟着赶潮流,下载了一个回来试用。同时在cnBeta上,出现了许多试用文章,有一篇用多个测试页面来对Chrome测试。但文章没有给出测试页面的具体链接地址,不过我从截图中找到了。把JS测试完后,我仍然意犹未尽,总感觉少了点什么,何不像测试JS一样测试下C/C++和Python呢

咱们说干就干,先到Debian下建立一个目录,然后进入这个目录,准备好我们的工具:
lsj@debian007:~$mkdir testTime
lsj@debian007:~/testTime$ gcc -v
gcc version 4.3.1 (Debian 4.3.1-8)
lsj@debian007:~/testTime$ python -V
Python 2.5.2

按照JS的测试方法,分别写出对应的c++和python代码:
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 < num){

       i += 1;

    }

    time2 = time(NULL);

    cout << "for-loop:\t" << difftime(time2,time1) << endl;

}

 

void testAdd()

{

    int i = 0;

    int value1 = 123;

    int value2 = 234;

    int value3 = 0;

    time_t time1,time2;

    time1 = time(NULL);

    while(i < num){

       value3 = value1 + value2;

       i += 1;

    }

    time2 = time(NULL);

    cout << "add:\t" << difftime(time2,time1) << endl;

}

 

void testSubtract()

{

    int i = 0;

    int value1 = 123;

    int value2 = 234;

    int value3 = 0;

    time_t time1,time2;

    time1 = time(NULL);

    while(i < num){

       value3 = value2 - value1;

       i += 1;

    }

    time2 = time(NULL);

    cout << "subtract:\t" << difftime(time2,time1) << endl;

}

 

void testMultiply()

{

    int i = 0;

    int value1 = 123;

    int value2 = 234;

    int value3 = 0;

    time_t time1,time2;

    time1 = time(NULL);

    while(i < num){

       value3 = value1 * value2;

       i += 1;

    }

    time2 = time(NULL);

    cout << "multiply:\t" << difftime(time2,time1) << endl;

}

 

void testDivide()

{

    int i = 0;

    int value1 = 123;

    int value2 = 234;

    int value3 = 0;

    time_t time1,time2;

    time1 = time(NULL);

    while(i < num){

       value3 = value1 /  value2;

       i += 1;

    }

    time2 = time(NULL);

    cout << "divide:\t" << difftime(time2,time1) << endl;

}

 

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 < num){

       value3 = value2 * temp;

       i += 1;

    }

    time2 = time(NULL);

    cout << "divide2:\t" << difftime(time2,time1) << endl;

}

 

void testVar()

{

    int i = 0;

    time_t time1,time2;

    time1 = time(NULL);

    while(i < num){

       int a = 1;

       int b = 2;

       int c = 3;

       i += 1;

    }

    time2 = time(NULL);

    cout << "var:\t" << difftime(time2,time1) << endl;

}

 

void testIf()

{

    int i = 0;

    int value = 123;

    time_t time1,time2;

    time1 = time(NULL);

    while(i < num){

       if(value < 12)

           continue;

       i += 1;

    }

    time2 = time(NULL);

    cout << "if:\t" << difftime(time2,time1) << endl;

}

 

void testReadGlobal()

{

    int i = 0;

    int value = 123;

    time_t time1,time2;

    time1 = time(NULL);

    while(i < num){

       value = global;

       i += 1;

    }

    time2 = time(NULL);

    cout << "readGlobal:\t" << difftime(time2,time1) << endl;

}

 

void testConcatStrings()

{

    int i = 0;

    string string1 = "abcdefghijklmnopqrstuvxyz";

    string string2 = "abcdefghijklmnopqrstuvxyz";

    string string3 = "";

    time_t time1,time2;

    time1 = time(NULL);

    while(i < num){

       string3 = string1 + string2;

       i += 1;

    }

    time2 = time(NULL);

    cout << "concatStrings:\t" << difftime(time2,time1) << endl;

}

 

int main()

{

    testFor();

    testAdd();

    testSubtract();

    testMultiply();

    testDivide();

    testDivide2();

    testVar();

    testIf();

    testReadGlobal();

    testConcatStrings();

 

    return 0;

}


testTime.py

#!/usr/bin/python

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

import time

 

num = 1000000000

gValue = 123

 

def testFor():

    i = 0

    time1 = time.localtime()

    while i < num:

        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 < num:

        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 < num:

        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 < num:

        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 < num:

        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 < num:

        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 < num:

        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 < num:

        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 < num:

        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 < num:

        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()


阅读(1273) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~