summaryRprof
位於 utils
包(package)。 說明
總結一下輸出Rprof
函數可顯示不同時間使用的時間量R職能。
用法
summaryRprof(filename = "Rprof.out", chunksize = 5000,
memory = c("none", "both", "tseries", "stats"),
lines = c("hide", "show", "both"),
index = 2, diff = TRUE, exclude = NULL,
basenames = 1)
參數
filename |
|
chunksize |
一次讀取的行數。 |
memory |
內存信息摘要。請參閱下麵的“內存分析”。可以縮寫。 |
lines |
線路信息摘要。請參閱下麵的“線路分析”。可以縮寫。 |
index |
如何總結內存信息的堆棧跟蹤。請參閱下麵的“詳細信息”。 |
diff |
如果 |
exclude |
總結內存摘要的堆棧跟蹤時要排除的函數。 |
basenames |
要顯示的文件名路徑的組成部分的數量。 |
細節
該函數提供R CMD Rprof
使用的Rprof
文件的分析代碼。
由於分析輸出文件可能大於可用內存,因此以 chunksize
行塊的形式讀取它。如果有足夠的可用內存,增加 chunksize
將使函數運行得更快。
值
如果 memory = "none"
和 lines = "hide"
,則包含組件的列表
by.self |
按‘self’時間排序的時序數據幀。 |
by.total |
按‘total’時間排序的時序數據幀。 |
sample.interval |
采樣間隔。 |
sampling.time |
分析運行的總時間。 |
前兩個組件有列‘自我時間', 'self.pct', '總時間' 和 '總計.pct’,分別是執行該函數中的代碼和該函數中的代碼或從該函數調用的代碼所花費的總時間(以秒為單位)和百分比。
如果是 lines = "show"
,則會將附加組件添加到列表中:
by.line |
按源位置排序的時序數據幀。 |
如果 memory = "both"
相同的列表,但除了計時之外還具有以 Mb 為單位的內存消耗。
如果memory = "tseries"
是一個數據幀,提供一段時間內的內存統計信息。內存使用量以字節為單位。
如果 memory = "stats"
是一個 by
對象,按函數提供內存統計信息。內存使用量以字節為單位。
如果沒有記錄任何事件,則返回 zero-row 數據幀。
內存分析
memory = "none"
以外的選項僅適用於 Rprof(memory.profiling = TRUE)
生成的文件。
當使用 memory.profiling = TRUE
調用時,探查器會寫入有關內存使用三個方麵的信息:R 堆上小塊中的向量內存、大塊中的向量內存(來自 malloc
)、R 堆上節點中的內存。它還記錄在時間間隔內調用內部函數duplicate
的次數。當需要複製參數時,duplicate
由 C 代碼調用。請注意,探查器不會跟蹤實際分配內存的函數。
對於memory = "both"
,除了計時數據之外,還會報告總內存的變化(截斷為零)。
對於 memory = "tseries"
或 memory = "stats"
,index
參數指定如何匯總堆棧跟蹤。正數表示來自堆棧底部的調用次數;負數指定從堆棧頂部開始的調用次數。對於memory = "tseries"
,索引用於構造標簽,並且可以是給出多組標簽的向量。對於memory = "stats"
,索引必須是單個數字,並指定如何將數據聚合到內存統計信息的最大值和平均值。對於 memory = "tseries"
和 memory = "stats"
,參數 diff = TRUE
要求提供采樣間隔內內存使用增加的摘要,而 diff = FALSE
則要求提供采樣間隔結束時的內存使用情況。
線路剖析
如果正在運行的代碼保留了源參考信息(通過keep.source = TRUE
在source
或者KeepSource = TRUE
在一個包中‘DESCRIPTION’文件或其他方式),然後在分析過程中記錄有關行起源的信息。默認情況下不顯示,但lines
參數可以啟用顯示。
如果是 lines = "show"
,則將優先使用行位置而不是通常的函數名稱信息,並且除了其他順序之外,結果還將按位置排序顯示。
如果是 lines = "both"
,則行位置將與組合顯示中的函數名稱混合。
例子
## Not run:
## Rprof() is not available on all platforms
Rprof(tmp <- tempfile())
example(glm)
Rprof()
summaryRprof(tmp)
unlink(tmp)
## End(Not run)
也可以看看
“編寫 R 擴展”中有關“整理和分析 R 代碼”的章節(請參閱“文檔/手冊’的子目錄R源樹)。
tracemem
通過 C 函數 duplicate
跟蹤對象的複製。
Rprofmem
是非采樣memory-use 分析器。
相關用法
- R select.list 從列表中選擇項目
- R str 緊湊地顯示任意 R 對象的結構
- R sourceutils 源參考實用程序
- R stack 從數據幀或列表中堆疊或取消堆疊向量
- R shortPathName 在 Windows 上以簡短形式表達文件路徑
- R setRepositories 選擇包存儲庫
- R setWindowTitle 在Windows中設置RGUI的窗口標題或狀態欄
- R sessionInfo 收集有關當前 R 會話的信息
- R savehistory 加載、保存或顯示命令曆史記錄
- R strcapture 將字符串標記捕獲到 data.frame 中
- R COMPILE 編譯用於 R 的文件
- R readRegistry 讀取 Windows 注冊表配置單元
- R browseVignettes 在 HTML 瀏覽器中列出暈影
- R hasName 檢查姓名
- R nsl 按主機名查找 IP 地址
- R edit 調用文本編輯器
- R create.post 準備電子郵件和帖子的輔助函數
- R hsearch-utils 幫助搜索實用程序
- R download.packages 從類似 CRAN 的存儲庫下載軟件包
- R DLL.version MS Windows 上的 DLL 版本信息
- R ls.str 列表對象及其結構
- R Rscript R 前端腳本
- R bug.report 發送錯誤報告
- R PkgUtils 用於構建和檢查附加包的實用程序
- R cite 引用參考書目條目
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Summarise Output of R Sampling Profiler。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。