mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-25 13:00:19 +01:00
perf: More simplification of PERF_LOOP macros.
Here we drop both the start_timing and stop_timing functions, foliding their contents into main, PERF_LOOP_INIT and PERF_LOOP_FINI.
This commit is contained in:
parent
b9f629d542
commit
7f6e901a23
2 changed files with 17 additions and 34 deletions
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
#include "cairo-perf.h"
|
||||
|
||||
int cairo_perf_duration = -1;
|
||||
int cairo_perf_duration = 5;
|
||||
|
||||
int cairo_perf_alarm_expired = 0;
|
||||
|
||||
|
|
@ -80,24 +80,6 @@ target_is_measurable (cairo_test_target_t *target)
|
|||
}
|
||||
}
|
||||
|
||||
void
|
||||
start_timing (bench_timer_t *tr) {
|
||||
if (cairo_perf_duration == -1) {
|
||||
if (getenv("CAIRO_PERF_DURATION"))
|
||||
cairo_perf_duration = strtol(getenv("CAIRO_PERF_DURATION"), NULL, 0);
|
||||
else
|
||||
cairo_perf_duration = 5;
|
||||
}
|
||||
tr->count = 0;
|
||||
timer_start (tr);
|
||||
set_alarm (cairo_perf_duration);
|
||||
}
|
||||
|
||||
void
|
||||
stop_timing (bench_timer_t *tr) {
|
||||
timer_stop (tr);
|
||||
}
|
||||
|
||||
int
|
||||
main (int argc, char *argv[])
|
||||
{
|
||||
|
|
@ -108,6 +90,9 @@ main (int argc, char *argv[])
|
|||
cairo_t *cr;
|
||||
unsigned int size;
|
||||
|
||||
if (getenv("CAIRO_PERF_DURATION"))
|
||||
cairo_perf_duration = strtol(getenv("CAIRO_PERF_DURATION"), NULL, 0);
|
||||
|
||||
for (i = 0; targets[i].name; i++) {
|
||||
target = &targets[i];
|
||||
if (! target_is_measurable (target))
|
||||
|
|
|
|||
|
|
@ -43,12 +43,6 @@ typedef struct {
|
|||
|
||||
#include "timer-alarm.h"
|
||||
|
||||
void
|
||||
start_timing (bench_timer_t *tr);
|
||||
|
||||
void
|
||||
stop_timing (bench_timer_t *tr);
|
||||
|
||||
extern int cairo_perf_duration;
|
||||
extern int cairo_perf_alarm_expired;
|
||||
|
||||
|
|
@ -58,20 +52,24 @@ extern int cairo_perf_alarm_expired;
|
|||
* out how to do an async timer. On a quiet system, this doesn't
|
||||
* seem to significantly affect the results.
|
||||
*/
|
||||
# define PERF_LOOP_INIT(timervar) do { \
|
||||
start_timing(&(timervar)); \
|
||||
while (! cairo_perf_alarm_expired) { \
|
||||
# define PERF_LOOP_INIT(timervar) do { \
|
||||
timervar.count = 0; \
|
||||
timer_start (&(timervar)); \
|
||||
set_alarm (cairo_perf_duration); \
|
||||
while (! cairo_perf_alarm_expired) { \
|
||||
SleepEx(0, TRUE)
|
||||
#else
|
||||
# define PERF_LOOP_INIT(timervar) do { \
|
||||
start_timing(&(timervar)); \
|
||||
# define PERF_LOOP_INIT(timervar) do { \
|
||||
timervar.count = 0; \
|
||||
timer_start (&(timervar)); \
|
||||
set_alarm (cairo_perf_duration); \
|
||||
while (! cairo_perf_alarm_expired) {
|
||||
#endif
|
||||
|
||||
#define PERF_LOOP_FINI(timervar) \
|
||||
(timervar).count++; \
|
||||
} \
|
||||
stop_timing (&(timervar)); \
|
||||
#define PERF_LOOP_FINI(timervar) \
|
||||
(timervar).count++; \
|
||||
} \
|
||||
timer_stop (&(timervar)); \
|
||||
} while (0)
|
||||
|
||||
#define PERF_LOOP_RATE(timervar) \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue