LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 884|回复: 0

calculation speed comparison of C,Java,Python

[复制链接]
发表于 2005-11-6 19:59:58 | 显示全部楼层 |阅读模式
platform) windows xp
version)
C: gcc version 3.3.1 (mingw special 20030804-1)
Java: JDK1.5.0
Python: Python 2.4.2

program)
C:

#include
#include
#include
void printPrime(int start, int count);
int isPrime(int x);
int main(){
        DWORD t1,t2;
        t1=timeGetTime();
printPrime(10,2000);  
        t2=timeGetTime();
printf("%d\n", (t2-t1));
}

void printPrime(int start, int count){
  while(1){
   if (isPrime(start)){
    count--;
    printf("%i\n",start);
   }
   start++;
   if (count<=0){
    return;
   }
  }
}
int isPrime(int x){
        int i;
  for (i=2; i   if (x%i==0){
    return 0;
   }
  }
  return 1;
}

Java:

public class Test {
public static void main(String[] args){
  run();
}
static void run(){
  long t1=System.currentTimeMillis();
  printPrime(10,2000);  
  System.out.println((System.currentTimeMillis()-t1)+" ms");
}

static void printPrime(int start, int count){
  while(true){
   if (isPrime(start)){
    count--;
    System.out.println(start);
   }
   start++;
   if (count<=0){
    return;
   }
  }
}
  static boolean isPrime(int x){
  for (int i=2; i   if (x%i==0){
    return false;
   }
  }
  return true;
}
}


Python:

def printPrime(start, count):
while True:
  if isPrime(start):
   count-=1
   print start
  start+=1
  if count <= 0:
   return
def isPrime(x):
for i in range(2,x/2):
  if x % i==0:
   return False
return True

from time import time
t1=time()
printPrime(10, 2000)
print time()-t1


excution)
redirect stdout to a file


Result)
C: 230 ms
Java: 460 ms
Python: 7800 ms


Date) 2005/11/05
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表