Skip to content

Double the performance of kdeinit5_wrapper

Revert "Make kwrapper/kshell spawn klauncher5 if needed"

Halves the number of symbols resolved (and related metrics like startup time).

The whole point of kdeinit is to decrease launch time by minimizing the time spent resolving symbols, that's why the wrapper is as lean as it is.

Ideally we should remove the Qt dependency as well (it's not used for much) which would also let us remove stdlib, It still requires ~23 libraries (42 before this commit, though).

Metrics before: runtime linker statistics: total startup time in dynamic loader: 4793377 cycles time needed for relocation: 3413768 cycles (71.2%) number of relocations: 10038 number of relocations from cache: 4533 number of relative relocations: 41617 time needed to load objects: 1252210 cycles (26.1%)

 runtime linker statistics:
            final number of relocations: 10072
 final number of relocations from cache: 4533

After: runtime linker statistics: total startup time in dynamic loader: 2583656 cycles time needed for relocation: 1640801 cycles (63.5%) number of relocations: 5796 number of relocations from cache: 2801 number of relative relocations: 18873 time needed to load objects: 822450 cycles (31.8%)

 runtime linker statistics:
            final number of relocations: 5816
 final number of relocations from cache: 2801

This reverts commit f3264622.

Merge request reports