次のプログラムを実行しています。
import cStringIO
import time
import threading
def func(tid):
buff = 'a'*4096
i = 0
while (i < 40000000):
output = cStringIO.StringIO()
output.write(buff)
contents = output.getvalue()
output.close()
i = i + 1
threads = 16
threadlist = []
start = time.time()
for tc in range(threads):
thr = threading.Thread(target=func, args=(tc,))
threadlist.append(thr)
thr.start()
for thr in threadlist:
thr.join()
end = time.time()
print "Time taken is %s" % (end - start)
まったく同じハードウェアを備えたマシンで、一方はubuntu 10.04を実行し、もう一方は14.04を実行しています。10.04 では 1409.54 秒かかるのに対し、14.04 では 1656.81 秒かかり、14.04 では 17% のパフォーマンス低下を示しています。何か案は?