今天突发奇想,想看看同一个Python 程序在Windows 下和在Linux下执行的速度有何差别。
于是我弄了一个极其简单的程序:计算圆周率(pi)的平方根10,000,000次,然后读取所用的时间:
- from __future__ import division
- import time
- import math
- loops = 10000000
- begin_time = time.time()
- for i in range(loops):
- a = math.sqrt(math.pi)
- i += 1
- finish_time = time.time()
- time_used = finish_time – begin_time
- print ‘Compute the square root of pi’
- print ‘Time used for finishing’, loops,’loops’, time_used
- print ‘Time per floatloop’, time_used / loops
- print ‘# float per second’, 1/(time_used / loops)
- dummy = raw_input(‘press Enter to exit’)
由于手头没有合适的Linux系统,于是在Windows里面建了一个虚拟机(用VirtualBox),分配了100%的处理器核心和50%的内存。 Windows 下安装了官方的Python2.7,Ubuntu下使用自带的Python。两个系统都直接用命令行的方式运行。
按道理来说,如果两个系统效率一样的话,Windows下的速度会比Ubuntu快,因为虚拟机会有性能的损失。
结果,Windows下每秒运行的速度仅仅只有Ubuntu虚拟机下面的55.4%。可想而知,如果不用虚拟机,直接把Ubuntu安装在电脑上,那速度还会更快。看来,和Linux比起来,Windows下Python 的执行效率是非常低的,虽然小型的程序根本看不出差别来!
图1: 在不同平台下此Python程序每秒钟运行的循环数(测量3次取平均值)
还没有试过python……
开发点小工具还是不错的!用来搞Web太坑了!除非时间很多,不然真是弄到吐血啊!