- This release fixes a bug where calling
.toc()
on a timer that was already stopped would cause a signed integer overflow. This a minor change inCppTimer
as well asRcpp::Timer
.
- The
stop()
method ofRcpp::Timer
now returns adata.frame
with the results. This is useful if you want to set auto return to false and manually handle the results. It is also possible to callaggregate()
and access the public variabledata
ofRcpp::Timer
.data
is a map containing the results (Names, Mean, Standard Deviation, Count). Look into the implementation ofstop()
in "inst/rcpptimer.h" to see how this works. - The tag arguments of
tic()
,toc()
andScopedTimer()
have default values now. - The existing vignette was updated, and we added four new vignettes to the package.
- rcpptimer now measures nanoseconds instead of microseconds.
- Adds
print.rcpptimer
method to print the results of a timer object. Timings will be scaled to a more readable unit (e.g. milliseconds, seconds, minutes, hours) when appropriate. - Warn about timers for which
.toc()
was called more than once. - The summary now includes the minimum and maximum times.
- Added lots of tests to cover 100% of the code.
- Public member "name" was moved from
CppTimer
toTimer
as it is R-specific. - Add a hex sticker to the package.
- The package now has a documentation entry (
?rcpptimer
). - Various improvements to the underlying
CppTimer
class
- Add new
Rcpp::CppTimer::ScopedTimer
class. This can be used to time the lifespan of an object until it goes out of scope. This is useful for timing the duration of a function or a loop. Thefibonacci
example was updated to use this new class. - Warn about timers that are not stopped when aggregate is called (no matching
toc()
statement). - Warn about timers for which no matching
tic()
statement was found. - Add
verbose
parameter to theTimer
class to control whether above warnings should be printed or not (defaults totrue
). - Add introductory vignette to the package.
- Fixed cases where only
toc()
was called without matchingtic()
.- This led to a segfault in the previous version.
- Fix
reset()
method which was not working properly in some cases where timers spread out over multiple methods. - Fix non-default constructors of the
Timer
class. They were not working properly in the previous version.
This is the initial release of rcpptimer
. It is based on RcppClock
but contains a number of improvements:
- OpenMP support
- Automatically returns results to R as soon as the C++ Object goes out of scope
- Fast computation of Mean and Standard Deviation of the results in C++
- Uses
tic
andtoc
instead oftick
andtock
to be consistent with R'stictoc
package - Always reports microseconds resolution
- Many more performance improvements