Python 是个比较成熟的语言,运行速度在几年前是快于 JavaScript 的。但这些年
JavaScript 的解释器发展很快,特别是 Google 的 V8 和 Mozilla 的 SpiderMonkey,
将 JavaScript 的运行速度提升了一大块,以致 JavaScript 的运行速度大有反超 Python
之势,但 Python 也不甘示弱,PyPy 项目经过几年的开发之后,最近也在频频发布版本,
将 JIT 带到 Python 之中,所以谁比谁牛,还很难说。这里做个简单的测试:
测试环境:
CPU: Intel(R) Pentium(R) CPU G620 @ 2.60GHz 双核
操作系统: Debian GNU/Linux 6.0 64 位
Google JS 引擎: 来自 Node.js v0.6.12 (命令:node)
Mozilla JS 引擎:来自 xulrunner-11.0 (命令:xpcshell)
Python: Debian 自带的 Python 2.6.6 (命令:python)
PyPy: pypy-1.8 (命令:pypy)
先测试简单的循环累加,测试代码:
testSum.js
var i, j, s;
for (i = 0; i < 100; i++) {
s = 0;
for (j = 0; j < 100000; j++)
s += j;
}
if ('function' == typeof(print))
print(i, s);
else
console.log(i, s);
testSum.py
i = 0
while i < 100:
s = 0
j = 0
while j < 100000:
s += j
j += 1
i += 1
print i, s
测试结果:
time node testSum.js : 0m0.052s
time xpcshell testSum.js : 0m1.808s
time python testSum.py : 0m2.199s
time pypy testSum.py : 0m0.188s
再测试 Dict 操作,测试代码:
testDict.js
var D = {};
var i, s, k;
for (i = 0; i < 100000; i++)
D['k' + i] = i;
for (i = 0; i < 100; i++) {
s = 0;
for (k in D)
s += D[k];
}
if ('function' == typeof(print))
print(i, s);
else
console.log(i, s);
testDict.py
D = {}
i = 0
while i < 100000:
D['k%d' % i] = i
i += 1
i = 0
while i < 100:
s = 0
for k in D:
s += D[k]
i += 1
print i, s
测试结果:
time node testDict.js : 0m3.645s
time xpcshell testDict.js : 0m2.894s
time python testDict.py : 0m2.954s
time pypy testDict.py : 0m1.044s
测试总结:
循环累加操作:node < pypy < xpcshell < python 最慢的是 Python
Dict 操作: pypy < xpcshell < python < node 最慢的是 Node.js (Google V8 引擎)
经过简单的测试,个人感觉 Node.js 在运算速度方面是最快的,但内置的数据结构不
够优化,在所有的实现中是最差的。个人感觉,Node.js 的作者如果将 JavaScript 引擎
由 Google V8 换为 Mozilla SpiderMonkey 的话,在综合性能测试中,或许会更佳!另外
,本人非常看好 PyPy,随着 PyPy 的不断成熟,在大规模的业务逻辑开发中,用 Python
写代码,将是一种享受,运行速度也无需担忧!
一家之言,欢迎讨论!
http://javaeye.vipsinaapp.com/rblog_sina
分享到:
相关推荐
Learn how to turn raw data into rich, interactive web visualizations with the powerful combination of Python and JavaScript. With this hands-on guide, author Kyran Dale teaches you how build a basic ...
本书《Data Visualization with Python and JavaScript-second-edition》(数据可视化:使用Python和JavaScript)由Kyran Dale所著,首次发布于2016年7月,第二次修订版于2017年3月发布。本书旨在教授读者如何利用...
基于python+javascript实现农产品价格预测+LSTm+可视化源码+数据库sql.zip基于python+javascript实现农产品价格预测+LSTm+可视化源码+数据库sql.zip基于python+javascript实现农产品价格预测+LSTm+可视化源码+数据库...
基于python+JavaScript实现显示文件的二进制图表(软件构造大作业).zip基于基于python+JavaScript实现显示文件的二进制图表(软件构造大作业).zip基于python+JavaScript实现显示文件的二进制图表(软件构造大作业).zip...
软件工程课设-基于python和JavaScript的汽车充电管理系统设计源码.zip软件工程课设-基于python和JavaScript的汽车充电管理系统设计源码.zip软件工程课设-基于python和JavaScript的汽车充电管理系统设计源码.zip软件...
该项目是基于Python和JavaScript的医学知识可视化设计源码,共包含3811个文件,其中包括3739个JSON数据文件、26个TXT文本文件、14个Python源文件、10个Python字节码文件、6个XML配置文件、4个Markdown文档、4个...
基于Python+JavaScript+vue+css的开源量化交易平台开发框架,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于Python+JavaScript+vue+css的开源量化交易平台...
Python+JavaScript+html编写的免费刷题工具,可以实现浏览器读取本地excel文件,自定义题库。 软件特色: 1.完全免费使用,没有任何广告插件; 2.实现了浏览器读取本地excel文件,非IE浏览器也可以轻松读取本地文件...
本源码提供了一个基于Python和Javascript的车展大屏演示前后端web应用的设计。项目包含46个文件,其中包括18个PNG文件、8个Python文件、7个CSS文件、7个JavaScript文件,以及用于版本控制和文档的文件。此外,还有1...
基于python+javaScript开发的轨道交通智慧客流分析预测+源码+运行文档,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用,详情见md文档~ 基于python+javaScript开发...
在JavaScript的世界里,Python的语法特性常常让人向往,其中就包括了字符串的分片操作。Python的字符串分片功能强大且灵活,允许我们方便地截取字符串中的子串。为了解决JavaScript中缺乏类似功能的问题,开发者创建...
Python+javaScript+css开发使用Rasa开源框架创建的生猪疾病诊断系统(附带前端)+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ Python+javaScript+css开发...
本项目是一款结合Python和JavaScript技术实现的微信小程序PersonalDiet设计源码,包含123个文件,涵盖40个Python脚本、39个Python字节码文件、10个JavaScript脚本、10个JSON配置文件、8个WXSS样式表、7个WXML模板...
该项目是一款基于Python和JavaScript开发的都市定向赛移动端报名系统源码,总计包含225个文件,涵盖56个JavaScript文件、30个Python脚本、30个CSS样式表、26个PNG图片文件、18个SCSS样式表、17个LESS样式表、14个...
本项目是一款融合Python与JavaScript技术的智能插座能耗监测与设计方案,源码共计500个文件。其中,包含150个PNG图片文件、77个JavaScript文件、66个Python源代码文件、60个Python编译文件、33个JPG图片文件、25个...
该项目为河北青年艺术学院青年学院定制设计,整合了Python、JavaScript、HTML、CSS、PHP等多种编程语言,共计467个文件。其中,PNG图片文件117个,JavaScript文件80个,HTML文件58个,Python源文件54个,GIF图片文件...
该项目是一款针对SF漫画网站(http://comic.sfacg.com/)的Selenium爬虫设计源码,包含801个文件,涵盖433个Python脚本、191个...该源码支持Python和JavaScript两种编程语言,适用于对SF漫画内容进行自动化采集的用户。