On 27 June 2016 at 13:51, Scott Bahling <sbahling@suse.com> wrote:
On Mon, 2016-06-27 at 12:53 +0200, Ondřej Súkup wrote:
Hi all,
On Friday was started SUSE's Hackweek 14. Peter Simons and I working on project named " Automate Haskell Packaging" -- https://hackweek.suse.com/14/projects/1368
One of project result is proposal to globally enable macro "%ghc_without_dynamic 1" which causes all Haskell Apps -- binary packages like "pandoc" , "git-annex" will be build with staticaly linked binaries. As result user instaling only this package not need install full haskell stack.
Any comments, suggestions to this Proposal?
PRO: binary with very small amount of deps, Very fast start of packages
Do we have any benchmarks on the start up speed? yes, difference between startup times is surprisingly huge:
First test is buildtime of git-annex in OBS, part of package building process is own testsuite which runs many times git-annex binary* Statically linked: Total build: 1198 s Dynamically linked: Total build: 8278 s And from Peter Simons tests: "git annex version" run 100 times. Statically linked: 1s; dynamically linked: 1m24.718s. So the dynamically linked versions starts up 85 times slower -- on a fast machine with a fast SSD and lots of memory. (DELL Latitude E7450 iCore 7 (broadwell) + 8GB of RAM and 256GB in M2 format..
CONS: very big binaries --> for example git-annex
This part I worry about. How many statically linked apps are we talking about, and how much size will we add overall?
I find the idea of statically linked Pandoc interesting, but I'm not sure if the benefits outweigh the disadvantages. It might make sense if we want to create a "stable" Pandoc for instance that gets rebuilt/relinked less often than the rest of the libraries. It could reduce regressions. But if Pandoc and the other apps will get rebuilt/relinked with the rolling library updates, then we don't gain in that respect.
-Scott
LINKS to OBS: https://build.opensuse.org/package/statistics/home:mimi_vx:static/git-annex?arch=x86_64&repository=openSUSE_Tumbleweed https://build.opensuse.org/package/statistics/devel:languages:haskell/git-annex?arch=x86_64&repository=openSUSE_Tumbleweed Bye , Ondrej -- To unsubscribe, e-mail: opensuse-haskell+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-haskell+owner@opensuse.org