Re: What's Enlightenment doing for so long?

2008-08-25 Thread The Rasterman
On Tue, 26 Aug 2008 17:12:09 +0200 Fabian Henze <[EMAIL PROTECTED]> babbled:

> > 4. scanning disk for .desktop files (as these are all the applications)
> > 5. scanning fonts for use
> 
> Isn't it possible to cache stuff like this in just one file? So e can start 
> using the cache and check for new .desktop files or fonts afterwards?

yes. but that cache hasn't been done as part of efreet - it's a cleanroom
implementation of the fdo standards as per their specs. it doesnt do much in
the way of trying to be too fancy. this would help though and remove the async
scan - or be able to defer the async scan until much later (once init is over
and stuff is idle).

> > 9. query some hal info (removable devices etc.)
> 
> maybe this can be done after the e start?

it kicks off some of it on init - it's async after that. check e;'s stdout
(well change login scripts to write it to a file). it benchmarks its own init
dumping a whole init+timestamp log. you do miss the first bit until it starts
logging - once it hits mainloop it's now in async land and everything is
deferred in async processes, timers, other daemons etc.

> On Mon, 25. Aug 2008 12:53:17 Carsten Haitzler wrote:
> > btw - app startup is generally very fast - if the apps are in c. i clock in
> > a simple efl application at under 1 second (about 0.8) and a simple gtk app
> > at about 1.5 secs or so. so as such toolkit isnt much of an issue here in
> > start time. :) you are just going to have this kind of lag no matter what.
> > lots of libs get resolved for symbols for pretty much any app using enough
> > gui libs - there is x setup (connect, query for info etc.) and likely
> > loading in of data from disk (icons, maybe fonts etc.) so... you're not
> > going to really do much better i think just using efl. it doesn't matter
> > much really. efl just tends to do a little less on init, but generally is
> > more data-driven from files on disk (eg .edj files) and so needs to load
> > these in too.
> 
> In my opinion 1 second is pretty slow and afaik people get annoyed if
> anything (interactive) takes more than 0.5 seconds. What about using LDFLAGS
> to compile the programs (dont know if this is already used). or precaching 
> commonly used applications like the Dialer, the SMS app or the contact list.

the 1 second is with everything cached - ie run it once, then again. you'll be
slower if more needs to be paged off disk. the way you can win is simply avoid
doign the whole exec and init N times. that is why e uses modules for a lot -
they are .so's dlopen()ed. so they basically biggyback all the init work e
already did for itself and so can extend e and add functionality - pretty much
anything they like, BUT... you pay a stability price. as its the same process -
you can crash the wm if your module is bad (then again a crash simply gets you
a white box asking you to restart or exit... which isn't the end of things).

this tends to cut a huge chunk off getting something up. either that or
starting all these apps on "login" (or boot or whatever you wish to call it),
and so the processes float about all the time idle until needed then pop up
their windows (which they have already prepared and populated with widgets
etc.).

-- 
Carsten Haitzler (The Rasterman) <[EMAIL PROTECTED]>

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: What's Enlightenment doing for so long?

2008-08-25 Thread Fabian Henze
> 4. scanning disk for .desktop files (as these are all the applications)
> 5. scanning fonts for use

Isn't it possible to cache stuff like this in just one file? So e can start 
using the cache and check for new .desktop files or fonts afterwards?

> 9. query some hal info (removable devices etc.)

maybe this can be done after the e start?

On Mon, 25. Aug 2008 12:53:17 Carsten Haitzler wrote:
> btw - app startup is generally very fast - if the apps are in c. i clock in
> a simple efl application at under 1 second (about 0.8) and a simple gtk app
> at about 1.5 secs or so. so as such toolkit isnt much of an issue here in
> start time. :) you are just going to have this kind of lag no matter what.
> lots of libs get resolved for symbols for pretty much any app using enough
> gui libs - there is x setup (connect, query for info etc.) and likely
> loading in of data from disk (icons, maybe fonts etc.) so... you're not
> going to really do much better i think just using efl. it doesn't matter
> much really. efl just tends to do a little less on init, but generally is
> more data-driven from files on disk (eg .edj files) and so needs to load
> these in too.

In my opinion 1 second is pretty slow and afaik people get annoyed if anything 
(interactive) takes more than 0.5 seconds. What about using LDFLAGS to 
compile the programs (dont know if this is already used). or precaching 
commonly used applications like the Dialer, the SMS app or the contact list.


Fabian

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: What's Enlightenment doing for so long?

