Home freenode/#haskell: Logs Calendar

Logs: freenode/#haskell

←Prev  Next→
Page 1 .. 957 958 959 960 961 962 963 964 965 966 967 .. 5022
502,152 events total
2020-10-30 14:33:40 <texasmynsted> lol why?
2020-10-30 14:33:43 <merijn> texasmynsted: What, exactly, do you expect to win by it?
2020-10-30 14:34:09 <maerwald> upx sometime breaks binaries, depending on the algorithm
2020-10-30 14:34:17 <texasmynsted> faster deployments because the executable is smaller. Take up less space on the server.
2020-10-30 14:34:23 <texasmynsted> Hmm.
2020-10-30 14:34:27 <merijn> texasmynsted: Is that really a problem, though?
2020-10-30 14:34:40 <maerwald> I wouldn't trust anything that comes out of it. Is there any proof that it's the same binary?
2020-10-30 14:34:43 × Tario quits (~Tario@200.119.184.85) (Ping timeout: 265 seconds)
2020-10-30 14:34:46 <merijn> texasmynsted: How big are your binaries that this is a significant bottleneck?
2020-10-30 14:34:47 <texasmynsted> not one worth breaking binaries over
2020-10-30 14:34:54 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-10-30 14:35:07 <merijn> texasmynsted: If you want smaller binaries trying using --enable-split-sections and stripping the binary first
2020-10-30 14:35:39 texasmynsted reads about --enable-split-sections
2020-10-30 14:35:42 <merijn> Especially split sections, which can have an order of magnitude shrink if you have tons of dependencies
2020-10-30 14:35:54 <merijn> (it does mean you'll have to rebuild everything first :))
2020-10-30 14:36:02 <texasmynsted> If I had to choose, I would rather have a faster binary than a smaller one
2020-10-30 14:37:01 <merijn> texasmynsted: Basically, split sections lets you only like relevant portions of your dependencies. So if you only use 1 or 2 functions from, say, lens and lens was compiled with split-sections you pull only a fraction of lens' compiled code into your executable
2020-10-30 14:37:25 <merijn> In terms of "impact per effort" it's probably the lowest fruit for Haskell binaries (together with stripping)
2020-10-30 14:37:54 <texasmynsted> wow, why is this not the default?
2020-10-30 14:38:24 <merijn> texasmynsted: Because older linkers don't support it and only made it into GHC fairly recently (a few years ago I recent to me!)
2020-10-30 14:38:33 <texasmynsted> ah okay
2020-10-30 14:38:36 <texasmynsted> Thank you.
2020-10-30 14:38:46 <merijn> Safer to make it "opt in" then risk breaking toolchains
2020-10-30 14:39:14 <texasmynsted> I need to find a ghc news site or something so I can learn these tricks
2020-10-30 14:39:19 <merijn> texasmynsted: I would say if binaries are smaller than, say 20 MB it's not worth any effort to go smaller (and even for biggers ones it might not be worth it)
2020-10-30 14:39:32 × mmohammadi9812 quits (~mmohammad@5.74.129.53) (Ping timeout: 272 seconds)
2020-10-30 14:39:41 <maerwald> well, GHC is already hard to get working on systems that don't have ld.gold
2020-10-30 14:39:44 <merijn> texasmynsted: I recommend skimming the very good and often overlooked GHC user guide every so often and reading the release notes for new GHCs
2020-10-30 14:39:52 <merijn> @where userguide
2020-10-30 14:39:53 <lambdabot> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/
2020-10-30 14:39:56 <maerwald> so not sure backwards compat is hat important
2020-10-30 14:40:54 <merijn> texasmynsted: haskell-cafe, haskell-libraries and ghc-devs mailing lists are also a good way to keep an eye on things, they're not that high traffic
2020-10-30 14:41:16 <merijn> And lurking in #ghc of course :p
2020-10-30 14:41:39 × st8less quits (~st8less@inet-167-224-197-181.isp.ozarksgo.net) (Quit: WeeChat 2.7.1)
2020-10-30 14:41:55 ullbeking parts (sid5364@gateway/web/irccloud.com/x-bnsgobzuoimopxhi) ()
2020-10-30 14:43:49 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-30 14:44:55 GyroW_ is now known as GyroW
2020-10-30 14:45:00 <texasmynsted> :-)
2020-10-30 14:45:02 <texasmynsted> Thank you
2020-10-30 14:45:10 hackage snap-server 1.1.2.0 - A web server for the Snap Framework https://hackage.haskell.org/package/snap-server-1.1.2.0 (GregoryCollins)
2020-10-30 14:45:15 sam___ joins (~sam@141.104.204.77.rev.sfr.net)
2020-10-30 14:45:25 st8less joins (~st8less@2603:a060:11fd:0:609b:358e:1371:386d)
2020-10-30 14:45:30 <merijn> But yeah, release notes for new features and the user guide are the most instructive usually
2020-10-30 14:45:53 <merijn> texasmynsted: Like, there's an entire section on runtime tweaking and speeding up stuff that I think 80% of people aren't aware off
2020-10-30 14:46:01 <merijn> (and getting smaller binaries!)
2020-10-30 14:46:09 <texasmynsted> I am reading that now actually
2020-10-30 14:46:25 <texasmynsted> (I did not look for, or know it existed before)
2020-10-30 14:46:40 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
2020-10-30 14:48:05 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-30 14:49:14 × alp_ quits (~alp@88.126.45.36) (Ping timeout: 264 seconds)
2020-10-30 14:50:02 GyroW parts (~GyroW@unaffiliated/gyrow) ("Someone stepped on the pi")
2020-10-30 14:50:48 × texasmynsted quits (~texasmyns@185.229.59.52) (Read error: Connection reset by peer)
2020-10-30 14:51:25 texasmynsted joins (~texasmyns@2600:6c40:700:193f:90f9:db91:64ea:192d)
2020-10-30 14:51:41 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-10-30 14:51:57 × texasmynsted quits (~texasmyns@2600:6c40:700:193f:90f9:db91:64ea:192d) (Remote host closed the connection)
2020-10-30 14:52:24 mmohammadi9812 joins (~mmohammad@2.178.123.90)
2020-10-30 14:52:29 Jonkimi727406120 joins (~Jonkimi@223.213.166.96)
2020-10-30 14:52:59 texasmynsted joins (~texasmyns@185.229.59.3)
2020-10-30 14:56:38 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-30 14:57:13 alp_ joins (~alp@2a01:e0a:58b:4920:2d4f:a367:8a30:586b)
2020-10-30 14:57:55 <tomsmeding> (reading section 9 in the ghc user's guide...)
2020-10-30 14:57:58 <tomsmeding> "One time when Float might be a good idea is if you have a lot of them, say a giant array of Floats. They take up half the space in the heap compared to Doubles. However, this isn’t true on a 64-bit machine."
2020-10-30 14:58:38 <tomsmeding> this reminds me of the discussion here yesterday(?) aobut Word types in ghc all being 8 bytes long due to their definition being e.g. 'data Word8 = Word8 #Word'
2020-10-30 14:58:44 <tomsmeding> s/#Word/Word#/
2020-10-30 14:59:04 <tomsmeding> is this the same kind of thing with Float/Double? That sounds stupid
2020-10-30 14:59:15 stef204 joins (~stef204@unaffiliated/stef-204/x-384198)
2020-10-30 14:59:20 <dolio> Even on 32-bit, they're more than half if boxed.
2020-10-30 14:59:35 × p-core quits (~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-10-30 15:00:02 × rlaager1 quits (~rlaager@84.39.116.180) ()
2020-10-30 15:00:55 <tomsmeding> okay true, boxing reduces space saving, but then with boxing all space bets are off anyway
2020-10-30 15:01:25 <__monty__> Hmm, angerman just said something about Word sizing in #ghc, so *maybe* there's work towards changing that?
2020-10-30 15:01:55 <dolio> Apparently there is a Word8#, but Word8 doesn't use it.
2020-10-30 15:02:16 <angerman> Yes. Word8 = W8# Word8#, Int8 = I8# Int8# is coming.
2020-10-30 15:02:30 <tomsmeding> ah! neat stuff
2020-10-30 15:02:50 <dolio> I'm not sure how big Word8# actually is, though. There's also Float# that Float actually uses, so it might actually be smaller than Double, unless alignment makes that not happen.
2020-10-30 15:03:25 <tomsmeding> Float# adjacent to Float# should theoretically not induce any padding for alignment
2020-10-30 15:03:38 <angerman> it's just really annoying to get it in. It's necessary for apple silicon support, as arm64 (that's aarch64 in fruity speak) has a rather funky procedure calling convention for C, where it packs function arguments by their size on the stack.
2020-10-30 15:03:42 <tomsmeding> (at least, extrapolating from C :p)
2020-10-30 15:03:49 <dolio> I think that'd be the idea.
2020-10-30 15:03:59 <angerman> So if you FFI into something it needs to be 4byte int32 on the stack, not just 8bytes for every arg.
2020-10-30 15:04:28 <tomsmeding> ah of course this is one of the many things pushed by the ARM work you are doing angerman :)
2020-10-30 15:08:28 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 246 seconds)
2020-10-30 15:09:55 philip_ joins (~philip@92.40.170.16.threembb.co.uk)
2020-10-30 15:12:09 × philip_ quits (~philip@92.40.170.16.threembb.co.uk) (Client Quit)
2020-10-30 15:14:33 × brandonhamilton quits (~brandonha@2001:19f0:6c01:1579:5400:2ff:fee8:d636) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-30 15:16:14 × dhil quits (~dhil@195.213.192.122) (Ping timeout: 256 seconds)
2020-10-30 15:18:52 × amf quits (~amf@adamflott.com) (Quit: WeeChat 2.7.1)
2020-10-30 15:18:57 <tomsmeding> in a simple test, an unboxed array from Data.Array.UArray with Floats indeed takes ~4*num_elements bytes of memory, whereas the same with Doubles takes ~8*num_bytes of memory
2020-10-30 15:18:58 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2020-10-30 15:19:11 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 265 seconds)
2020-10-30 15:19:52 aarvar joins (~foewfoiew@50.35.43.33)
2020-10-30 15:20:26 ubert joins (~Thunderbi@p200300ecdf1e5396e6b318fffe838f33.dip0.t-ipconnect.de)
2020-10-30 15:20:59 <tomjaguarpaw> I'm trying to build stm from source https://github.com/haskell/stm. The testsuite has a bound base < 4.14 so I can't configure it. What's going on?
2020-10-30 15:22:34 <merijn> tomjaguarpaw: the main package only had its dependency bumped a month ago, so maybe they forgot to bump the testsuite?
2020-10-30 15:22:45 <tomjaguarpaw> Ah, I'll try just doing that.
2020-10-30 15:22:46 ddellacosta joins (~dd@86.106.121.168)
2020-10-30 15:22:53 <merijn> CI isn't testing 8.10 yet either
2020-10-30 15:22:56 <tomjaguarpaw> How would I build /without/ the test suit, in any case?
2020-10-30 15:23:00 × mokulus quits (~mat@176.111.230.96) (Ping timeout: 268 seconds)
2020-10-30 15:23:04 <tomjaguarpaw> I tried --disable-tests

All times are in UTC.