Here is the function I use: my.stats <- function (text = "stats", reset = FALSE, oper = "") { procTime <- proc.time()[1:3] if (reset) { Level <<- 1 Stack[Level, ] <<- c(procTime[3], procTime[1] + procTime[2]) } if (oper == "push") { if (Level < MaxLevel) Level <<- Level + 1 Stack[Level, ] <<- c(procTime[3], procTime[1] + procTime[2]) } .caller <- sys.calls() if (length(.caller) == 1) .caller <- "Rgui" else .caller <- as.character(.caller[[length(.caller) - 1]])[1] cat(sprintf("%s (%d) - %s : %s <%.1f %.1f> %.1f : %.1fMB\n", text, Level, .caller, format(Sys.time(), format = "%H:%M:%S"), procTime[1] + procTime[2] - Stack[Level, 2], procTime[3] - Stack[Level, 1], procTime[3], memory.size())) if ((oper == "pop") && (Level > 1)) Level <<- Level - 1 else if (oper == "reset") Level <<- 1 invisible(flush.console()) }
Here is an example of its use: inside the <> is the total CPU and elapsed time to that point. > my.stats('start') start (1) - Rgui : 14:29:27 <30.7 20136.7> 20136.7 : 107.8MB > for (i in 1:1e6) i+1 # consume some CPU > for (i in 1:10e6) i+1 # consume some CPU > my.stats('end') # used almost 8 secs of CPU time end (1) - Rgui : 14:30:24 <38.4 20193.0> 20193.0 : 139.4MB > On Tue, Sep 20, 2011 at 9:16 PM, Benjamin Tyner <bty...@gmail.com> wrote: > Hi > > I recall running across a function a while back which would return > information about running processes (such as their cpu and memory usage), > but I cannot seem to locate it. Wondering if someone would be kind enough to > refresh my memory. I vaguely recall it was parsing the output of the 'ps' > command. > > Thanks, > Ben > > > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > > -- Jim Holtman Data Munger Guru What is the problem that you are trying to solve? ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.