gui-toolkit-benchmarks icon indicating copy to clipboard operation
gui-toolkit-benchmarks copied to clipboard

Measuring dependencies size should probably be done differently

Open MoAlyousef opened this issue 2 years ago • 2 comments

I think using linuxdeploy —appdir=/executable/bundle -e /executable/app would probably be more accurate. Running linuxdeploy would create a bundle with a directory structure where it copies all the required dependencies into bundle/usr/lib. Of course linuxdeploy can then generate an AppImage but that step would probably not be needed.

https://github.com/linuxdeploy/linuxdeploy

MoAlyousef avatar Jul 17 '23 06:07 MoAlyousef

Hmm, that's a good point, but I think it's up to debate whether it's objectively better. Yes, some dependency packages will have files that are not needed, thus inflating the dependencies size, however, in the case where someone is installing an application from their package manager, they don't really have the option to cherry pick individual dependency files.

On the otherhand, if someone wants to use the benchmark to determine which toolkit to use in order to create an AppImage, Flatpak, or Snap package, the method you mentioned would be more appropriate.

I'm not sure what the correct answer is here, maybe we can have a column for both? I'll leave it to the community to decide which they method they prefer.

This leads me to another question of "why stop there?". We could push this to its extremes and have every application statically compiled and linked with its toolkit, followed by LTO, PGO and BOLT. This is mostly just a thought experiment since it would be completely useless and impractical data, but it would be cool to see the results.

IronOxidizer avatar Jul 17 '23 16:07 IronOxidizer

You’re right. Looking at what a minimal linux image for deploying an executable is more practical. Also it appears linuxdeploy sometimes misses some libs and has some other issues.

MoAlyousef avatar Jul 17 '23 16:07 MoAlyousef