Hello,

Before I embark on a crazy idea that may just break everything, I
would like to get some feedback. So one of the problem we are facing
with EFL is that with all those separated library we end up with some
serious time during application startup dedicated to linking. A work
around has been quicklaunch, but it is mostly unused. Also it does
only improve things once it has started, not much during startup time
where you still have to do all the linking.

With PIE and -rdynamic that we use today on quicklaunch binary, we use
dlopen to get symbol from it and load this binary as if they were
library... So maybe we can actually use that same mechanism to
actually statically link efl with the quicklaunch server binary and
make all efl .so library just a symlink to that binary. Now,
enlightenment could actually try to rely on quicklaunch to start
itself and start other application. This should speed up boot time and
application start up time. The reason to make it the default way of
doing things is to make sure that it is maintained and work.

Now some of the drawback. First it is a trick, meaning most people
that will try to dig in will get confused at first on what is going on
and we need to document it. Building EFL is going to become even more
complex (I don't know yet how to generate the proper symlink), let's
enjoy more of the autofoo dark art. All binary will happear as if they
are just a fork of enlightenment and you will need to use some flags
to ps/top and friends to ask them to read /proc to get the new command
line otherwise all binary have the same name.

I think that quicklaunch will require also to be improved by being
made more robust/with a larger set of feature (nicely opposing goal).
Eventually it should handle application restart for example (What
enlightenment_start does today)... which annoy me a bit. Also we would
likely be on a path to reimplement systemd --user here. Something I
have tried to avoid for some time.

Ok, does anyone see some serious blocker to this idea ? Impact on
packager to much ? Something I missed ? Something that need to be
clarified ?

Have fun,
-- 
Cedric BAIL

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to