Pythonのお勉強 Part39
■ このスレッドは過去ログ倉庫に格納されています
0174デフォルトの名無しさん
2010/09/01(水) 15:27:26sleepが1秒で、1万スレッドが切り替わりまくっても、Core2Duo 1.86GHzのCPU使用率は1%だった。
スレッド全部作り終わるまでは、1秒sleepなのに1.05秒以上かかるケースがちょろちょろあったけど、
スレッド作り終わった後は安定してる。
Ruby1.8で同じ事やったらスレッド切り替えだけでCPU100%使うだろうし、Ruby 1.9でもやっぱり
GCのせいで安定した応答性能を実現できないだろうな。
import threading
from time import time, sleep
def foo():
while True:
t = time()
sleep(1)
t = time() - t
if t > 1.05:
print t
for _ in xrange(10000):
t = threading.Thread(target=foo)
t.daemon = True
t.start()
print "100000 threads are created."
sleep(1000)
■ このスレッドは過去ログ倉庫に格納されています