efl
54 строки · 1004.0 Байт
1#ifdef HAVE_CONFIG_H
2# include "config.h"
3#endif
4
5#include <stdlib.h>
6#include <stdio.h>
7#include <limits.h>
8
9#include "evas_bench.h"
10#include "Eina.h"
11#include "Evas.h"
12
13typedef struct _Evas_Benchmark_Case Evas_Benchmark_Case;
14struct _Evas_Benchmark_Case
15{
16const char *bench_case;
17void (*build)(Eina_Benchmark *bench);
18Eina_Bool run_by_default;
19};
20
21static const Evas_Benchmark_Case etc[] = {
22{ "Loader", evas_bench_loader, EINA_TRUE },
23{ "Saver", evas_bench_saver, EINA_TRUE },
24{ NULL, NULL, EINA_FALSE }
25};
26
27int
28main(int argc, char **argv)
29{
30Eina_Benchmark *test;
31unsigned int i;
32
33evas_init();
34
35for (i = 0; etc[i].bench_case; ++i)
36{
37if (argc == 2 && strcasecmp(etc[i].bench_case, argv[1]))
38continue;
39
40test = eina_benchmark_new(etc[i].bench_case, "default");
41if (!test)
42continue;
43
44etc[i].build(test);
45
46eina_benchmark_run(test);
47
48eina_benchmark_free(test);
49}
50
51evas_shutdown();
52
53return 0;
54}
55