几种语言的计算速度问题 |
您所在的位置:网站首页 › 编程语言运行速度对比 › 几种语言的计算速度问题 |
今天无意间在PHP,Python,Java,C四种语言中写了同样的功能,测试了下运行速度。结果有点看不懂了。
程序算法,最最最简单的一个递归程序
直接贴上运行结果: python语言实现(3.4.4版本) n=20时用时: 0.004489 s n=30时用时: 0.576811 s n=35时用时: 5.971856 s n=36时用时: 9.770745 s n=37时用时: 16.044687 s n=38时用时: 25.300932 s n=40时用时: 72.658443 s java语言实现(1.7版本) n=20时,程序运行时间:1ms n=30时,程序运行时间:5ms n=35时,程序运行时间:52ms n=30时,程序运行时间:5ms n=31时,程序运行时间:6ms n=32时,程序运行时间:10ms n=33时,程序运行时间:17ms n=34时,程序运行时间:27ms n=35时,程序运行时间:45ms n=36时,程序运行时间:70ms n=37时,程序运行时间:116ms n=38时,程序运行时间:177ms n=39时,程序运行时间:305ms n=40时,程序运行时间:488ms n=41时,程序运行时间:807ms n=42时,程序运行时间:1297ms n=43时,程序运行时间:2064ms n=44时,程序运行时间:3391ms n=45时,程序运行时间:5450ms n=46时,程序运行时间:8848ms n=47时,程序运行时间:14376ms n=48时,程序运行时间:23264ms n=49时,程序运行时间:38454ms n=50时,程序运行时间:61447ms C语言实现 当n=20时,用时0.000000 seconds 当n=21时,用时0.001000 seconds 当n=22时,用时0.001000 seconds 当n=23时,用时0.002000 seconds 当n=24时,用时0.003000 seconds 当n=25时,用时0.006000 seconds 当n=26时,用时0.009000 seconds 当n=27时,用时0.015000 seconds 当n=28时,用时0.024000 seconds 当n=29时,用时0.039000 seconds 当n=30时,用时0.063000 seconds 当n=31时,用时0.109000 seconds 当n=32时,用时0.161000 seconds 当n=33时,用时0.296000 seconds 当n=34时,用时0.452000 seconds 当n=35时,用时0.723000 seconds 当n=36时,用时1.208000 seconds 当n=37时,用时1.853000 seconds 当n=38时,用时2.982000 seconds 当n=39时,用时4.903000 seconds 当n=40时,用时7.827000 seconds 当n=41时,用时12.569000 seconds 当n=42时,用时20.310000 seconds 当n=43时,用时32.694000 seconds 当n=44时,用时53.489000 seconds 当n=45时,用时86.372000 seconds php语言实现(7.0.1版本) 当n=20时,用时0.0017790794372559秒 当n=21时,用时0.0028221607208252秒 当n=22时,用时0.0044441223144531秒 当n=23时,用时0.010584115982056秒 当n=24时,用时0.014394044876099秒 当n=25时,用时0.020316123962402秒 当n=26时,用时0.032159090042114秒 当n=27时,用时0.056618928909302秒 当n=28时,用时0.083542108535767秒 当n=29时,用时0.14670014381409秒 当n=30时,用时0.21649193763733秒 当n=31时,用时0.36289286613464秒 当n=32时,用时0.56389999389648秒 当n=33时,用时0.93012285232544秒 当n=34时,用时1.4944548606873秒 当n=35时,用时2.3965449333191秒 当n=36时,用时3.9406790733337秒 当n=37时,用时6.3268599510193秒 当n=38时,用时10.309056043625秒 当n=39时,用时16.666467905045秒
这速度有两点看不懂 首先,JAVA速度竟然最快!竟然比C快?使用相同数据类型,几乎相同的代码,虚拟机里面的东西竟然能比C快?猜测或许是java虚拟机底层对代码进行了某些神奇的优化。 其次,不得不感叹PHP7的速度之快啊!PHP的zend处理速度完爆Python的编译器。 不过,不同语言,各自适用平台不同,各自擅长方面不同,这样比较意义也不大。纯属无聊,记录一下。
下面贴上代码: 首先是java: public class test { public static void main(String[] args) { int n; for(n=30;n1) return test(n-1)+test(n-2); return 0; } } 下面是python: #coding=gbk import time def f(n): if n==0: return 1 if n==1: return 1 if n>1: return f(n-1)+f(n-2) start = time.clock() ##########计时开始####################### n=38 f(n) ##########计时结束####################### end = time.clock() print("n=%d时用时: %f s" % (n,end - start)) 接着是C语言: #include "time.h" #include "stdio.h" int test(int n){ if(n==0) return 1; if(n==1) return 1; if(n>1) return test(n-1)+test(n-2); } void main() { double start, finish; for(int n=20;n |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |