作为一个非常简单的基准测试,我在PHP 7.0.19-1和Python 3.5.3(命令行)上对同一个Raspberry pi3模型B执行了下面的简单代码

与PHP相比,Python的执行时间是可怕的(74秒对1.4秒)。有谁能帮我理解为什么在Python上执行要花这么长时间?是否有什么地方我做错了,或者一些优化/设置会提高它的性能以达到或超过PHP的性能?或者说Python就是那么慢(当然不是!)?

是的,我看到了this benchmark,它报告PHP 7超越了其他语言,但是您会认为在执行这样一个简单的操作时,这两种语言都会得到相当好的优化。

如果用字符串赋值代替加法,Python执行循环的速度大约是前者的两倍。但这仍然是34秒对1.1秒。

PHP7代码:<?php

function test($x)

{

$t1 = microtime(true);

$a = 0;

for($i = 0; $i < $x; $i++)

{

$a++;

}

$t2 = microtime(true);

echo "Time for $x was " . ($t2 - $t1) . " ";

return $a;

}

echo test(100000);

echo test(1000000);

echo test(10000000);

结果:

10万的时间是0.036377191543579

1000000次为0.1850140947571

10000000次为1.3939099311829

Python3代码:import time

def test(x):

t1 = time.clock()

a = 0

for i in range(x):

a += 1

t2 = time.clock()

print("Time for {} was {}".format(x, t2 - t1))

return x

print(test(1000000))

print(test(10000000))

print(test(100000000))

结果:

1000000的时间是0.761641

100万

10000000的时间是7.427618000000001

1亿

100000000的时间是74.320387

1亿

更新:是的,在@Amber指出之后,我意识到我完全崩溃了,循环计数器是一个数量级的间隔。尽管如此,答案还是很有趣,所以值得一问。

php7和python3性能对比-为什么PHP7执行这个简单循环比Python3快得多?相关推荐

  1. php7和python3性能对比-Python 2.7与Python 3.7区别

    今天,我将带大家看看Python 2.7与Python 3.7这两个版本区别. 区别一:print语法使用 Python2.7 print语法使用 >>> print "H ...

  2. php7和python3性能对比-python2.7和3.7的区别

    区别一:print语法使用 Python2.7 print语法使用 >>> print "Hello Python" Python3.7 print语法使用 &g ...

  3. php7和python3性能对比-ava、Python和PHP三者的区别

    由于工作需要,最近看了下Python2和PHP5,做下总结(参照菜鸟教程的内容)(小白第一次写博客,欢迎各位大牛提意见) 1.输出 Python: print 默认换行,不换行要加逗号 PHP: ec ...

  4. python2与python3性能对比_对Python2与Python3中__bool__方法的差异详解

    对Python2与Python3中__bool__方法的差异详解 发布时间:2020-08-28 00:08:58 来源:脚本之家 阅读:74 作者:grey_csdn 学习Python面向对象编程的 ...

  5. 安装python3.7.0的步骤_CentOS7下简单安装python3.7.0步骤

    一.安装编译工具 #yum -y install gcc #yum -y groupinstall "Development tools" #yum -y install zlib ...

  6. TDengine与InfluxDB性能对比

    文章目录 0 测试环境 1 测试数据集及其生成方法 1.1 测试数据生成方法 1.2 测试数据生成程序源码 1.3 测试数据生成程序用法 1.4.生成测试数据 2 TDengine环境准备 2.1.安 ...

  7. BeanCopier性能对比

    概述 常见或常用的几种Bean属性复制工具 Apache.BeanUtils Apache.PropertyUtil Spring.BeanUtils Cglib.BeanCopier MapStru ...

  8. PHP7+Swoole/Nginx/Golang性能对比

    QPS对比 使用apache bench工具对Nginx静态页.Golang Http程序.PHP7+Swoole Http程序进行压力测试.在同一台机器上,进行并发100共100万次Http请求的基 ...

  9. php7.0和5.6哪个好,PHP7.0与PHP5.6下Laravel博客的应用性能对比介绍

    PHP7.0与PHP5.6下Laravel博客的应用性能对比介绍 发布时间:2020-04-24 09:49:17 来源:亿速云 阅读:131 作者:小新 这篇文章主要为大家详细介绍了PHP7.0与P ...

最新文章

  1. 【原创·教程·连载】Microsoft SQL Server 2008 Reporting Services应用系列(一)安装篇...
  2. 一般能达到多少_实话实说:一般家庭存款有多少?你又达到标准了吗?
  3. 【AI大咖】ML宗师乔教主,Science评选的全世界最有影响力的计算机科学家
  4. Tomcat server launch debug - OrderAnalytics
  5. python单例模式继承_Python四种实现单例模式的方法
  6. Codeforces Round #280 (Div. 2)
  7. UI设计素材干货|分页符(指示器)各类型特点,可临摹的好模板
  8. mybatis拦截器实现通用权限字段添加
  9. windows下解压xxx.war文件
  10. 播放RTMP协议的流媒体的两种选择
  11. App版本更新接口的设计
  12. 腾讯云与本地主机socket通信网络问题
  13. 行业知识图谱调查报告(一):知识图谱概述
  14. matlab费曼编码输入,多点格林函数数值积分(费曼参数积分)的程序分析及应用
  15. Joplin实现样式更改
  16. java 版剑指offer算法集锦
  17. 真◉彻底解决 gcr、quay、DockerHub 镜像下载难题!
  18. 【转】游戏设计的秘密——翻译GDC2010 blizzard的一个演讲
  19. 使用12年的笔记本在本该退休的年纪被我再次启用
  20. 微信公众号查券返利机器人搭建教程

热门文章

  1. ios: coreData的NSManagedObject setvalue为null
  2. RocksDB线程局部缓存
  3. 研究生数学建模比赛日程安排
  4. Docker容器中MySQL最大连接数被限制为214的解决方案
  5. django 模板语言之 simple_tag 自定义模板
  6. express get和post数据
  7. 编译android源码遇到错误及其解决方法
  8. 学python可以做什么产品-学了 Python,能用来做什么?实际应用场景有哪些??...
  9. 人力资源学python有意义吗-python爬虫抖音 个人资料 仅供学习参考 切勿用于商业...
  10. 函数式编程语言python-10分钟学会python函数式编程