一、Julia在Linux上的运行时间
1.调用python包来实现计时
在PyCall扩展包中,模仿Python的import
语句,提供了一个可以导入Python模块的@pyimport
宏。并且,为能在Julia中使用模块内的函数和常量做了封装,以及支持在Julia与Python间的自动类型转换。
1.1 安装PyCall
打开Julia,输入:
ENV["PYTHON"]="python.exe"
using Pkg
Pkg.add("PyCall")
1.2 python包程序
test02.jl
using Pkg
using PyCall
@pyimport datetime
t1 = datetime.datetime.now()
for i in 1:100000
math.sin(2*pi*500*i)
end
t2 = datetime.datetime.now()
println((t2 - t1))
1.3 结果显示
调用python包,运行十万次花费时间为:
2245 milliseconds
2.安装Julia自带的time
2.1 julia程序
new.jl
t1 =time()
for i in 1:100000
sin(2*pi*500*i)
end
t2 =time()
println((t2-t1)*1000)
2.2 结果显示
都是以毫妙为单位。
运行十万次花费时间为:
20.923852920532227
运行百万次花费时间为:
60.99200248718262
运行千万次花费时间为:
463.2608890533447
二、C在Linux上的运行时间
1.c语言代码
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#define PI 3.1415926535
void main()
{
int begintime,endtime;
int i=0;
begintime=clock();
for(i=0;i<10000000;i++)
{
sin(2*PI*500*i);
}
endtime = clock();
printf("\n\nqianWAN Running Time:%lfms\nms",((double)(endtime-begintime)));
}
2.结果显示
都是以毫妙为单位。
运行十万次花费时间为:
0.000000
运行百万次花费时间为:
0.000000
运行千万次花费时间为:
0.000000
Windows结果:
三、Java在Linux上的运行时间
1.Java代码
public class Test01 {
static void baiwan() {
double PI=3.1415926535;
int i=0;
long start = System.currentTimeMillis();
for(i=0;i<1000000;i++) {
Math.sin(2*PI*500*i);
}
long end = System.currentTimeMillis();
double useTime = (end - start);
System.out.println("yiBaiWan Running Time:"+useTime+"ms");
}
static void qianwan() {
double PI=3.1415926535;
int i=0;
long start = System.currentTimeMillis();
for(i=0;i<10000000;i++) {
Math.sin(2*PI*500*i);
}
long end = System.currentTimeMillis();
double useTime = (end - start);
System.out.println("yiQianWan Running Time: "+useTime+"ms");
}
static void shiwan() {
double PI=3.1415926535;
int i=0;
long start = System.currentTimeMillis();
for(i=0;i<100000;i++) {
Math.sin(2*PI*500*i);
}
long end = System.currentTimeMillis();
double useTime = (end - start);
System.out.println("shiWan Running Time:"+useTime+"ms");
}
public static void main(String[] args)
{
shiwan();
baiwan();
qianwan();
}
}
2.结果显示
都是以毫妙为单位。
shiWan Running Time:50.0ms
yiBaiWan Running Time:44.0ms
yiQianWan Running Time: 2251.0ms
windows运行时间:
四、python在Linux上的运行时间
1.python代码
import numpy as np
import time
def shiwan():
time_start = time.time()
for i in range(1,100001):
np.sin(2*np.pi*500*i)
time_end=time.time()
print(f"shiWan Running Time:{(time_end - time_start)*1000}ms")
def baiwan():
time_start = time.time()
for i in range(1, 1000001):
np.sin(2 * np.pi * 500 * i)
time_end = time.time()
print(f"baiWan Running Time:{(time_end - time_start)*1000}ms")
def qianwan():
time_start = time.time()
for i in range(1, 10000001):
np.sin(2 * np.pi * 500 * i)
time_end = time.time()
print(f"qianWan Running Time:{(time_end - time_start)*1000}ms")
shiwan()
baiwan()
qianwan()
2.结果显示
shiWan Running Time:2240.0074005126953ms
baiWan Running Time:9671.464920043945ms
qianWan Running Time:25737.513303756714ms
windows结果:
shiWan Running Time:129.6536922454834ms
baiWan Running Time:1156.9654941558838ms
qianWan Running Time:11449.37801361084ms
五、octave在Linux上的运行时间
1.octave代码
tic;
for i=1:10000000
sin(2*pi*500*i);
end
toc;
disp(['qianwan Running Time: ',num2str(toc)]);
2.结果显示
以秒为单位
shiwan Running Time: 11.469
baiwan Running Time: 15.229
qianwan Running Time: 95.125
六、golang在Linux上的运行时间
1.go代码
package main //文件所在包main
import (
"fmt"
"math"
"time"
//引入包fmt
)
func main() { //func是一个关键字,main是一个主函数
start := time.Now()
for i := 0.000000; i < 10000000.000000; i++ {
var pi float64 = 3.1415926535
math.Sin(2* pi*500*i)
}
cost := time.Since(start)
fmt.Printf("qianWan Running Time[%s]", cost)
}
2.结果显示
shiwan Running Time[1.333805ms]
baiWan Running Time[13.395439ms]
qianWan Running Time[134.776934ms]
七、综述
根据以下结果,可以得出运行最快的语言是C语言,最慢的是octave
速度由快到慢的顺序为:
C>go>julia>java>python>octave
-
Julia运行千万次花费时间为:463.2608890533447ms
-
C运行千万次花费时间为:
0.000000ms
-
Java运行千万次花费时间为:
2251.0ms
-
python运行千万次花费时间为:
25737.513303756714ms
-
octave运行千万次花费时间为:
95.125*1000ms
-
go运行千万次花费时间为:
134.776934ms