随机数在游戏编程中,会大量的使用到。那么,如果用Python作为游戏脚本,写出的随机数性能如何呢?测试一下,记录下来,好对性能开销心里有个数。
测试脚本如下:
import random
import time
start_time = time.time()
print start_time
j = 1
while 1:
j += 1
r = random.random()
end_time = time.time()
if end_time - start_time >= 1 :
break
print j
print end_time
结果为: 1910674 (也就是190万次)
我们再看,如果把 random.random() 换成:random.randint(0,1000)
结果为:462146 (也就是46万次)
总结:
random.random() 的性能可以接受,random.randint() 性能较差。
附注:
在测试中,发现了一个很有意思的事情。就是,同一段代码,运行在同主频 的桌面CPU,和服务器CPU上,跑出的结果,居然是桌面级处理器要高一些。
桌面级处理器:I7-3630QM @ 2.40GHz
服务器处理器: Xeon(R) CPU E5620 @ 2.40GHz
跑random.randint(0,1000)
I7 CPU跑出的结果为:为46万次
Xeon 跑出的结果为:40万次
所以,在主频相同的情况下:桌面处理器,和服务器处理器,他们的处理能力基本相同。不存在“服务器CPU性能更好”的这种说法。而且,处理器也要看本身的“体质”,这有点像03年的时候,买处理器也要挑超频能力一样。