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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。