From b8ddd3b6bbfb7c2186be546a491b31b0db30b6b3 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sat, 8 Mar 2025 08:02:50 +0800 Subject: 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. --- src/nvim/autocmd.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c index 34ad734528..51d952ed3e 100644 --- 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)'. -- cgit