/* This file is part of LilyPond, the GNU music typesetter. Copyright (C) 1997--2015 Han-Wen Nienhuys LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. LilyPond is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with LilyPond. If not, see . */ #include "cpu-timer.hh" #include // nextstep #ifndef CLOCKS_PER_SEC #ifdef CLK_TCK #define CLOCKS_PER_SEC CLK_TCK #elif defined _SC_CLK_TCK #define CLOCKS_PER_SEC sysconf (_SC_CLK_TCK) #else #error cannot determine CLOCKS_PER_SEC #endif #endif Cpu_timer::Cpu_timer () { restart (); } void Cpu_timer::restart () { start_clock_ = clock (); } Real Cpu_timer::read () { clock_t stop = clock (); return Real (stop - start_clock_) / Real (CLOCKS_PER_SEC); }