FS#63771 - Enhancing building speed

Attached to Project: Arch Linux
Opened by Alberto Salvia Novella (es20490446e) - Sunday, 15 September 2019, 01:56 GMT
Last edited by Eli Schwartz (eschwartz) - Sunday, 15 September 2019, 02:33 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Some benchmarks building AUR packages:
https://imgur.com/a/A7Jskoa

xz could be a good compression format for server built packages, and small programs. But when the package starts to be of certain size it can dramatically slow down the building process on user machines, for very little size savings on a few packages.

This is also important because the update speed of these packages also affects the frequency which is viable to publish new updates, and with that how frequent and simple is to detect and fix new bugs.

Perhaps it would be a good idea if makepkg defaulted to gz, so user compiled packages and the AUR use by default that. While keeping xz for the officially provided packages.
This task depends upon

Closed by  Eli Schwartz (eschwartz)
Sunday, 15 September 2019, 02:33 GMT
Reason for closing:  Not a bug
Additional comments about closing:  Documentation exists for a reason and users must read it.
Comment by Eli Schwartz (eschwartz) - Sunday, 15 September 2019, 02:33 GMT
Users may feel welcome to set their own user preferences in order to obtain user preferences that reflect the preferences of the user.

Meanwhile, makepkg.conf will continue to be tuned to take a smaller, rather than a larger, disk footprint.

For the small handful of outlier packages you refer to, "dramatically slowing down the build process" will occur even with gz compression, and such users would be advised to introspect on whether their use case requires compression at all. They are more than welcome to choose to use the package format .pkg.tar which will have no slowdown at all (as long as the user intends to delete the package immediately after installing it). Do you recommend we push that as the global default for all of archlinux???

Maybe if people actually read the documentation for the tools which they used, their fringe case use would not suffer. But that is no rationale for tuning the default settings to be optimized for the workflow of the people building 3.3GB packages. To put this into proportion, the official repos have 10.7K packages, and 11 packages with an install size of 1GB or more! (And four of them are variations on the same split package with haswell/cuda added on top.) So you're asking us to focus on, literally, the one-in-a-thousand packages.

(I would also like to point out that these packages which are over a GB uncompressed, are also invariably the packages that take 12 hours to build. We are not making most people suffer in order to make the 12 hour packages save 30 minutes to compress at the end. Tune your defaults to the settings which best enhance your fringe workflow.)

For which, again, the solution is simple: read the documentation.

Loading...