evas draw context - reduce size and allocations and frees
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 31 Jan 2017 05:50:52 +0000 (14:50 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 31 Jan 2017 14:01:50 +0000 (23:01 +0900)
commita909ca1f68e178f54c5cc047ddff79d25b2c34c6
treeb4f604ded3a6d03f115b42aa62640a261f045401
parentb38c610c7e60cbdcb45fd6d27450e39e3a9c9dd1
evas draw context - reduce size and allocations and frees

so a little perf fun shows malloc/free/realloc/etc. are, combined a
reasonable overhead. this reduced malloc overhead for draw contexts so
whne we duplicate them or create new ones, we re-use a small cache of
8 of them to avoid re-allocation. just take the first one from the
list as it really is that simple. mempool would not have helped more
here and cost more overhead.

@optimize
src/bin/evas/evas_cserve2_scale.c
src/lib/evas/common/evas_draw.h
src/lib/evas/common/evas_draw_main.c
src/lib/evas/filters/evas_filter_utils.c
src/lib/evas/include/evas_common_private.h