On Monday, 15 de August de 2011 23:31:26 Alexander Neundorf wrote: > ----------------------------------------- > 7) (Getting rid of) kdeinit > ----------------------------------------- > > There was a discussion about what makes a KDE application different from a > non-KDE application. One thing is kdeinit, which is used to speed up load > time of applications by running a daemon (kdeinit) which is linked against > a set of shared libraries, and which dlopen()s the applications (i.e. their > plugin) instead of simply executing them normally. > > - somebody (Volker ?) said that this speedup is still very much needed, > especially on slower platforms, e.g. tablets > - Dirk mentioned that at least on Linux, when building PIE executables > (position independent executables), executables can be loaded also as > shared object, and our special buildsystem magic would not be required > anymore. But this would work only on Linux, with kernels >= 2.6.10 (or so, > i.e. already since a few years).
> Proposal: get rid of our build magic to create kdeinit modules, and simply > create PIE executables on platforms that support it (i.e. at least Linux, > no problem for Windows), keeping the advantages we have there. PIE executables do not have the same gain that kdeinit introduces. It's not at all the same thing. kdeinit can be replaced by prelinking, assuming you are not a user of the NVidia binary drivers. If you are, you can't prelink, so kdeinit is a help: /usr/sbin/prelink: /usr/bin/gears: Cannot prelink against non-PIC shared library /usr/lib/nvidia-current/libGL.so.1 Another advantage of kdeinit is to run the static constructors in libraries, something that prelinking can't do. I've been meaning to add an initialisation mode to Qt that would initialise things that can be safely shared, especially the loading of plugins. In my opinion, kdeinit should stay. -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org Software Architect - Intel Open Source Technology Center PGP/GPG: 0x6EF45358; fingerprint: E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
signature.asc
Description: This is a digitally signed message part.