Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Its not installed size to memory usage. Its shared common libraries vs unshared libraries. Pulling in Qt means every Qt app will load so's for all the same things the core GTK libraries do, and take up memory that in a purely GTK environment would never be used because all the apps shared the same libraries in memory. This also dramatically affects the performance of app switching and opening new apps.

This is how Android has a tiny memory footprint - one gui toolkit, one runtime, one way to do everything. You really notice on Android when you open an NDK app that isn't using the Android Frameworks GUI components because they take a long time to open.

This is also why Windows in general is a bloated mess - depending on what software you are running it might be Windows Forms or XDA or their new app frameworks (Metro and/or 10) or .net or Qt or the old style COM API from the 95-98 days. Or worse, nowadays, you can get an Electron app that starts up its own browser rendering engine and doesn't share anything with the Chrome instance you have running at the same time despite using the same libraries. None share fundamental primitives, so opening programs from each toolkit eats memory alive. And then every program you install pretty much has to assume you don't have any library dependencies installed as well, so they pull down their entire toolkit in some .Z patch version that is incompatible with any other app using it so almost the same library gets loaded multiple times.



You are assuming that a single app from a toolkit causes every possible qt library to be loaded in memory. This is a faulty assumption.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: