Logs: liberachat/#haskell
| 2021-07-02 14:55:45 | <SoF> | that would be in this version (slow): "genQueens k = [q:qs | q <- [1..n], qs <- genQueens (k-1) , test q qs]" |
| 2021-07-02 14:56:30 | <boxscape> | looking at the output of -ddump-stg-final it looks like the answer is no :/ |
| 2021-07-02 14:57:03 | → | fengctor joins (~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) |
| 2021-07-02 14:57:08 | <boxscape> | to be fair I don't actually know if that means it's slower |
| 2021-07-02 14:57:20 | <gentauro> | shapr: wrong chat xD |
| 2021-07-02 14:57:24 | <boxscape> | since it has a case expression even when there's just a single constructor |
| 2021-07-02 14:57:42 | × | fengctor quits (~fengctor@bras-base-ngflon0508w-grc-11-76-68-2-143.dsl.bell.ca) (Client Quit) |
| 2021-07-02 14:58:09 | <SoF> | does GHC not do memoization in general (only in the case of beta reductions) or is this just an edge case? |
| 2021-07-02 14:59:00 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 2021-07-02 14:59:59 | <c_wraith> | GHC does not do memoization in general |
| 2021-07-02 15:00:09 | <c_wraith> | Sometimes it does common subexpression elimination |
| 2021-07-02 15:00:32 | <c_wraith> | but in general, if you want to not recompute something, you should hold on to it |
| 2021-07-02 15:00:59 | <c_wraith> | Even common subexpression elimination can be a huge performance loss, if done wrong |
| 2021-07-02 15:01:28 | <SoF> | thanks |
| 2021-07-02 15:01:59 | <SoF> | do you have any pointers why CSE can be a huge performance loss, c_wraith? |
| 2021-07-02 15:02:17 | × | poljar quits (~poljar@93-139-36-109.adsl.net.t-com.hr) (Remote host closed the connection) |
| 2021-07-02 15:02:42 | <SoF> | introduction of additional variables? |
| 2021-07-02 15:02:42 | → | poljar joins (~poljar@93-139-36-109.adsl.net.t-com.hr) |
| 2021-07-02 15:02:50 | × | cjay quits (cjay@nerdbox.nerd2nerd.org) (Read error: Connection reset by peer) |
| 2021-07-02 15:02:54 | <c_wraith> | the typical example is something like print [1..10000000000] >> print [1..10000000000] |
| 2021-07-02 15:03:37 | <c_wraith> | if it shares [1..10000000000] between the two, it's a massive performance loss |
| 2021-07-02 15:04:18 | × | elf_fortrez quits (~elf_fortr@adsl-72-50-4-55.prtc.net) (Quit: Client closed) |
| 2021-07-02 15:04:30 | <c_wraith> | because sharing it means keeping the whole list in memory. not sharing it means it keeps a small thunk in memory and garbage collects old entries quickly |
| 2021-07-02 15:04:57 | <boxscape> | -ddump-cmm suggests it is slower: https://paste.tomsmeding.com/LGiv6gWZ the two constructor version has an extra if statement |
| 2021-07-02 15:05:21 | <boxscape> | though I guess I should just benchmark it :) |
| 2021-07-02 15:06:38 | → | argento joins (~argent0@168-227-96-53.ptr.westnet.com.ar) |
| 2021-07-02 15:08:27 | × | dunkeln quits (~dunkeln@188.70.10.165) (Ping timeout: 258 seconds) |
| 2021-07-02 15:08:42 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-07-02 15:09:02 | <SoF> | c_wraith: I see, makes sense |
| 2021-07-02 15:09:49 | <c_wraith> | SoF: there is some CSE logic, but GHC tries to apply it only to "small" values. |
| 2021-07-02 15:10:33 | → | hendursaga joins (~weechat@user/hendursaga) |
| 2021-07-02 15:10:35 | → | dunkeln joins (~dunkeln@188.70.10.165) |
| 2021-07-02 15:13:55 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 2021-07-02 15:14:27 | <dolio> | I think it's more limited than that, even. |
| 2021-07-02 15:14:52 | <dolio> | I'm not even sure what a small value would be. |
| 2021-07-02 15:15:34 | → | berberman_t joins (~berberman@2001:470:69fc:105::b488) |
| 2021-07-02 15:16:39 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-02 15:17:06 | × | cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds) |
| 2021-07-02 15:17:46 | → | cheater joins (~Username@user/cheater) |
| 2021-07-02 15:19:06 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-07-02 15:19:31 | <boxscape> | I'm actually a little confused why the blocks cBd and cBc are different (R1+6 vs R1+7) and not exactly the same |
| 2021-07-02 15:19:41 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2021-07-02 15:21:08 | <Hecate> | .2 |
| 2021-07-02 15:22:06 | × | nate1 quits (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds) |
| 2021-07-02 15:22:44 | <boxscape> | oh god I'm sorry |
| 2021-07-02 15:22:51 | <boxscape> | matrix hasn't been showing me any responses |
| 2021-07-02 15:22:52 | × | MQ-17J quits (~MQ-17J@8.21.10.15) (Ping timeout: 265 seconds) |
| 2021-07-02 15:22:56 | <boxscape> | reading backlog through logs now |
| 2021-07-02 15:23:10 | → | MQ-17J joins (~MQ-17J@8.21.10.15) |
| 2021-07-02 15:23:32 | → | mastarija joins (~mastarija@31.217.22.187) |
| 2021-07-02 15:23:37 | → | boxscape_ joins (~boxscape_@p4ff0ba7a.dip0.t-ipconnect.de) |
| 2021-07-02 15:24:04 | × | chisui quits (~chisui@200116b8667639009cc16d86abb76e8b.dip.versatel-1u1.de) (Ping timeout: 246 seconds) |
| 2021-07-02 15:24:33 | <boxscape_> | okay looking at it I suppose none of the messages were for me anyway :) |
| 2021-07-02 15:24:59 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:5bf:4bd7:7b8b:fdcf) |
| 2021-07-02 15:25:37 | × | michalz quits (~michalz@185.246.204.122) (Remote host closed the connection) |
| 2021-07-02 15:26:48 | → | nate1 joins (~nate@108-233-125-227.lightspeed.sntcca.sbcglobal.net) |
| 2021-07-02 15:29:46 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-02 15:30:27 | → | chris_ joins (~chris@81.96.113.213) |
| 2021-07-02 15:30:53 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-07-02 15:31:34 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds) |
| 2021-07-02 15:31:39 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-02 15:31:47 | × | lortabac quits (~lortabac@95.138.56.124) (Quit: WeeChat 2.8) |
| 2021-07-02 15:31:51 | → | chris_ joins (~chris@81.96.113.213) |
| 2021-07-02 15:33:49 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-02 15:34:30 | × | chris_ quits (~chris@81.96.113.213) (Remote host closed the connection) |
| 2021-07-02 15:34:34 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 2021-07-02 15:36:11 | × | boxscape quits (~boxscape@user/boxscape) (Quit: Reconnecting) |
| 2021-07-02 15:37:14 | × | cheater quits (~Username@user/cheater) (Ping timeout: 256 seconds) |
| 2021-07-02 15:37:28 | → | cheater joins (~Username@user/cheater) |
| 2021-07-02 15:40:28 | × | dunkeln quits (~dunkeln@188.70.10.165) (Ping timeout: 272 seconds) |
| 2021-07-02 15:41:58 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving) |
| 2021-07-02 15:42:30 | berberman_t | is now known as PotatoHatsue |
| 2021-07-02 15:43:30 | × | ubert quits (~Thunderbi@2a02:8109:9880:303c:ca5b:76ff:fe29:f233) (Remote host closed the connection) |
| 2021-07-02 15:45:10 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 256 seconds) |
| 2021-07-02 15:45:41 | × | hugo quits (znc@verdigris.lysator.liu.se) (Quit: ZNC 1.7.5 - https://znc.in) |
| 2021-07-02 15:46:38 | × | Cajun quits (~Cajun@ip98-163-211-112.no.no.cox.net) (Quit: Client closed) |
| 2021-07-02 15:47:50 | → | hnOsmium0001 joins (uid453710@id-453710.stonehaven.irccloud.com) |
| 2021-07-02 15:47:51 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 2021-07-02 15:49:39 | × | acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Quit: Leaving.) |
| 2021-07-02 15:51:20 | → | favonia joins (~favonia@user/favonia) |
| 2021-07-02 15:56:18 | × | azeem quits (~azeem@176.201.38.107) (Ping timeout: 272 seconds) |
| 2021-07-02 15:56:29 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 2021-07-02 15:56:33 | → | azeem joins (~azeem@176.201.38.107) |
| 2021-07-02 15:57:32 | → | norias joins (~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) |
| 2021-07-02 16:01:30 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-07-02 16:02:17 | × | warnz quits (~warnz@104-55-100-55.lightspeed.lsvlky.sbcglobal.net) (Remote host closed the connection) |
| 2021-07-02 16:02:52 | × | juhp quits (~juhp@128.106.188.66) (Quit: juhp) |
| 2021-07-02 16:03:05 | → | juhp joins (~juhp@128.106.188.66) |
| 2021-07-02 16:03:46 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 2021-07-02 16:04:21 | × | mastarija quits (~mastarija@31.217.22.187) (Quit: Leaving) |
| 2021-07-02 16:06:05 | × | peterhil quits (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) (Quit: Must not waste too much time here...) |
| 2021-07-02 16:07:12 | → | jneira_ joins (~jneira_@217.red-81-39-172.dynamicip.rima-tde.net) |
| 2021-07-02 16:07:39 | → | peterhil joins (~peterhil@dsl-hkibng32-54f849-252.dhcp.inet.fi) |
| 2021-07-02 16:07:41 | × | fizbin quits (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) (Remote host closed the connection) |
| 2021-07-02 16:07:55 | → | fizbin joins (~fizbin@c-73-33-197-160.hsd1.nj.comcast.net) |
| 2021-07-02 16:08:45 | × | egoist quits (~egoist@186.235.80.194) (Quit: WeeChat 3.2) |
| 2021-07-02 16:11:39 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2021-07-02 16:13:08 | → | boxscape joins (~boxscape@user/boxscape) |
| 2021-07-02 16:13:12 | × | juhp quits (~juhp@128.106.188.66) (Quit: juhp) |
| 2021-07-02 16:13:26 | → | juhp joins (~juhp@128.106.188.66) |
All times are in UTC.