各种语言速度之比,实验验证C>go>julia>java>python>octave

一、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

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐维康

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值