![]() |
1
16
首先,请注意您显示的Python版本不正确:这段代码是在Python 2.7中运行的,而不是在3.1中运行的(它甚至不是有效的Python3代码)。(仅供参考,Python 3通常比2慢。) 也就是说,在Python测试中有一个关键问题:您将它作为全局代码编写。你需要把它写成一个函数。在Python 2和Python 3中,如果正确编写,它的运行速度大约是后者的两倍:
全局编写代码时,没有局部变量;所有变量都是全局变量。在Python中,局部变量比全局变量快得多,因为全局变量存储在
另外,请注意,这是一个非常简单的测试,您真正要做的是对一些任意字节码操作进行基准测试。 |
![]() |
2
2
但赛顿成了救世主
在我的电脑上,python版本需要2.5s,cython版本需要5.5ms:
更新:正如Glenn Maynard在评论中指出的,而i<N:i+=1不是蟒蛇。
|
![]() |
3
1
在我朋友的笔记本电脑(Windows764位,Python2.6,3GB内存)上,Python6553500只需要1秒左右,65535000只需要10秒。我想知道为什么你的电脑要花这么多时间。当我使用xrange和局部变量时,它还减少了较大输入的时间。 我不能评论Ruby,因为它没有安装在这台计算机上。 |
![]() |
4
-3
测试太简单了。也许在这种情况下Ruby更快。但是,当您需要处理更复杂的数据类型及其方法时,Python会占优势。Python有更多实现的“方法来实现它”,您必须选择一种,这是最简单和足够的。Ruby使用更抽象的实体,它需要的知识更少。但是,如果在Python的同一个任务中有可能深入到手册中,并找到越来越多的类型和方法/函数的组合,那么以后就有可能比Ruby更快地编写程序。
UPD:虽然Ruby和Python有很多共同点,但是性能和高级别将具有相反的比例性。 |
![]() |
Tim Kirkwood · 比较空数据帧 8 月前 |
![]() |
nerrood · 为什么在笑话测试中不调用save 1 年前 |
![]() |
eof · Chrome块文件下载-selenium 1 年前 |
![]() |
Display name · Ember.js辛烷值验收试验 1 年前 |
![]() |
Vitto · 理智和回归测试是如何在一个简单的场景中协同工作的? 1 年前 |
![]() |
mattsmith5 · 使用特征文件并行计算空手道跑场景 1 年前 |
![]() |
Norronas · 采用裸机编程的寄存器单元测试 1 年前 |