.\" .de Id .. .de Sp .if n .sp .if t .sp 0.4 .. .TH dis_cpu_time 7rheolef "rheolef-7.0" "rheolef-7.0" "rheolef-7.0" .\" label: /*D:dis_cpu_time .SH NAME \fBdis_cpu_time\fP, \fBdis_wall_time\fP, \fBseq_cpu_time\fP, \fBseq_walltime\fP -- Time in seconds since an arbitrary time in the past. .SH SYNOPSIS .\" begin_example .Sp .nf double dis_cpu_time(); double dis_wall_time(); double seq_cpu_time(); double seq_wall_time(); .Sp .fi .\" end_example .PP .SH EXAMPLE .\" begin_example .Sp .nf double t_start = dis_wall_time(); //.... stuff to be timed ... double t_end = dis_wall_time(); derr << "That took " << t_end - t_start << " seconds" << endl .PP double cpu_start = dis_cpu_time(); //.... stuff to be timed ... double cpu_end = dis_cpu_time(); derr << "That needs " << cpu_end - cpu_start << " CPU seconds" << endl .Sp .fi .\" end_example .PP .SH DESCRIPTION \fBdis_wall_time\fP returns a floating-point number of seconds, representing elapsed wall-clock time since some time in the past. The \fItime in the past\fP is guaranteed not to change during the life of the process. The user is responsible for converting large numbers of seconds to other units if they are preferred. This function is portable (it returns seconds, not \fIticks\fP), it allows high resolution, and carries no unnecessary baggage. In a distributed environment, \fBdis_wall_time\fP clocks are synchronized: different nodes return the same time value at the same instant. \fBseq_wall_time\fP is similar but the time returned is local to the node that called them and clocks are not synchronized: in a distributed environment, different nodes can return different local times, at different instant when the call to \fBseq_wall_time\fP is reached. .PP \fBseq_cpu_time\fP is similar but returns the computing time per user for the current process. \fBdis_cpu_time\fP returns the accumulated CPU for all processed linked together via the default communicator. .PP .\" skip start:AUTHOR: .\" skip start:DATE: .\" END .SH COPYRIGHT Copyright (C) 2000-2018 Pierre Saramito GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.