-
Notifications
You must be signed in to change notification settings - Fork 29
Description
Issue originally discovered by @VHSgunzo here with the uruntime: VHSgunzo/uruntime#3 (comment)
Also related to this post by @Drsheppard01 here: https://github.com/orgs/AppImage/discussions/1376
Tested my extrating this appimage: https://github.com/pkgforge-dev/Cromite-AppImage/releases
Turned the AppDir into a zstd squashfs image with parameters: mksquashfs ./AppDir manual-zstd -comp zstd and then concatenated that into each respective runtime.
Benchmark:
-
uruntime-musl takes 2 seconds on average to launch.
-
uruntime-glibc takes 1.5 seconds on average to launch.
-
type2-runtime takes 1.75 seconds on average to launch.
Of course this doesn't 100% mean that if the type2-runtime was compiled with statically linked glibc it would improve the launch time by 25%, but it is very likely.
For reference the uruntime-lite which is very similar to the type2-runtime is 958 KiB with static musl and 1.1 MiB with static glibc. So I think the benefits outweigh the downside of a slightly bigger runtime by a lot.
EDIT: Just to make it more clear, the 25% degradation happens in the uruntime when musl instead of glibc is used.
Right now the type2-runtime launch speed sits right in the middle of the two at 1.75 seconds.
The big questions now is if the type2-runtime gets compiled with a static glibc, will that also speed it up by 25%? It is very likely but not 100% certain. If so the 1.75 second delay will be 1.3 seconds.
