source: doc/generic_types/evaluation/bench.h @ d9dd3d1

aaron-thesisarm-ehcleanup-dtorsdeferred_resndemanglerjacob/cs343-translationjenkins-sandboxnew-astnew-ast-unique-exprnew-envno_listpersistent-indexerresolv-newwith_gc
Last change on this file since d9dd3d1 was 0d10090, checked in by Aaron Moss <a3moss@…>, 5 years ago

Add printing code to benchmark

  • Property mode set to 100644
File size: 451 bytes
RevLine 
[d919f47]1#pragma once
2
[309be81]3#include <stdio.h>
4#include <time.h>
5
[0d10090]6#ifndef N
7#define N 40000000
8#endif
[309be81]9
10long ms_between(clock_t start, clock_t end) {
11        return (end - start) / (CLOCKS_PER_SEC / 1000);
12}
13
14#define TIMED(name, code) { \
[b276be5]15        volatile clock_t _start, _end; \
[d919f47]16        _start = clock(); \
[309be81]17        code \
[d919f47]18        _end = clock(); \
[47535a0d]19        printf("%s:\t%8ld ms\n", name, ms_between(_start, _end)); \
[309be81]20}
21
[d919f47]22#define REPEAT_TIMED(name, code) TIMED( name, for (int _i = 0; _i < N; ++_i) { code } )
Note: See TracBrowser for help on using the repository browser.