aptly/api
Sjoerd Simons f61514edaf Allow disabling bzip2 compression for index files
Using bzip2 generates smaller index files (roughly 20% smaller Packages
files) but it comes with a big performance penalty.  When publishing a
debian mirror snapshot (amd64, arm64, armhf, source) without contents
skipping bzip speeds things up around 1.8 times.

```
$ hyperfine -w 1 -L skip-bz2 true,false  -m 3 -p "aptly -config aptly.conf publish drop bullseye || true" "aptly -config aptly.conf  publish snapshot  --skip-bz2={skip-bz2} --skip-contents --skip-signing bullseye"
Benchmark 1: aptly -config aptly.conf  publish snapshot  --skip-bz2=true --skip-contents --skip-signing bullseye
  Time (mean ± σ):     35.567 s ±  0.307 s    [User: 39.366 s, System: 10.075 s]
  Range (min … max):   35.311 s … 35.907 s    3 runs

Benchmark 2: aptly -config aptly.conf  publish snapshot  --skip-bz2=false --skip-contents --skip-signing bullseye
  Time (mean ± σ):     64.740 s ±  0.135 s    [User: 68.565 s, System: 10.129 s]
  Range (min … max):   64.596 s … 64.862 s    3 runs

Summary
  'aptly -config aptly.conf  publish snapshot  --skip-bz2=true --skip-contents --skip-signing bullseye' ran
    1.82 ± 0.02 times faster than 'aptly -config aptly.conf  publish snapshot  --skip-bz2=false --skip-contents --skip-signing bullseye'
```

Allow skipping bz2 creation for setups where faster publishing is more
important then Package file size.

Signed-off-by: Sjoerd Simons <sjoerd@collabora.com>
2022-06-22 11:25:45 +02:00
..
api.go Make truthy function less surprising 2022-01-27 09:30:14 +01:00
api_test.go Make truthy function less surprising 2022-01-27 09:30:14 +01:00
db.go More informative return value for task.Process 2022-01-27 09:30:14 +01:00
files.go Upgrade gin-gonic to latest master, fix compatibility issues 2017-09-28 00:33:59 +03:00
gpg.go Fix indentation 2022-01-27 09:30:14 +01:00
graph.go every go routine needs to have its own collection factory 2022-01-27 09:30:14 +01:00
middleware.go Add metrics endpoint with http metrics using Prometheus client lib 2022-04-12 14:39:16 +02:00
mirror.go govet: compose literal uses unkeyed fields 2022-01-27 09:30:14 +01:00
mirror_test.go Configurable background task execution 2022-01-27 09:30:14 +01:00
packages.go every go routine needs to have its own collection factory 2022-01-27 09:30:14 +01:00
publish.go Allow disabling bzip2 compression for index files 2022-06-22 11:25:45 +02:00
repos.go govet: compose literal uses unkeyed fields 2022-01-27 09:30:14 +01:00
router.go api: allow parameters with urlencoded names 2022-06-15 17:21:15 +02:00
snapshot.go govet: compose literal uses unkeyed fields 2022-01-27 09:30:14 +01:00
task.go More informative return value for task.Process 2022-01-27 09:30:14 +01:00
task_test.go Fix pure-go unittests 2022-01-27 09:30:14 +01:00