Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| a1770132 | 2023-09-25 11:41:48 | Compose: add iterator API Allow users to iterate the entries in a compose table. This is useful for other projects which want programmable access to the sequences, without having to write their own parser. - New API: - `xkb_compose_table_entry_sequence`; - `xkb_compose_table_entry_keysym`; - `xkb_compose_table_entry_utf8`; - `xkb_compose_table_iterator_new`; - `xkb_compose_table_iterator_free`; - `xkb_compose_table_iterator_next`. - Add tests in `test/compose.c`. - Add benchmark for compose traversal. - `tools/compose.c`: - Print entries instead of just validating them. - Add `--file` option. - TODO: make this tool part of the xkbcli commands. Co-authored-by: Pierre Le Marre <dev@wismill.eu> Co-authored-by: Ran Benita <ran@unusedvar.com> Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| bd79a960 | 2023-04-11 23:24:47 | Possible fix for non-MSVC windows compilers `_MSC_VER` is specific to MSVC, but there can be other compilers targeting windows. Hopefully they do define `_WIN32`, so let's use that. Refs: https://github.com/xkbcommon/libxkbcommon/issues/305 Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| eb59a1c5 | 2021-06-10 17:13:57 | bench/compose: fix compose file path Forgotten in e2465c2. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 09ac27f7 | 2021-05-22 19:51:02 | ignore: remove no longer relevant gitignore files These were relevant for the autoconf build but now we're meson only. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| baf55226 | 2021-04-08 10:51:07 | bench: add atom benchmark Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 5f8c2fa4 | 2021-04-27 12:31:37 | bench/rulescomp: decrease benchmark iterations No need for more, and easier to convert to milliseconds per iteration. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 7a205e25 | 2021-03-18 11:08:16 | bench: silence coverity complaint about a double free False positive because we rely on xkb_components_from_rules() to initalize this struct, but let's localize the variable anyway to shut coverity up. libxkbcommon-1.0.3/bench/rules.c:59:9: warning[-Wanalyzer-double-free]: double-free of kccgst.symbols Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> | ||
| 1bd3b3c7 | 2020-11-19 00:28:37 | x11: cache X11 atoms On every keymap notify event, the keymap should be refreshed, which fetches the required X11 atoms. A big keymap might have a few hundred of atoms. A profile by a user has shown this *might* be slow when some intensive amount of keymap activity is occurring. It might also be slow on a remote X server. While I'm not really sure this is the actual bottleneck, caching the atoms is easy enough and only needs a couple kb of memory, so do that. On the added bench-x11: Before: retrieved 2500 keymaps from X in 11.233237s After : retrieved 2500 keymaps from X in 1.592339s Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 9e3045c7 | 2019-08-05 16:57:45 | MSVC: Provide an implementation of gettimeofday() | ||
| d1e39c11 | 2019-12-28 14:11:27 | test/atom: use correct format specifier for size_t From MSVC: test\atom.c(98): note: consider using '%zu' in the format string test\atom.c(98): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t' test\atom.c(100): note: consider using '%zu' in the format string test\atom.c(100): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t' test\atom.c(114): note: consider using '%zu' in the format string test\atom.c(114): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t' test\atom.c(128): note: consider using '%zu' in the format string test\atom.c(128): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t' test\atom.c(130): note: consider using '%zu' in the format string test\atom.c(130): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 1 has type 'size_t' test\atom.c(137): note: consider using '%zu' in the format string test\atom.c(137): warning C4477: 'fprintf' : format string '%lu' requires an argument of type 'unsigned long', but variadic argument 2 has type 'size_t' Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| da4a90c1 | 2019-12-28 13:49:40 | Open files in binary mode This turns off some misfeatures on Windows, and does nothing on POSIX. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| 40aab05e | 2019-12-27 13:03:20 | build: include config.h manually Previously we included it with an `-include` compiler directive. But that's not portable. And it's better to be explicit anyway. Every .c file should have `include "config.h"` first thing. Signed-off-by: Ran Benita <ran@unusedvar.com> | ||
| c8e17eed | 2018-07-05 18:13:14 | bench: simplify the bench helpers Trim the API a bit. Also, just always use gettimeofday(), which is portable. Hopefully the system clock doesn't change while a benchmark is running. Signed-off-by: Ran Benita <ran234@gmail.com> | ||
| d44ba481 | 2017-07-29 22:43:08 | build: remove unneeded preprocessor include flags Better to avoid these unexpected include paths. Signed-off-by: Ran Benita <ran234@gmail.com> | ||
| fe81dcbd | 2016-09-19 10:09:12 | bench: fix compilation on hurd Patch by Samuel Thibault. https://github.com/xkbcommon/libxkbcommon/issues/39 Signed-off-by: Ran Benita <ran234@gmail.com> | ||
| 853b7502 | 2016-09-16 09:36:27 | bench/compose: tabs -> spaces Signed-off-by: Ran Benita <ran234@gmail.com> | ||
| ea9a5bcf | 2016-09-15 14:12:38 | bench: Check for errors opening Compose file Otherwise it can segfault e.g. running ./compose inside the bench directory. Signed-off-by: Bryce Harrington <bryce@bryceharrington.org> Signed-off-by: Ran Benita <ran234@gmail.com> | ||
| 4c24f7fa | 2016-03-15 20:42:21 | test: assert/ignore some warn_unused_result's Signed-off-by: Ran Benita <ran234@gmail.com> | ||
| 3c12d671 | 2015-08-24 13:33:32 | bench: Modify benchmarks for a wider range of platforms - Add the new files bench.c and bench.h to implement a timer module. - Implement the module with clock_gettime(), mach_absolute_time(), or gettimeofday(), depending on a given platform. - Replace the time measurement code of the benchmark programs with the functions of the module. | ||
| 8d58e250 | 2014-10-03 00:30:43 | bench/compose: add new benchmark Signed-off-by: Ran Benita <ran234@gmail.com> | ||
| bc3b4c08 | 2014-10-02 22:03:28 | Move benchmarks from tests to their own files in bench/ The tests only contain tests, and the benchmarks are more visible. Signed-off-by: Ran Benita <ran234@gmail.com> |