2008-08-25 Thread The Rasterman
On Mon, 25 Aug 2008 10:57:49 +0100 Rui Miguel Silva Seabra <[EMAIL PROTECTED]>
babbled:

> On Mon, Aug 25, 2008 at 12:06:07PM +1000, Carsten Haitzler wrote:
> > On Sun, 24 Aug 2008 14:33:22 +0100 Rui Miguel Silva Seabra <[EMAIL 
> > PROTECTED]>
> > babbled:
> > 
> > > After de "Booting" part with a progress report, we get the Boot's again.
> > > 
> > > But I already can ssh into the Freerunner, and doing a top I see that
> > > it's enlightenment who's taking a bloody huge time loading up. Feels
> > > like about half of the booting time.
> > > 
> > > I wonder what could be done to speed it up...
> > 
> > it's
> > 1. loading config
> > 2. connecting to x and querying stuff, settign up atoms and properties
> > 3. loading data (theme) files
> > 4. scanning disk for .desktop files (as these are all the applications)
> > 5. scanning fonts for use
> > 6. setting up ipc
> > 7. testing runtime breakages (eg you removed the png, jpeg or eet loaders
> > from evas as they are runtime replacable modules)
> > 8. dbusinit and connect
> > 9. query some hal info (removable devices etc.)
> > 10. loading its own modules and letting them all do their init.
> > 
> > also note it only gets a fraction of the resources - qpe (and its tools like
> > mediaserver and quicklancher) all are fighting over cpu - the animated
> > splash uses a bit too, so as such it's left with about 15-20% of the cpu at
> > least for itself to do its init. the splash of course could be simpler and
> > use less cpu. no plash and u'd just have a blank screen for a while (its a
> > config option of course).
> 
> Thank you,
> 
> My point wasn't to criticize but to check out what could be done to speed up
> this component in order to have a smaller boot time, and with a different
> screen.

well boot has 2 phases. system boot then gui boot. system boot is the first
"boots" screen. this is exquisite doing the gui - it is a bootloader splash app
that uses EFL. so the theme is a .edj file - once you figure out edje... it
works pretty much the same everywhere. you can go completely wild here -
bootsplash is pretty flexible in terms of how wild a ui you can come up with
(from mimicking the old moko orange boot to pretty much any boot screen out
there to something new).

the 2nd boot splash (after the blank which is x starting up) is e's init splash
screen. it uses this (if turned on) to keep you amused while e does the above
and more. again - edj file. theme customising again.

> Since the resources are quite low in comparison to a modern computer
> maybe it needs some low-resource-computer specific optimizations.

well the less it does.. the less is devoted to something other than
necessities. so simpler animations at a lower framerate for example. (so for
example just an tiny icon blinking on/off every 0.5 seconds would use much less
than that bar bouncing about at 30fps). otherwise following freedesktop.org
standards does hurt performance a lot - having to scan for .desktop files and
hunt and scan for icons for them... :(

> I'm actually considering studying e's libraries in order to create some
> replacements for the most common applications.
> 
> I think it's quite intolerable that in idle the main applications (at
> least) aren't near instantaneous, and if e's the way to go, then e-like
> apps should be written.

trust me. i've looked at what e's doing on start. it should really take a few
seconds (6 or so) at most to start up all of e. that's what i clock it at when
it's not competing with qpe or anything else with init splash removed and any
data it needs cached in disk cache). init will slow it down a little but keep
you amused while it does its stuff. so it's worth it - but making the init
splash simpler (it a small spinning icon in the corner, not a big bar bouncing
about) would help. otherwise there is not a lot that can be done to really make
big headway into e's startup there. i have regularly sat down with it and gone
over it to optimise. it really needs a deep understanding of whats going on to
do it without breaking anything.

btw - app startup is generally very fast - if the apps are in c. i clock in a
simple efl application at under 1 second (about 0.8) and a simple gtk app at
about 1.5 secs or so. so as such toolkit isnt much of an issue here in start
time. :) you are just going to have this kind of lag no matter what. lots of
libs get resolved for symbols for pretty much any app using enough gui libs -
there is x setup (connect, query for info etc.) and likely loading in of data
from disk (icons, maybe fonts etc.) so... you're not going to really do much
better i think just using efl. it doesn't matter much really. efl just tends to
do a little less on init, but generally is more data-driven from files on disk
(eg .edj files) and so needs to load these in too.

-- 
Carsten Haitzler (The Rasterman) <[EMAIL PROTECTED]>

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.open

