Return the CPU time (as a real number of default precision) used since the beginning of a Magma session.
Return the CPU time (as a real number of default precision) used since time t (as a real number). Time starts at 0.0 at the beginning of a Magma session.
Execute the statement and print the time taken when the statement is completed.
If the verbose flag flag (see the function SetVerbose) has a level greater than or equal to n, execute the statement and print the time taken when the statement is completed. If the flag has level 0 (i.e. is not turned on), still execute the statement, but do not print the timing. In the first form of this statement, where a specific level is not given, n is taken to be 1. This statement is useful in Magma code found in packages where one wants to print the timing of some sub-algorithm if and only if an appropriate verbose flag is turned on.
> n := 2^109-1; > time Factorization(n); [<745988807, 1>, <870035986098720987332873, 1>] Time: 0.149Alternatively, we can extract the current time t and use Cputime. This method can be used to time the execution of several statements.
> m := 2^111-1; > n := 2^113-1; > t := Cputime(); > Factorization(m); [<7, 1>, <223, 1>, <321679, 1>, <26295457, 1>, <319020217, 1>, <616318177, 1>] > Factorization(n); [<3391, 1>, <23279, 1>, <65993, 1>, <1868569, 1>, <1066818132868207, 1>] > Cputime(t); 0.121We illustrate a simple use of vtime with vprint within a function.
> function MyFunc(G) > vprint User1: "Computing order..."; > vtime User1: o := #G; > return o; > end function; > SetVerbose("User1", 0); > MyFunc(Sym(4)); 24 > SetVerbose("User1", 1); > MyFunc(Sym(4)); Computing order... Time: 0.000 24[Next] [Prev] [_____] [Left] [Up] [Index] [Root]