18 int main(
int argc,
char* argv[])
36 catch(
const exception &error) {
37 FATAL(error.what() << endl);
43 if (intervalTime_ms <= 0) {
FATAL(
"interval time [ms] " << intervalTime_ms <<
" < 0." << endl); }
44 if (totalTime_s <= 0) {
FATAL(
"total time [s] " << totalTime_s <<
" < 0." << endl); }
46 JFileDescriptorMask mask;
48 cout <<
"hit <return> to interrupt" << endl;
52 clock.setInterval(intervalTime_ms * 1000);
58 int numberOfInterrupts = 0;
60 for (
int i = 0; i < 1000 * totalTime_s / intervalTime_ms; ) {
64 mask.set(STDIN_FILENO);
66 if (clock.wait(mask)) {
81 NOTICE(
"Number of interrupts " << setw(8) << right << numberOfInterrupts << endl);
82 NOTICE(
"Total delay [ms] " << setw(8) << right << clock.getDelay() / 1000 << endl);
83 NOTICE(
"Elapsed time [ms] " << setw(8) << right << (t1 - t0) / 1000 << endl);
85 if (numberOfInterrupts != 0) {
86 NOTICE(
"Time per interrupt [us] " << setw(8) << right << (t1 - t0 - clock.getDelay()) / numberOfInterrupts << endl);