raster pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=6c1f97169f832a25fbf8a03ec3c92488a52cd62c
commit 6c1f97169f832a25fbf8a03ec3c92488a52cd62c Author: Carsten Haitzler (Rasterman) <[email protected]> Date: Sat Jun 15 09:19:20 2019 +0100 evas - pointer in get - dont On walk inlist but O1 jump to last to walk inreverse we need to jump to last first then walk backwards... what we were doing is calling eina_inlist_last() which is defined to walk rather than that using list->last ... this totally got rid of _evas_event_object_list_raw_in_get() from my perf list ... and i was wondering how it got there to start with. this is such an obvious optimization... --- src/lib/evas/canvas/evas_events.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_events.c b/src/lib/evas/canvas/evas_events.c index ca2a903ae4..19bcf2811c 100644 --- a/src/lib/evas/canvas/evas_events.c +++ b/src/lib/evas/canvas/evas_events.c @@ -379,7 +379,7 @@ _evas_event_object_list_raw_in_get(Evas *eo_e, Eina_List *in, spaces++; if (ilist) { - for (obj = _EINA_INLIST_CONTAINER(obj, eina_inlist_last(ilist)); + for (obj = _EINA_INLIST_CONTAINER(obj, ilist->last); obj; obj = _EINA_INLIST_CONTAINER(obj, EINA_INLIST_GET(obj)->prev)) { --
