Skip to content

Very likely 25% increase in launch time due to statically linked muslΒ #116

@Samueru-sama

Description

@Samueru-sama

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:

image

  • 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions