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
