2026/06/30

Newest at the top

2026-06-30 02:20:48 +0000 <monochrom> No worries. :)
2026-06-30 02:20:39 +0000 <jreicher> ^boy^person. Very sorry
2026-06-30 02:20:33 +0000davidlbowman(~davidlbow@user/davidlbowman) davidlbowman
2026-06-30 02:20:25 +0000dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 248 seconds)
2026-06-30 02:20:20 +0000 <jreicher> Naughty boy
2026-06-30 02:20:11 +0000 <monochrom> I have my share of not even reading the error message.
2026-06-30 02:20:00 +0000 <jreicher> I wouldn't expect to need a profiler for a simple assembler program, but I would (potentially) for an apparently simple SQL query. (For example)
2026-06-30 02:19:39 +0000 <absentia> not really acceptable
2026-06-30 02:19:36 +0000 <absentia> based on the old numbers it would have taken 117 hours
2026-06-30 02:19:25 +0000 <jreicher> Only if performance is a requirement, and the runtime behaviour is opaque.
2026-06-30 02:19:15 +0000 <absentia> just wanted to fuck around i guess, idk
2026-06-30 02:19:08 +0000 <absentia> i knew from the get-go the first move is always to profile
2026-06-30 02:19:02 +0000 <absentia> but it's just me being stubborn
2026-06-30 02:18:54 +0000 <absentia> and this just feels like an actual job now
2026-06-30 02:18:50 +0000 <absentia> which probably means installing and setting up hspec
2026-06-30 02:18:44 +0000 <absentia> then before i can write any code, now i have to set up a profiling harness and benchmark
2026-06-30 02:18:29 +0000 <absentia> so ok, vacate the VPS, move the platform over, upgrade stack, upgrade libs
2026-06-30 02:18:19 +0000 <absentia> can't update stack resolver
2026-06-30 02:18:16 +0000 <absentia> i already had to replatform the project on top of debian trixie because bullseye is being EOL'd, all packages out of date
2026-06-30 02:17:59 +0000 <absentia> jreicher: because i was fed up doing all this other auxiliary work just to get this parser going
2026-06-30 02:16:56 +0000 <monochrom> Well GC takes time too. And it shows up asymptotically too. If you use linear space, GC time is at least quadratic in total.
2026-06-30 02:16:52 +0000 <jreicher> absentia: why didn't you profile it earlier? Just curious
2026-06-30 02:16:47 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn
2026-06-30 02:15:54 +0000 <jreicher> mauke: yeah, well, thrashing is completely its own thing.
2026-06-30 02:15:34 +0000 <mauke> particularly if your space leak runs into swap :-(
2026-06-30 02:15:26 +0000 <absentia> and it would have been obvious
2026-06-30 02:15:24 +0000 <mauke> memory has a time all of its own
2026-06-30 02:15:24 +0000 <absentia> i should have just profiled this from the very beginning
2026-06-30 02:14:29 +0000 <jreicher> So if you are seeing worse times, I don't think laziness is the reason.
2026-06-30 02:13:21 +0000 <jreicher> absentia: I believe the computation time of lazy should be no worse than strict. Only the memory use is a bit unpredictable.
2026-06-30 02:13:08 +0000 <mauke> the snoc thing reminds me of Larry Wall's "Doing linear scans over an associatvie array is like clubbing someone to death with a loaded Uzi"
2026-06-30 02:12:57 +0000emilym(~Thunderbi@user/emilym) (Ping timeout: 248 seconds)
2026-06-30 02:12:10 +0000 <monochrom> The world is not a boolean question like "should you use lists or not".
2026-06-30 02:12:00 +0000 <mauke> I don't!
2026-06-30 02:11:22 +0000 <monochrom> But everyone agrees that lists are terrible for data, lazy or not, Haskell or C.
2026-06-30 02:10:51 +0000 <absentia> in terms of performance
2026-06-30 02:10:33 +0000 <monochrom> Add line numbers: zip [1..] myLines
2026-06-30 02:10:28 +0000 <absentia> i find lazy eval extremely difficult to reason about
2026-06-30 02:10:20 +0000 <absentia> [1..] is great sure
2026-06-30 02:10:10 +0000 <monochrom> I use lazy lists all the time. But as loops, not data.
2026-06-30 02:09:22 +0000 <absentia> sensational paper headlines considered harmful
2026-06-30 02:09:17 +0000dibblego(~dibblego@haskell/developer/dibblego) dibblego
2026-06-30 02:09:14 +0000 <absentia> https://arxiv.org/abs/1808.08329
2026-06-30 02:08:53 +0000emilym(~Thunderbi@user/emilym) emilym
2026-06-30 02:07:24 +0000Digit(~user@user/digit) (Ping timeout: 245 seconds)
2026-06-30 02:06:41 +0000 <absentia> a list yields non-negligible improvement
2026-06-30 02:06:35 +0000xff0x(~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp)
2026-06-30 02:06:34 +0000 <absentia> well thanks for this then
2026-06-30 02:06:01 +0000merijn(~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds)
2026-06-30 02:06:01 +0000dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 248 seconds)