Hi, all, How to get a time as a number? While script is running, I want to print the elapsed time something like TIME_AS_SECOND() in the following script inittime <- TIME_AS_SECOND() for (i in 1:100){ do_something(i) curtime <- TIME_AS_SECOND() elapsedtime <- curtime-inittime print(paste(i, elapsedtime)) } Thanks in advance, Hyunchul [[alternative HTML version deleted]]
probably you want to use proc.time() -- have a look at the corresponding help file. I hope it helps. Best, Dimitris On 9/19/2010 3:19 PM, Hyunchul Kim wrote:> Hi, all, > > How to get a time as a number? > > While script is running, I want to print the elapsed time > > something like TIME_AS_SECOND() in the following script > > inittime<- TIME_AS_SECOND() > for (i in 1:100){ > do_something(i) > curtime<- TIME_AS_SECOND() > elapsedtime<- curtime-inittime > print(paste(i, elapsedtime)) > } > > Thanks in advance, > > Hyunchul > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help at 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. >-- Dimitris Rizopoulos Assistant Professor Department of Biostatistics Erasmus University Medical Center Address: PO Box 2040, 3000 CA Rotterdam, the Netherlands Tel: +31/(0)10/7043478 Fax: +31/(0)10/7043014
On Sun, Sep 19, 2010 at 9:19 AM, Hyunchul Kim <hyunchul.kim.sfc at gmail.com> wrote:> Hi, all, > > How to get a time as a number? > > While script is running, I want to print the elapsed time > > something like TIME_AS_SECOND() in the following script > > inittime <- TIME_AS_SECOND() > for (i in 1:100){ > ? ?do_something(i) > ? ?curtime <- TIME_AS_SECOND() > ? ?elapsedtime <- curtime-inittime > ? ?print(paste(i, elapsedtime)) > } >Here are a few things to try:> # 1 - diff.POSIXt > init.time <- Sys.time() > x1 <- 0 > for (i in 1:100000) x1 <- x1 + 1 > Sys.time() - init.timeTime difference of 0.4130001 secs> > # 2 - converting to numeric > init.time <- as.numeric(Sys.time()) > x2 <- 0 > for(i in 1:100000) x2 <- x2 + 1 > as.numeric(Sys.time()) - init.time[1] 0.3270001> > # 3 - proc.time > init.time <- proc.time() > x3 <- 0 > for(i in 1:100000) x3 <- x3 + 1 > proc.time() - init.timeuser system elapsed 0.25 0.03 0.33> > # 4 - system.time > system.time({ x4 <- 0; for(i in 1:100000) x4 <- x4 + 1 } )user system elapsed 0.19 0.02 0.23> > # 5 - rbenchmark package > library(rbenchmark) > benchmark(replications = 10,+ x1 = {x5 <- 0; for(i in 1:100000) x5 <- x5 + 1 }, + x2 = { x5. <- 0; for(i in 1:200000) x5. <- x5. + 1} + ) test replications elapsed relative user.self sys.self user.child sys.child 1 x1 10 2.38 1.000000 1.95 0.06 NA NA 2 x2 10 4.87 2.046218 3.84 0.08 NA NA -- Statistics & Software Consulting GKX Group, GKX Associates Inc. tel: 1-877-GKX-GROUP email: ggrothendieck at gmail.com