Dear R Developers, Adding to source() base function a Timer which indicates the execution time of the source code would be a very well welcome feature, and in my opinion not difficult to implement as an additional funtion argument. The source(timing = TRUE) function shall execute internally the following code for each statement: old <- Sys.time() # get start time at the beginning of source() # source code # print elapsed time new <- Sys.time() - old # calculate difference print(new) # print in nice format Thank you. Kind regards, Juan Telleria
Wish List: base::source() + Add Execution Time Argument
7 messages · Juan Telleria, Iñaki Ucar, William Dunlap +1 more
2017-12-21 12:46 GMT+01:00 Juan Telleria <jtelleriar at gmail.com>:
Dear R Developers, Adding to source() base function a Timer which indicates the execution time of the source code would be a very well welcome feature, and in my opinion not difficult to implement as an additional funtion argument. The source(timing = TRUE) function shall execute internally the following code for each statement: old <- Sys.time() # get start time at the beginning of source() # source code # print elapsed time new <- Sys.time() - old # calculate difference print(new) # print in nice format
system.time(source(...)) does what you want. I?aki
But by statement in the source file, I mean, for knowing during the execution how much time is taking, without having to wait till the end. 2017-12-21 13:06 GMT+01:00 I?aki ?car <i.ucar86 at gmail.com>:
2017-12-21 12:46 GMT+01:00 Juan Telleria <jtelleriar at gmail.com>:
Dear R Developers, Adding to source() base function a Timer which indicates the execution
time
of the source code would be a very well welcome feature, and in my
opinion
not difficult to implement as an additional funtion argument. The source(timing = TRUE) function shall execute internally the following code for each statement: old <- Sys.time() # get start time at the beginning of source() # source code # print elapsed time new <- Sys.time() - old # calculate difference print(new) # print in nice format
system.time(source(...)) does what you want. I?aki
2017-12-21 15:05 GMT+01:00 Juan Telleria <jtelleriar at gmail.com>:
But by statement in the source file, I mean, for knowing during the execution how much time is taking, without having to wait till the end.
What's the ultimate purpose? Are you looking for a profiler (there are some of them on CRAN) or some kind of progress bar (something like the 'progress' package would be useful)? I?aki
I did not know "progress" package existed, thank you I?aki. However, something like that would be nice to have by default in source(), just something to add to R's "wish list", so that everybody can benefit from it without extra-packages, as most of us I suppose we will spend all day simply doing Ctrl + Run :) Thank you, Juan 2017-12-21 15:20 GMT+01:00 I?aki ?car <i.ucar86 at gmail.com>:
2017-12-21 15:05 GMT+01:00 Juan Telleria <jtelleriar at gmail.com>:
But by statement in the source file, I mean, for knowing during the execution how much time is taking, without having to wait till the end.
What's the ultimate purpose? Are you looking for a profiler (there are some of them on CRAN) or some kind of progress bar (something like the 'progress' package would be useful)? I?aki
Is source() the right place for this? It may be, but we've had customers who would like this sort of thing done for commands entered by hand. And there are those who want a description of any "non-triivial" objects created in .GlobalEnv by each expression, ... Do they need a way to wrap each expression evaluated in envir=.GlobalEnv with a function of their choice, one that would print times, datasets created, etc.? Bill Dunlap TIBCO Software wdunlap tibco.com
On Thu, Dec 21, 2017 at 3:46 AM, Juan Telleria <jtelleriar at gmail.com> wrote:
Dear R Developers,
Adding to source() base function a Timer which indicates the execution time
of the source code would be a very well welcome feature, and in my opinion
not difficult to implement as an additional funtion argument.
The source(timing = TRUE) function shall execute internally the following
code for each statement:
old <- Sys.time() # get start time at the beginning of source()
# source code
# print elapsed time
new <- Sys.time() - old # calculate difference
print(new) # print in nice format
Thank you.
Kind regards,
Juan Telleria
[[alternative HTML version deleted]]
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
R does provide the addTaskCallback / taskCallbackManager to run a callback function after every top level command. However there is not an equivalent interface that would be run _before_ each command, which would make it possible to time of top level calls and provide other execution measurements. On Thu, Dec 21, 2017 at 11:31 AM, William Dunlap via R-devel
<r-devel at r-project.org> wrote:
Is source() the right place for this? It may be, but we've had customers who would like this sort of thing done for commands entered by hand. And there are those who want a description of any "non-triivial" objects created in .GlobalEnv by each expression, ... Do they need a way to wrap each expression evaluated in envir=.GlobalEnv with a function of their choice, one that would print times, datasets created, etc.? Bill Dunlap TIBCO Software wdunlap tibco.com On Thu, Dec 21, 2017 at 3:46 AM, Juan Telleria <jtelleriar at gmail.com> wrote:
Dear R Developers,
Adding to source() base function a Timer which indicates the execution time
of the source code would be a very well welcome feature, and in my opinion
not difficult to implement as an additional funtion argument.
The source(timing = TRUE) function shall execute internally the following
code for each statement:
old <- Sys.time() # get start time at the beginning of source()
# source code
# print elapsed time
new <- Sys.time() - old # calculate difference
print(new) # print in nice format
Thank you.
Kind regards,
Juan Telleria
[[alternative HTML version deleted]]
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel