Measure real time
This functionality does not run in MATLAB.
a1, a2, …)
rtime() returns the real time in milliseconds
that elapsed since the start of the current MuPAD® session.
rtime(a1, a2, ...) returns the real time
needed to evaluate all arguments.
The result of
rtime is the real time. Thus,
be used to measure the total time spent by the MuPAD process
as well as by external processes spawned from inside the MuPAD session.
Note that an interactive call of
rtime() is not
very useful, since the idle time of the user is included. However,
a2, ...) often yields a useful and more realistic timing
time(a1, a2, ...) if the evaluation of the
arguments spawns external processes. Such a situation may arise in
a numerical computation because some routines of the
call external numerical tools using hardware floats. Cf. Example 4.
If no external process besides MuPAD are running, the timings
rtime(a1, a2, ...) and
a2, ...) roughly coincide.
On computers without "time-sharing", such as the Macintosh computer, real time and CPU time roughly coincide.
rtime is a function of the system kernel.
This example shows how to do a time measurement and assign the computed value to an identifier at the same time. Note that the assignment needs extra parenthesis when passed as argument:
time((a := int(exp(x)*sin(x), x)))
Alternatively, one may time groups of statements in the following way:
t0 := time(): command1 command2 ... time() - t0
Here we use
rtime to compute the elapsed
hours, minutes and seconds since this session was started:
t := rtime()/1000: h := trunc(t/3600): m := trunc(t/60 - h*60): s := trunc(t - m*60 - h*3600):
print(Unquoted, "This session is running for " . h . " hours, " . m . " minutes and " . s . " seconds.")
This session is running for 0 hours, 0 minutes and 10 seconds.
delete t, h, m, s:
To obtain a nicer output, the measured time can be multiplied with the appropriate time unit:
time(isprime(2^1000000000 - 1))*unit::msec
stringlib::formatTime(time(isprime(2^1000000000 - 1)))
Arbitrary MuPAD objects
Nonnegative integer giving the elapsed time in milliseconds.