Package: postgresql-11 Version: 11~rc1-1 On most official platforms, postgresql-11 Depends on llvm70, used for Just-in-Time Compilation: https://www.postgresql.org/docs/current/jit.html
However, this has led to a 170% increase in package size - from ~5MB to ~13.5MB - due primarily to precompiled bitcode: https://packages.debian.org/sid/postgresql-11#pdownload Installed size almost doubles. Then there's the runtime library, libllvm7, which is unlikely to be installed (unlike libllvm3.9, which libstdc++6 relies on). It's another ~12.5MB, and expands to ~50-70MB. You shouldn't have to install 100MB+ before you can use PostgreSQL. Likewise, a ~400% increase in footprint is excessive for an optimization with relatively small and variable benefits. PostgreSQL does not seem to *require* these files, even if built --with-jit. See: https://github.com/postgres/postgres/blob/master/src/backend/jit/jit.c#L55 provider_init() checks the appropriate path and merely emits a log entry once at DEBUG1 level if the provider isn't present (the same thing it does if it is). To me, it makes sense to place the default bitcode and llvmjit.so into a separate binary package (postgresql-11-llvm?), depending on postgresql-11 and libllvm70, and make that package an enhance, suggests or *maybe* recommends of postgresql-11 on platforms supporting it - rather than the hard dependency it is currently. The developers clearly had this in mind; they went out of their way to provide "shared library separation": https://github.com/postgres/postgres/blob/master/src/backend/jit/README They even anticipated the use of Debian's optional dependencies: https://www.postgresql.org/message-id/20180130220830.c6pn6j5lrdbbw7wu%40alap3.anarazel.de > With things like apt recommends and such I don't think this is a huge > problem. It'll be installed by default unless somebody is on a space > constrained system and doesn't want that... [I disagree that it should be installed by default, but it's a more reasonable viewpoint than "must be installed"] Don't get me wrong: JIT is a cool feature. I just think administrators should be able to decide whether to install it, given the impact it has on disk usage (and potentially memory usage, etc). Optional extension binary packages also contain bitcode, but I don't suggest changing that, as the size impact is far less. Best regards, -- Laurence "GreenReaper" Parry https://www.greenreaper.co.uk/