rulescomp.c 965 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. * Copyright © 2009 Dan Nicholson
  3. * SPDX-License-Identifier: MIT
  4. */
  5. #include "config.h"
  6. #include <time.h>
  7. #include "../test/test.h"
  8. #include "bench.h"
  9. #include "xkbcommon/xkbcommon.h"
  10. #define BENCHMARK_ITERATIONS 1000
  11. int
  12. main(int argc, char *argv[])
  13. {
  14. struct xkb_context *ctx;
  15. struct xkb_keymap *keymap;
  16. struct bench bench;
  17. char *elapsed;
  18. int i;
  19. ctx = test_get_context(0);
  20. assert(ctx);
  21. xkb_enable_quiet_logging(ctx);
  22. bench_start(&bench);
  23. for (i = 0; i < BENCHMARK_ITERATIONS; i++) {
  24. keymap = test_compile_rules(ctx, XKB_KEYMAP_FORMAT_TEXT_V1, "evdev",
  25. "pc104", "us", "", "");
  26. assert(keymap);
  27. xkb_keymap_unref(keymap);
  28. }
  29. bench_stop(&bench);
  30. elapsed = bench_elapsed_str(&bench);
  31. fprintf(stderr, "compiled %d keymaps in %ss\n",
  32. BENCHMARK_ITERATIONS, elapsed);
  33. free(elapsed);
  34. xkb_context_unref(ctx);
  35. return 0;
  36. }