c0re100 / qBittorrent-Enhanced-Edition

[Unofficial] qBittorrent Enhanced, based on qBittorrent
https://github.com/c0re100/qBittorrent-Enhanced-Edition
Other
17.73k stars 1.21k forks source link

NSIS: Uncheck PDB install by default #462

Closed L1Q closed 10 months ago

L1Q commented 1 year ago

Save 230MB (87%!) of space by default for most users who don't need debug information.

Otherwise, qBittorrent builds are pretty slim, actually!

github-actions[bot] commented 1 year ago

This PR is stale because it has been 60 days with no activity. This PR will be automatically closed within 7 days if there is no further activity.

L1Q commented 1 year ago

This PR is stale because it has been 60 days with no activity.

Any feedback? It's not such a big change. Perhaps there is a reason you want PDB on by default? Would love to see this applied to the next release.

c0re100 commented 1 year ago

This PR is stale because it has been 60 days with no activity.

Any feedback? It's not such a big change. Perhaps there is a reason you want PDB on by default? Would love to see this applied to the next release.

Sorry for the late reply.

qBittorrent crash need PDB file for a stack trace, it should check by default, so I left it for advanced users only.

Also, installer will compress PDB file (Thanks for NTFS compression feature) , so PDB file should be smaller than expected(230MB). https://github.com/c0re100/qBittorrent-Enhanced-Edition/blob/v4_5_x/dist/windows/installer.nsi#L73

Another reason... Why we can download X GB/TB file but not accepting 230MB debug symbol file? Compare to our downloaded file, PDB is small file :'(

L1Q commented 1 year ago

qBittorrent crash need PDB file for a stack trace

A valid reason, I understand how this can be helpful when enabled for most users.

Why we can download X GB/TB file but not accepting 230MB debug symbol file?

When my drive is full, it's trivial to use qBittorrent itself to delete older downloads and free some space. Slimming down the app install is not a trivial task usually.

installer will compress PDB file

That's very insightful, thank you! In my testing from reinstalling qbittorrent_enhanced_4.5.2.10_qt6_x64_setup.exe just now, the compression seems to be roughly 2:1

The PDB file is reported as 120 MB on disk. Not that bad! ![image](https://github.com/c0re100/qBittorrent-Enhanced-Edition/assets/6942070/c715cf52-1f23-4242-a319-43a30206eb48)
Total installed size with PDB is 156 MB on disk ![image](https://github.com/c0re100/qBittorrent-Enhanced-Edition/assets/6942070/172b9305-ff21-49e2-aa35-128304ccf445)

Honestly, I'm surprised the PDB can't be compressed even more somehow, the NSIS package is 53 MB in total.

L1Q commented 1 year ago

Although my initial judgement is definitely exaggerated, I would highly appreciate even more reasonable app sizes.

250+ MB for an app is definitely too much (👋 Electron). 100 MB is more like it.

Knowing that the full featured app does fit into 50 MB, it feels morally wrong to lose this virtue.

I find qBittorrent a very stable app. Can't remember a single crash in pretty much all the time I'm using it. Do you get a lot of crash reports?

Does it feel worth it to inflate the install size 4X for crash dumps? As in, the app is 75% its own error reporter. If not, perhaps the way out really is compressing the debug symbols in the install folder with a decent compression algorithm, and then unpacking when the dumping time comes? (installer size implies at least the first part is attainable)

All in all, it's your call. Can't burden a fork maintainer with architectural overhauls :D

escape0707 commented 1 year ago

qBittorrent crash need PDB file for a stack trace

I wonder the same situation for the original qBT? Do they also have this problem and necessity?

Why we can download X GB/TB file but not accepting 230MB debug symbol file?

When my drive is full, it's trivial to use qBittorrent itself to delete older downloads and free some space. Slimming down the app install is not a trivial task usually.

Also, huge apps hosted on GitHub means the difficulty of downloading for users in countries with network censorship (China mainland, Iran, Russia, etc.) rises exponentially. So maybe in the CI, we could also add a package for a variant without debug info in the first place? Maybe we will be suprised by how much users shift to download the installer without debug info by then.

One good reason for those users to use BT is that the speed can be much faster than single threaded oversea TCP/HTTPS download. (Actually, also creating seeds and Magnet Links for the installer in the CI might not be a bad idea at all.)

BTW, just for comparison, on my Arch:

$ pacman -Qii qbittorrent-enhanced | grep Size
Installed Size  : 12.52 MiB
github-actions[bot] commented 1 year ago

This PR is stale because it has been 60 days with no activity. This PR will be automatically closed within 7 days if there is no further activity.

c0re100 commented 1 year ago

Just my random idea :|

To slim down qBt enhanced installer size Download PDB.7z and extract it when "Install with Debug Symbol File" is toggled.

https://nsis.sourceforge.io/Inetc_plug-in https://nsis.sourceforge.io/Nsis7z_plug-in

But it's a big task, hope someone can implement it lol

github-actions[bot] commented 10 months ago

This PR is stale because it has been 60 days with no activity. This PR will be automatically closed within 7 days if there is no further activity.

escape0707 commented 10 months ago

ping