On Jan 7, 2008 10:43 AM, Cedric BAIL <[EMAIL PROTECTED]> wrote:
> On Jan 7, 2008 5:13 AM, Gustavo Sverzut Barbieri <[EMAIL PROTECTED]> wrote:
> > On Jan 4, 2008 8:43 PM, Nathan Ingersoll <[EMAIL PROTECTED]> wrote:
> > > On Jan 4, 2008 4:02 PM, Cedric BAIL <[EMAIL PROTECTED]> wrote:
> > > >   I am looking for a way to improve edje file load time. Right now a
> > > > large amount of time is logically lost in _eet_data_descriptor_decode.
> > > > So looking at its profile, most of the time is lost in manipulating
> > > > string.
> > >
> > > Before getting into the details of your change ideas, could you
> > > explain the use case that you are profiling and the motivation behind
> > > it? For instance, are you seeing a slow load time when initially
> > > starting an application, or is this a case where various edje files
> > > are decoded over time, or accessing multiple data fields, etc?
>
> Sorry Nathan, I did reply directly to you and not to the mailing, it
> was a mistake.
>
> So I am profiling the time needed by an edje object to become
> visible/active to the end user after the edje_object_file_set. I was
> only testing with some quite complex edje file with many swallowed
> object. I just did test with multiple edje file at the same time and
> the profile result look the same.
>
> > Nathan points are valid, of course, but I'm really interested in this
> > kind of stuff, because it's mostly "for free" if you can mmap it, also
> > it will help on high memory pressure situations, since these regions
> > would be file-based and can be evicted and reloaded when app is used
> > again (not a situation I'd like, but would help on embedded systems a
> > bit).
>
> Yes, it should help and reduce memory presure on embedded systems.
>
> > Cedric, something else related is trying to group these strings near,
> > so when they're loaded they'd be on the same memory page, this would
> > help disk seeks and the issue I pointed before. Any knowledge of this
> > area?
>
> Right now, string are repeated a lot in the eet file and they are at
> many different place. If you want to see this, just change the call to
> eet_data_write inside edje_cc_out.c to not compress data.
>
> So packing them together in one section and reducing them to only one
> occurence inside the eet file could be another improvement. But the
> way I see it (adding a new kind of section at the end of the eet file
> and refering to it) will break backward compatibility (eet file using
> this will not be loadable with previous libeet). It could solve some
> of the issue you are pointing.
>
> A side effect of this solution, we will not need to tell the
> application anything about the char* we are giving to it. Because all
> of them will be in a uncompressed section available as long as the eet
> file is referenced somewhere. This solution break eet file
> representation but not eet application.

I'm not sure others will like, but I do like this idea, and given
raster's word that "after E is marked stable, it will have to be
stable, so break things before it's released", I really think we
should fix this now (and break compat) rather than staying with this
for some years more.

-- 
Gustavo Sverzut Barbieri
--------------------------------------
Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to