Enlightenment CVS committal

Author  : ningerso
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/canvas


Modified Files:
        evas_font_dir.c 


Log Message:
Did some cache miss profiling with a large number of transient text objects
and found that reordering the evas list containing the font path list was
actually hurting cache performance. Frequent cache misses occurred in
evas_mempool_free in it's main loop. So removing the list node and re adding it
actually decreased cache performance in some cases. This would also cause memory
allocation bouncing if mempools were not used.

Added evas_list_promote_list to move a list node to the beginning of a list.
Changed reordering lists to use evas_list_promote_list.

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_font_dir.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- evas_font_dir.c     9 Jun 2006 05:11:37 -0000       1.24
+++ evas_font_dir.c     4 Aug 2006 10:00:49 -0000       1.25
@@ -151,8 +151,7 @@
               {
                  if (size == fd->size)
                    {
-                      fonts_cache = evas_list_remove_list(fonts_cache, l);
-                      fonts_cache = evas_list_prepend(fonts_cache, fd);
+                      fonts_cache = evas_list_promote_list(fonts_cache, l);
                       fd->ref++;
                       return fd->font;
                    }



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to