先申明這個並非測試各類語言的好壞,頂可能是和編譯優化程度有關。php
c語言:java
#include <stdio.h>
#include <time.h>node
int main(void) {
long a=0;
clock_t start, stop;
double duration;
start = clock();
for(int i=0;i<1000000000;i++){
a++;
}
stop = clock();
duration = ((double)(stop - start))/CLOCKS_PER_SEC;
printf("%f",duration);
return 0;
}python
結果是2.9sios
c++c++
#include <iostream>
#include <time.h>
using namespace std;c#
int main() {
long a=0;
clock_t start, ends;
double duration;
start = clock();
for(int i=0;i<1000000000;i++){
a++;
}
ends = clock();
cout <<"Running Time : "<<(double)(ends - start)/ CLOCKS_PER_SEC << endl;
return 0;
}php7
結果 3.0s測試
php7:優化
<?php
$t1 = microtime(true);
for($i=0;$i<1000000000;$i++){
}
$t2 = microtime(true);
echo '耗時'.round($t2-$t1,3).'秒';
?>
結果是11s
java 1.8:
import java.io.*;
import java.lang.*;
import java.util.*;
class test
{
public static void main (String[] args) throws java.lang.Exception
{
long start= System.currentTimeMillis();
long a=0;
for(long i=0;i<1000000000;i++){
a++;
}
long end= System.currentTimeMillis();
System.out.println(a);
System.out.println(end-start);
}
}
結果是 0.449s
nodejs:
var start = new Date().getTime();
var a=0;
for(var i=0;i<1000000000;i++){
a++;
}
var end = new Date().getTime();
console.log((end - start)+"ms") ;
結果是 1.17s
c#:
using System;
using System.Diagnostics;
public class Test
{
public static void Main()
{
Stopwatch sw = new Stopwatch();
long a=0;
sw.Start();
for(long i=0;i<1000000000;i++){
a++;
}
sw.Stop();
TimeSpan ts2 = sw.Elapsed;
Console.WriteLine("Stopwatch總共花費{0}ms.", ts2.TotalMilliseconds);
}
}
結果0.541s
groovy:
using System;
using System.Diagnostics;
public class Test
{
public static void Main()
{
Stopwatch sw = new Stopwatch();
long a=0;
sw.Start();
for(long i=0;i<1000000000;i++){
a++;
}
sw.Stop();
TimeSpan ts2 = sw.Elapsed;
Console.WriteLine("Stopwatch總共花費{0}ms.", ts2.TotalMilliseconds);
}
}
結果:6.2s
python3 :
#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import time
# from numba import jit
#
#
# @jit
def test():
a=0
start=time.time()
while a < 1000000000:
a=a+1
end=time.time()
print (end-start)
print (a)
if __name__=="__main__":
test()
結果 90s
不過以上python代碼去掉jit的註釋使用jit編譯後執行結果是 0.035s