日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

为什么python提示没有clock_python – 为什么time.clock比time.time给出更长的时间?

發布時間:2025/3/11 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 为什么python提示没有clock_python – 为什么time.clock比time.time给出更长的时间? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我使用time.clock和time.time在Ubuntu上定時了一段python代碼:

clock elapsed time: 8.770 s

time elapsed time: 1.869 s

我知道time.time使用系統時間和time.clock使用處理器時鐘.當time.time給出比time.clock更長的經過時間時,這對我來說是有意義的:處理器在整個時間內都沒有活動(例如,調用time.sleep的時間).

但是為什么/何時處理器時鐘會比系統時間大得多?

附錄

我做了一個粗略的測試,使用標準映射計算相同的函數,使用進程池映射和線程池映射.可以理解,進程池速度更快,線程池更慢.更有趣的是:時鐘時序小于處理器池的時間,但線程池中的時間更長.

同樣,我理解為什么處理器池的時鐘時序較少:假設主進程沒有做太多事情,只是等待池進程完成.但是為什么線程池的時鐘時間更長?任何見解?

結果:

map

time 1738.8

clock 1739.6

mp pool

time 580.1

clock 15.9

thread pool

time 3455.3

clock 5378.9

碼:

from time import clock,sleep,time

from multiprocessing.pool import ThreadPool

from multiprocessing import Pool

import random

def f(i):

x = [random.random() for j in range(100000)]

return x[i]

def t(fn):

t0,c0 = time(),clock()

for i in range(10): fn(f,range(16))

print ' time ',round(1000*(time()-t0),1)

print ' clock',round(1000*(clock()-c0),1)

if __name__ == '__main__':

print 'map'

t(map)

pool = Pool(8)

print 'mp pool'

t(pool.map)

pool = ThreadPool(8)

print 'thread pool'

t(pool.map)

總結

以上是生活随笔為你收集整理的为什么python提示没有clock_python – 为什么time.clock比time.time给出更长的时间?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。