Newest at the top
| 2026-07-05 10:12:49 +0000 | <tomsmeding> | but construction just makes no sense |
| 2026-07-05 10:12:38 +0000 | Coffish | (~Coffish@user/Coffish) Coffish |
| 2026-07-05 10:12:34 +0000 | <tomsmeding> | where the CPU might do some speculative loads |
| 2026-07-05 10:12:18 +0000 | <tomsmeding> | I can countenance traversal being faster, maybe, for the same reason that GC is possibly faster, namely that there's more regularity (due to TThree) |
| 2026-07-05 10:11:34 +0000 | <tomsmeding> | but how can that be?! |
| 2026-07-05 10:11:26 +0000 | <jaror> | It can't be just GC because I'm also seeing speedup on tests that don't exceed the nursery |
| 2026-07-05 10:11:25 +0000 | eggplantade | (~eggplanta@2600:1702:8450:c370:9436:d382:832a:2336) |
| 2026-07-05 10:09:33 +0000 | <tomsmeding> | significantly more, in fact |
| 2026-07-05 10:09:24 +0000 | <tomsmeding> | because your cons does strictly more work than (:) :p |
| 2026-07-05 10:08:48 +0000 | <tomsmeding> | still, where is the speedup coming from? GC? |
| 2026-07-05 10:08:43 +0000 | divlamir_ | divlamir |
| 2026-07-05 10:08:43 +0000 | divlamir | (~divlamir@user/divlamir) (Ping timeout: 264 seconds) |
| 2026-07-05 10:08:21 +0000 | <tomsmeding> | yes that's the only significant difference that I see |
| 2026-07-05 10:08:12 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-07-05 10:07:13 +0000 | <jaror> | The TThree could be avoiding some of the list cons overhead |
| 2026-07-05 10:06:21 +0000 | <jaror> | {-# INLINE cons #-} |
| 2026-07-05 10:06:21 +0000 | <jaror> | cons x xs = LOne x xs |
| 2026-07-05 10:06:21 +0000 | <jaror> | | n1 == n2 = LNode (n1 + 1) (TNode x t1 t2) xs |
| 2026-07-05 10:06:21 +0000 | <jaror> | cons x (LNode n1 t1 (LNode n2 t2 xs)) |
| 2026-07-05 10:06:21 +0000 | <jaror> | cons x (LOne y (LOne z xs)) = LNode 1 (TThree x y z) xs |
| 2026-07-05 10:06:21 +0000 | <jaror> | cons :: a -> List a -> List a |
| 2026-07-05 10:06:21 +0000 | <jaror> | This is cons: |
| 2026-07-05 10:06:13 +0000 | divlamir_ | (~divlamir@user/divlamir) divlamir |
| 2026-07-05 10:06:06 +0000 | <jaror> | yes |
| 2026-07-05 10:06:01 +0000 | <tomsmeding> | are those trees always perfectly balanced? |
| 2026-07-05 10:05:06 +0000 | <jaror> | data List a = LNil | LOne a !(List a) | LNode {-# UNPACK #-} !Int !(Tree a) !(List a) deriving Show |
| 2026-07-05 10:05:06 +0000 | <jaror> | data Tree a = TThree a a a | TNode a !(Tree a) !(Tree a) deriving Show |
| 2026-07-05 10:04:41 +0000 | <tomsmeding> | jaror: which implementation of skew binary RALs are you using? I'm looking at the implementation in skew-list and I cannot imagine that is faster than [a] to construct |
| 2026-07-05 10:03:41 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-05 10:00:51 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2026-07-05 09:58:05 +0000 | eggplantade | (~eggplanta@2600:1702:8450:c370:9436:d382:832a:2336) (Ping timeout: 252 seconds) |
| 2026-07-05 09:55:53 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 267 seconds) |
| 2026-07-05 09:52:32 +0000 | eggplantade | (~eggplanta@2600:1702:8450:c370:9436:d382:832a:2336) |
| 2026-07-05 09:48:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-05 09:43:50 +0000 | <jaror> | Like for long lists it is 1.3x faster to construct and summing is 3x faster. |
| 2026-07-05 09:43:27 +0000 | xff0x | (~xff0x@2405:6580:b080:900:ffb8:888c:ff12:58a4) |
| 2026-07-05 09:40:39 +0000 | eggplantade | (~eggplanta@2600:1702:8450:c370:9436:d382:832a:2336) (Ping timeout: 253 seconds) |
| 2026-07-05 09:38:26 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-07-05 09:34:16 +0000 | eggplantade | (~eggplanta@2600:1702:8450:c370:9436:d382:832a:2336) |
| 2026-07-05 09:33:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-05 09:31:15 +0000 | xff0x | (~xff0x@2405:6580:b080:900:5dc9:7aaa:6a44:4507) (Ping timeout: 268 seconds) |
| 2026-07-05 09:28:43 +0000 | <jaror> | I'm benchmarking linked list alternatives and it seems skew binary random access lists are plainly better than lists for everything but streaming |
| 2026-07-05 09:24:50 +0000 | Coffish | (~Coffish@user/Coffish) (Ping timeout: 247 seconds) |
| 2026-07-05 09:24:11 +0000 | oxapentane | (~oxapentan@user/oxapentane) oxapentane |
| 2026-07-05 09:23:39 +0000 | oxapentane | (~oxapentan@git.oxapentane.com) (Remote host closed the connection) |
| 2026-07-05 09:23:26 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-05 09:22:38 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-07-05 09:21:27 +0000 | YuutaW | (~YuutaW@infornography.yta.moe) YuutaW |
| 2026-07-05 09:21:20 +0000 | eggplantade | (~eggplanta@2600:1702:8450:c370:9436:d382:832a:2336) (Ping timeout: 263 seconds) |
| 2026-07-05 09:18:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |