evas: roundup the step size of an array to fit in one page of memory.
authorCedric Bail <cedric.bail@samsung.com>
Fri, 29 Nov 2013 06:32:27 +0000 (15:32 +0900)
committerCedric Bail <cedric.bail@samsung.com>
Fri, 29 Nov 2013 06:33:51 +0000 (15:33 +0900)
This make an array stay in 4K instead of 20K before. It should reduce a little
bit our peak memory usage without slowing down things to much.

src/lib/evas/canvas/evas_main.c

index 185b4a5..e3f520b 100644 (file)
@@ -170,7 +170,8 @@ _constructor(Eo *eo_obj, void *class_data, va_list *list EINA_UNUSED)
    eina_clist_init(&e->calc_done);
 
 #define EVAS_ARRAY_SET(E, Array) \
-   eina_array_step_set(&E->Array, sizeof (E->Array), 4096);
+   eina_array_step_set(&E->Array, sizeof (E->Array), \
+                      ((1024 * sizeof (void*)) - sizeof (E->Array)) / sizeof (void*));
 
    EVAS_ARRAY_SET(e, delete_objects);
    EVAS_ARRAY_SET(e, active_objects);