1
我有一個程序-rtsopts
結合,並與+RTS -s
和定時叫我得到這個:在GHC的RTS統計信息中CPU時間如何低於掛鐘時間?
INIT time 0.000s ( 0.001s elapsed)
MUT time 4.047s ( 9.694s elapsed)
GC time 0.578s ( 0.514s elapsed)
RP time 0.000s ( 0.000s elapsed)
PROF time 0.000s ( 0.004s elapsed)
EXIT time 0.000s ( 0.000s elapsed)
Total time 4.625s (10.209s elapsed)
這個項目是約10秒運行。 它與螺紋RTS鏈接,但它使用-N1
,所以我不明白爲什麼壁鐘時間和CPU時間之間存在差異。
而且我剛剛發現這個GHC用戶指南:
接下來是CPU時間和掛鐘時間流逝由 細分哪些運行時系統當時做的事情。
那麼,CPU時間低於掛鐘時間的意義如何?
注意:我的計算機在執行我的程序時沒有做任何辛苦的工作,當然沒有那麼多..這就是爲什麼我很困惑,擔心我的程序行爲不當。
更新:我想我可能已經找到了罪魁禍首:RTS是否計算IO的CPU時間?如果它不那麼這可能是原因,那麼有很多寫道。
CPU時間是系統分配給您的應用程序的時間。牆上時鐘是我們在地球上使用的真實時間(愛因斯坦可能有一些事情要說)。所以你的應用程序的可用時間不到100%(僅約45%)。其餘的花在別的東西上。 –
@NorbertvanNobelen該程序完全外部的東西?我問,因爲我的電腦在執行過程中沒有做任何辛苦的工作,會花費那麼多資源,所以對我而言有點奇怪,我有點擔心這是我的程序行爲不端。 – MasterMastic