You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I would like to discuss dropping maemo-launcher, because i contend that its is a outsized maintenance burden compered to its benefit. Lets examine these 2 claims:
Maemo-launcher is a maintenance burden
we currently cant update libc because the hacky way maemo-launcher implements executing its binarys. the way used to be able to launch directly and via the launcher dose not work with modern libc
fixing this requires fairly invasive changes to all maemo-launcher applications or loosing the ability to run them without the launcher
every binary which we want to benefit from maemo-launcher needs to have its packaging and compile options changed
if maintaining maemo-launcher is to be worth it this needs to be a non trivial portion of the applications expected to be installed on a typical system
currently very few packages use maemo-launcher
for every libary that we want to have accelerated by mameo-launcher a boost module needs to be written
this is not entirely trival, understaning of the lib in question is needed
currently only obsolete libs have boost modules
the modules do things that are not stable between lib versions
As soon as they are applied to libs that are not dead/obsolete this will cause further maintenance burden
iiuc how this works symbol conflicts are inevitable if many libs are added
Conclusion
Based on the above it seams to me that the main benefit of maemo-launcher is that the libs required to launch the application do not have to be loaded from disk on a cold start.
Comparatively the benefit from reduced overhead from ld seams to be tiny even in the best case tests above, in more complex applications the benefit will be comparatively much smaller still. The cold start performance could basically be matched without any hacky dlopen() path by avoiding loading from disk via Preload or systemd-readahead-replay.
The text was updated successfully, but these errors were encountered:
I would like to discuss dropping maemo-launcher, because i contend that its is a outsized maintenance burden compered to its benefit. Lets examine these 2 claims:
Methodology:
time /usr/bin/osso-xterm /bin/true:
maemo-launcher cold:
regular cold:
maemo-launcher warm:
regular warm:
time osso_pdfviewer:
Next i hacked a version of osso_pdfviewer to return 0 here: https://github.com/maemo-leste/osso-pdf-viewer/blob/4dc68586008aa30781c11e4f9f9bbfb16dfc43ca/src/main.c#L152
I expected this to be best case for maemo-launcher since the application dose very little except the stages accellerated by maemo-launcher.
maemo-launcher cold:
regular cold:
maemo-launcher warm:
regular warm:
Conclusion
Based on the above it seams to me that the main benefit of maemo-launcher is that the libs required to launch the application do not have to be loaded from disk on a cold start.
Comparatively the benefit from reduced overhead from ld seams to be tiny even in the best case tests above, in more complex applications the benefit will be comparatively much smaller still. The cold start performance could basically be matched without any hacky dlopen() path by avoiding loading from disk via Preload or systemd-readahead-replay.
The text was updated successfully, but these errors were encountered: