On Thu, May 1, 2008 at 5:11 AM, Jose Gonzalez <[EMAIL PROTECTED]> wrote:
>    Gustavo wrote:
>
>  > Hi guys,
>  >
>  > As you can see from CVS log, I did some repacking of Evas_Object and
>  > managed to save more than 80 bytes, almost 1/3 of it is gone.
>  >
>  > While some aggressive packing went in, like "layer" number being a
>  > short now, I'm a bit unsure if applying the attached patch is a good
>  > thing. It will save 4 bytes from cur,prev, so it's 8 bytes in the end,
>  > but the solution is a bit ugly, as the members
>  > cache.clip.{visible,dirty} now are cache_clip_{visible,dirty} so it
>  > can be packed with the other bitfields. On one hand it saves memory,
>  > on the other it's ugly as hell :-P
>  >
>  > Apply or not? that's the question...
>  >
>
>       Hey man, I hope you didn't think my remarks about adding
>  properties and such had to do with object sizes...

of course no, but having almost 300 bytes for each object was
something I don't like for a long time. I just have some spare time
and went to the code and fixed what was easy. As you can see there is
not much we can do other than that in EVAS, but if you look at Edje...
oh god! With part descriptions over 300 bytes I wonder how we can be
so much lighter than GTK for example (and yes, we are a lot lighter
than, ie matchbox).


> It was more
>  about having all these things (including some older stuff) that
>  may or may not apply to this or that obj type, no way to know,
>  etc. Ideally a "pie in the sky" kind of thing would be an evas
>  based on an ecore_object 'object' system (with all the ecore gui
>  stuff, including ecore_evas, split off from an ecore base), and
>  similar utopian ideals. :)

I think that's overkill at this level. This is better if you take
widgets and like, so can be done in an upper level like ETK or EWL do.
  About this I'm particular biased _AGAINST_ ecore_object. It's better
to rely on existing machinery, either "native" going C++ or
Objective-C, or going with GObject or PyObject, saving efforts to
create yet-another-poor-implemented object system in C.


>       Anyway... although I'm not sure just how 'important' it is
>  (in practice) to have object sizes cut down as much as you managed,
>  that's nice work anyhow! But yeah, some of it is a bit 'ugly'...
>  maybe leave those parts alone?

the importance is that, except by image data, that's what consume most
of memory in EVAS. Also, making them smaller, consuming less cache
lines, will make applications a bit faster when you're loading batches
of them to RAM... the downside is that now comparisons will need to
apply masks before comparisons and settings, making these a bit
slower, however if you use multiple load/store of values in the same
bitfields, they can be done in one step, so a bit faster.
   Also, one of the patches moved data that non-smart objects do NOT
use, and these were confusing and wasting memory.


>       BTW, did you kill Kenny with all that chopping away?

:-)

-- 
Gustavo Sverzut Barbieri
http://profusion.mobi
Embedded Systems
--------------------------------------
MSN: [EMAIL PROTECTED]
Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to