commit b8ddd3b6bbfb7c2186be546a491b31b0db30b6b3
parent f05a6666cfcb2cd95d860620748cb0fa58b23aba
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat, 8 Mar 2025 08:02:50 +0800
perf(events): remove unnecessary loop in event_nr2name() (#32777)
It's no longer needed after #32152.
I'll not apply this change to Vim first, because Nvim's event name
aliases are a bit different from Vim.
After this change there is a small speedup in nvim_exec_autocmds as per
test/benchmark/autocmd_spec.lua.
Diffstat:
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c
@@ -658,12 +658,7 @@ event_T event_name2nr_str(String str)
const char *event_nr2name(event_T event)
FUNC_ATTR_NONNULL_RET FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_CONST
{
- for (int i = 0; event_names[i].name != NULL; i++) {
- if ((event_T)abs(event_names[i].event) == event) {
- return event_names[i].name;
- }
- }
- return "Unknown";
+ return event >= 0 && event < NUM_EVENTS ? event_names[event].name : "Unknown";
}
/// Return true if "event" is included in 'eventignore(win)'.