Re: What's Enlightenment doing for so long?

2008-08-25 Thread Rui Miguel Silva Seabra
On Mon, Aug 25, 2008 at 12:06:07PM +1000, Carsten Haitzler wrote:
> On Sun, 24 Aug 2008 14:33:22 +0100 Rui Miguel Silva Seabra <[EMAIL PROTECTED]>
> babbled:
> 
> > After de "Booting" part with a progress report, we get the Boot's again.
> > 
> > But I already can ssh into the Freerunner, and doing a top I see that
> > it's enlightenment who's taking a bloody huge time loading up. Feels
> > like about half of the booting time.
> > 
> > I wonder what could be done to speed it up...
> 
> it's
> 1. loading config
> 2. connecting to x and querying stuff, settign up atoms and properties
> 3. loading data (theme) files
> 4. scanning disk for .desktop files (as these are all the applications)
> 5. scanning fonts for use
> 6. setting up ipc
> 7. testing runtime breakages (eg you removed the png, jpeg or eet loaders from
> evas as they are runtime replacable modules)
> 8. dbusinit and connect
> 9. query some hal info (removable devices etc.)
> 10. loading its own modules and letting them all do their init.
> 
> also note it only gets a fraction of the resources - qpe (and its tools like
> mediaserver and quicklancher) all are fighting over cpu - the animated splash
> uses a bit too, so as such it's left with about 15-20% of the cpu at least for
> itself to do its init. the splash of course could be simpler and use less cpu.
> no plash and u'd just have a blank screen for a while (its a config option of
> course).

Thank you,

My point wasn't to criticize but to check out what could be done to speed up
this component in order to have a smaller boot time, and with a different 
screen.

Since the resources are quite low in comparison to a modern computer
maybe it needs some low-resource-computer specific optimizations.

I'm actually considering studying e's libraries in order to create some
replacements for the most common applications.

I think it's quite intolerable that in idle the main applications (at
least) aren't near instantaneous, and if e's the way to go, then e-like
apps should be written.

Rui

-- 
Or not.
Today is Boomtime, the 18th day of Bureaucracy in the YOLD 3174
+ No matter how much you do, you never do enough -- unknown
+ Whatever you do will be insignificant,
| but it is very important that you do it -- Gandhi
+ So let's do it...?

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


Re: What's Enlightenment doing for so long?

2008-08-24 Thread The Rasterman
On Sun, 24 Aug 2008 14:33:22 +0100 Rui Miguel Silva Seabra <[EMAIL PROTECTED]>
babbled:

> After de "Booting" part with a progress report, we get the Boot's again.
> 
> But I already can ssh into the Freerunner, and doing a top I see that
> it's enlightenment who's taking a bloody huge time loading up. Feels
> like about half of the booting time.
> 
> I wonder what could be done to speed it up...

it's
1. loading config
2. connecting to x and querying stuff, settign up atoms and properties
3. loading data (theme) files
4. scanning disk for .desktop files (as these are all the applications)
5. scanning fonts for use
6. setting up ipc
7. testing runtime breakages (eg you removed the png, jpeg or eet loaders from
evas as they are runtime replacable modules)
8. dbusinit and connect
9. query some hal info (removable devices etc.)
10. loading its own modules and letting them all do their init.

also note it only gets a fraction of the resources - qpe (and its tools like
mediaserver and quicklancher) all are fighting over cpu - the animated splash
uses a bit too, so as such it's left with about 15-20% of the cpu at least for
itself to do its init. the splash of course could be simpler and use less cpu.
no plash and u'd just have a blank screen for a while (its a config option of
course).

-- 
Carsten Haitzler (The Rasterman) <[EMAIL PROTECTED]>

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community


What's Enlightenment doing for so long?

2008-08-24 Thread Rui Miguel Silva Seabra
After de "Booting" part with a progress report, we get the Boot's again.

But I already can ssh into the Freerunner, and doing a top I see that
it's enlightenment who's taking a bloody huge time loading up. Feels
like about half of the booting time.

I wonder what could be done to speed it up...

Rui

-- 
Kallisti!
Today is Sweetmorn, the 17th day of Bureaucracy in the YOLD 3174
+ No matter how much you do, you never do enough -- unknown
+ Whatever you do will be insignificant,
| but it is very important that you do it -- Gandhi
+ So let's do it...?

___
Openmoko community mailing list
community@lists.openmoko.org
http://lists.openmoko.org/mailman/listinfo/community