Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reducing total size - please separate the versions #164

Open
ags1234 opened this issue Oct 24, 2024 · 7 comments
Open

Reducing total size - please separate the versions #164

ags1234 opened this issue Oct 24, 2024 · 7 comments

Comments

@ags1234
Copy link

ags1234 commented Oct 24, 2024

I test this program and I like it, but it is way too big.
After deleting all the languages and translations:
qalculate-5.3.0-x64 = 145.224.935 bytes.

By comparison:
speedcrunch-0.12-win32 = 27.975.906 bytes
Qaltex-1.1 = 52.120.981 bytes

I know that there are 3 separate versions all thrown in together: a qalculate for cmd, one built with Gtk and one with Qt.

Please separate the versions in directories containing all their dependencies together, so that the user can easily remove the ones they do not need.
Nowadays everyone has big HDDs and we do not care about efficiency anymore. Please make your program more efficient.

@hanna-kn
Copy link
Contributor

hanna-kn commented Oct 24, 2024

Qalculate binaries, data, translations, and documentation add up to not much more than 20 Mb.

The rest are necessary program libraries and associated data, most of which are required by all three user interfaces.

The large number of libraries included are a result of the fact that the program is primarily created for GNU/Linux, where these libraries are normally already installed (and not included in Qalculate packages).

@ags1234
Copy link
Author

ags1234 commented Oct 24, 2024

From what I know, Gtk and Qt are different toolkits with different sets of libraries.
Are you sure Gtk and Qt versions cannot be separated in a well organized directory structure?

@hanna-kn
Copy link
Contributor

From what I know, Gtk and Qt are different toolkits with different sets of libraries.

They are, but when using MSYS2/MinGW they share many of the same dependencies. libqalculate and Gnuplot requires many of the libraries not common between the user interfaces. ICU by far the largest library and is a common dependency. The installed size of 64-bit package is 25% larger than the 32-bit package, which only include the Gtk GUI.

Are you sure Gtk and Qt versions cannot be separated in a well organized directory structure?

I do not known if it would somehow be possible to change the directory structure.

@ags1234
Copy link
Author

ags1234 commented Oct 25, 2024

I do not known if it would somehow be possible to change the directory structure

I was asking this because I know for a fact that besides Qalculate, there are other programs that are compiled with both Gtk and Qt and they offer clean, separate versions.

@hanna-kn
Copy link
Contributor

I was asking this because I know for a fact that besides Qalculate, there are other programs that are compiled with both Gtk and Qt and they offer clean, separate versions.

In the same package, with common and UI specific libraries in different directories?
As mentioned, I already provide Windows packages without the Qt UI (and associated libraries).

@ags1234
Copy link
Author

ags1234 commented Oct 25, 2024

I guess what I meant was, why not provide separate packages for packages that are different enough, like CLI, Gtk, Qt?

@hanna-kn
Copy link
Contributor

I guess what I meant was, why not provide separate packages for packages that are different enough, like CLI, Gtk, Qt?

The answer to is, as I've hinted before, that the benefit of separate packages is, in this case, much less than the benefit of a combined package. There is already packages without the Qt UI, which requires the most extra space. It is probably possible to reduce the size of theses packages by removing the ICU dependency (this is not possible for the Qt UI). A package with only the Qt UI would save comparatively little space. The size benefit of omitting the CLI is minimal.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants