| 2026-07-03 00:01:22 +0000 | acidjnk_new3 | (~acidjnk@p200300d6e74def226b80982df3b2d190.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2026-07-03 00:01:54 +0000 | acidjnk | (~acidjnk@p200300d6e74def226b80982df3b2d190.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 2026-07-03 00:07:31 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 00:11:42 +0000 | Buliarou3 | (~gypsydang@46.232.210.139) (Ping timeout: 246 seconds) |
| 2026-07-03 00:12:06 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 268 seconds) |
| 2026-07-03 00:12:22 +0000 | Buliarou1 | (~gypsydang@46.232.210.139) (Ping timeout: 276 seconds) |
| 2026-07-03 00:14:41 +0000 | tremon | (~tremon@83-80-159-219.cable.dynamic.v4.ziggo.nl) (Quit: getting boxed in) |
| 2026-07-03 00:22:24 +0000 | Vizious | (~bes@user/Vizious) (Ping timeout: 245 seconds) |
| 2026-07-03 00:22:59 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 00:23:29 +0000 | Buliarou1 | (~gypsydang@46.232.210.139) Buliarous |
| 2026-07-03 00:23:35 +0000 | Buliarou2 | (~gypsydang@46.232.210.139) Buliarous |
| 2026-07-03 00:25:52 +0000 | Vizious | (~bes@user/Vizious) Vizious |
| 2026-07-03 00:29:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-07-03 00:39:00 +0000 | Vizious | (~bes@user/Vizious) (Ping timeout: 246 seconds) |
| 2026-07-03 00:40:57 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-07-03 00:44:02 +0000 | Vizious | (~bes@user/Vizious) Vizious |
| 2026-07-03 00:45:11 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 245 seconds) |
| 2026-07-03 00:46:45 +0000 | davidlbowman | (~davidlbow@user/davidlbowman) (Read error: Connection reset by peer) |
| 2026-07-03 00:51:02 +0000 | davidlbowman | (~davidlbow@user/davidlbowman) davidlbowman |
| 2026-07-03 00:55:40 +0000 | myxos | (~myxos@174-18-74-239.tcso.qwest.net) (Ping timeout: 256 seconds) |
| 2026-07-03 00:56:17 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 01:00:38 +0000 | alicela1n | (~quarkyali@user/quarkyalice) quarkyalice |
| 2026-07-03 01:00:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-07-03 01:02:00 +0000 | alicela1n | (~quarkyali@user/quarkyalice) (Read error: Connection reset by peer) |
| 2026-07-03 01:02:10 +0000 | schuelermine | (~Thunderbi@user/schuelermine) schuelermine |
| 2026-07-03 01:07:15 +0000 | Vizious | (~bes@user/Vizious) (Ping timeout: 245 seconds) |
| 2026-07-03 01:11:39 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 01:12:10 +0000 | Vizious | (~bes@user/Vizious) Vizious |
| 2026-07-03 01:15:30 +0000 | xff0x | (~xff0x@2405:6580:b080:900:5358:223f:ceb9:810a) (Ping timeout: 248 seconds) |
| 2026-07-03 01:16:03 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-07-03 01:24:55 +0000 | ft | (~ft@p4fc2a871.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
| 2026-07-03 01:26:36 +0000 | ft | (~ft@p508dbce6.dip0.t-ipconnect.de) ft |
| 2026-07-03 01:27:00 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 01:31:22 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 244 seconds) |
| 2026-07-03 01:34:12 +0000 | emilym | (~Thunderbi@user/emilym) emilym |
| 2026-07-03 01:38:44 +0000 | emilym | (~Thunderbi@user/emilym) (Ping timeout: 256 seconds) |
| 2026-07-03 01:41:05 +0000 | puke | (~puke@user/puke) (Read error: Connection reset by peer) |
| 2026-07-03 01:42:23 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 01:42:43 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2026-07-03 01:43:44 +0000 | puke | (~puke@user/puke) puke |
| 2026-07-03 01:46:54 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-07-03 01:52:54 +0000 | schuelermine | (~Thunderbi@user/schuelermine) (Ping timeout: 252 seconds) |
| 2026-07-03 01:55:19 +0000 | foul_owl | (~kerry@94.156.149.95) (Ping timeout: 245 seconds) |
| 2026-07-03 01:57:45 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 02:04:34 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-07-03 02:07:48 +0000 | tzh | (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Remote host closed the connection) |
| 2026-07-03 02:08:55 +0000 | foul_owl | (~kerry@94.156.149.93) foul_owl |
| 2026-07-03 02:09:25 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-07-03 02:12:22 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2026-07-03 02:15:47 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 02:24:29 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-07-03 02:25:28 +0000 | td_ | (~td@i5387092B.versanet.de) (Ping timeout: 271 seconds) |
| 2026-07-03 02:26:57 +0000 | td_ | (~td@i53870907.versanet.de) td_ |
| 2026-07-03 02:32:30 +0000 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) (Ping timeout: 252 seconds) |
| 2026-07-03 02:50:39 +0000 | fkw | (~fkw@user/fkw) (Remote host closed the connection) |
| 2026-07-03 02:50:51 +0000 | fkw | (~fkw@user/fkw) fkw |
| 2026-07-03 02:50:52 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 02:51:49 +0000 | picnoir | (~picnoir@about/aquilenet/vodoo/NinjaTrappeur) NinjaTrappeur |
| 2026-07-03 02:55:28 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-07-03 02:57:28 +0000 | weary-traveler | (~user@user/user363627) (Remote host closed the connection) |
| 2026-07-03 02:58:24 +0000 | weary-traveler | (~user@user/user363627) user363627 |
| 2026-07-03 03:01:46 +0000 | res0nat0r0844909 | (~Fletch@falcon.whatbox.ca) (Quit: The Lounge - https://thelounge.chat) |
| 2026-07-03 03:02:38 +0000 | comonad | (~comonad@p200300d02734bf007432065c333bdb0c.dip0.t-ipconnect.de) (Quit: WeeChat 4.7.0-dev) |
| 2026-07-03 03:05:21 +0000 | comonad | (~comonad@p200300d02734bf007432065c333bdb0c.dip0.t-ipconnect.de) |
| 2026-07-03 03:06:14 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 03:11:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-07-03 03:16:12 +0000 | fkw | (~fkw@user/fkw) (Remote host closed the connection) |
| 2026-07-03 03:21:41 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 03:26:24 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-07-03 03:36:59 +0000 | karenw | (~karenw@user/karenw) (Quit: Deep into that darkness peering...) |
| 2026-07-03 03:37:01 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 03:41:34 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-07-03 03:46:55 +0000 | dolio | (~dolio@130.44.140.168) dolio |
| 2026-07-03 03:52:20 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 03:54:06 +0000 | czan | (~czan@user/mange) czan |
| 2026-07-03 03:58:59 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-07-03 04:00:21 +0000 | res0nat0r0844909 | (~Fletch@falcon.whatbox.ca) |
| 2026-07-03 04:01:22 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 04:04:09 +0000 | Googulator12 | (~Googulato@84-236-126-66.pool.digikabel.hu) |
| 2026-07-03 04:06:05 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 256 seconds) |
| 2026-07-03 04:07:42 +0000 | Googulator90 | (~Googulato@84-236-126-66.pool.digikabel.hu) (Ping timeout: 245 seconds) |
| 2026-07-03 04:10:23 +0000 | machinedgod | (~machinedg@d108-173-95-19.abhsia.telus.net) (Ping timeout: 272 seconds) |
| 2026-07-03 04:16:41 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 04:21:58 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-07-03 04:32:05 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 04:36:25 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-07-03 04:47:27 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 04:52:31 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-07-03 05:02:49 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 05:05:35 +0000 | davidlbowman | (~davidlbow@user/davidlbowman) (Ping timeout: 245 seconds) |
| 2026-07-03 05:07:58 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) (Remote host closed the connection) |
| 2026-07-03 05:08:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 276 seconds) |
| 2026-07-03 05:08:14 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-07-03 05:18:11 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 05:22:30 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 246 seconds) |
| 2026-07-03 05:33:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 05:40:21 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 262 seconds) |
| 2026-07-03 05:42:00 +0000 | sourdecor | (uid526401@id-526401.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 2026-07-03 05:43:53 +0000 | haritz | (~hrtz@user/haritz) (Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in) |
| 2026-07-03 05:51:35 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 05:56:00 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 245 seconds) |
| 2026-07-03 06:02:19 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 06:04:15 +0000 | rabbull721 | (~rabbull@xdsl-31-164-93-219.adslplus.ch) (Read error: Connection reset by peer) |
| 2026-07-03 06:04:33 +0000 | rabbull721 | (~rabbull@xdsl-31-164-93-219.adslplus.ch) |
| 2026-07-03 06:07:33 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 272 seconds) |
| 2026-07-03 06:10:22 +0000 | absentia | (~henricus@user/absentia) (Ping timeout: 244 seconds) |
| 2026-07-03 06:17:07 +0000 | troydm | (~troydm@user/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
| 2026-07-03 06:17:43 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 06:17:54 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) (Ping timeout: 248 seconds) |
| 2026-07-03 06:18:49 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-07-03 06:19:09 +0000 | tromp | (~textual@2001:1c00:340e:2700:79a4:d68c:bc23:a22) |
| 2026-07-03 06:19:44 +0000 | takuan | (~takuan@d8D86B996.access.telenet.be) |
| 2026-07-03 06:20:11 +0000 | michalz | (~michalz@185.246.207.200) |
| 2026-07-03 06:22:10 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-07-03 06:22:35 +0000 | Googulator12 | (~Googulato@84-236-126-66.pool.digikabel.hu) (Quit: Client closed) |
| 2026-07-03 06:22:49 +0000 | Googulator12 | (~Googulato@84-236-126-66.pool.digikabel.hu) |
| 2026-07-03 06:22:59 +0000 | henricus | (~henricus@user/institor) institor |
| 2026-07-03 06:23:03 +0000 | henricus | absentia |
| 2026-07-03 06:23:07 +0000 | absentia | (~henricus@user/institor) (Changing host) |
| 2026-07-03 06:23:07 +0000 | absentia | (~henricus@user/absentia) absentia |
| 2026-07-03 06:29:13 +0000 | Googulator12 | (~Googulato@84-236-126-66.pool.digikabel.hu) (Quit: Client closed) |
| 2026-07-03 06:29:28 +0000 | Googulator12 | (~Googulato@84-236-126-66.pool.digikabel.hu) |
| 2026-07-03 06:33:08 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 06:34:21 +0000 | czan | (~czan@user/mange) (Quit: Quittin' time!) |
| 2026-07-03 06:37:23 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 252 seconds) |
| 2026-07-03 06:47:22 +0000 | Sgeo_ | (~Sgeo@user/sgeo) Sgeo |
| 2026-07-03 06:48:26 +0000 | merijn | (~merijn@62.45.136.136) merijn |
| 2026-07-03 06:48:44 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) sord937 |
| 2026-07-03 06:51:19 +0000 | Sgeo | (~Sgeo@user/sgeo) (Ping timeout: 264 seconds) |
| 2026-07-03 06:52:25 +0000 | synchromesh | (~john@2406:5a00:247e:1500:a691:b1ff:0:f9d) (Read error: Connection reset by peer) |
| 2026-07-03 06:53:12 +0000 | merijn | (~merijn@62.45.136.136) (Ping timeout: 252 seconds) |
| 2026-07-03 06:57:01 +0000 | ft | (~ft@p508dbce6.dip0.t-ipconnect.de) (Quit: leaving) |
| 2026-07-03 06:57:58 +0000 | synchromesh | (~john@2406:5a00:247e:1500:a691:b1ff:0:f9d) synchromesh |
| 2026-07-03 07:00:51 +0000 | jreicher | (~joelr@user/jreicher) (Quit: In transit) |
| 2026-07-03 07:03:40 +0000 | CiaoSen | (~Jura@2a02:3100:58eb:b00:4e50:ddff:fe9b:8922) CiaoSen |
| 2026-07-03 07:04:54 +0000 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
| 2026-07-03 07:07:17 +0000 | Googulator12 | (~Googulato@84-236-126-66.pool.digikabel.hu) (Ping timeout: 245 seconds) |
| 2026-07-03 07:18:41 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 07:25:38 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 248 seconds) |
| 2026-07-03 07:34:15 +0000 | emilym | (~Thunderbi@user/emilym) emilym |
| 2026-07-03 07:36:44 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 07:38:45 +0000 | emilym | (~Thunderbi@user/emilym) (Ping timeout: 272 seconds) |
| 2026-07-03 07:41:36 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 265 seconds) |
| 2026-07-03 07:41:46 +0000 | emmanuelux | (~em@user/emmanuelux) (Quit: bye) |
| 2026-07-03 07:43:11 +0000 | Sgeo_ | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 2026-07-03 07:52:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 07:56:15 +0000 | tromp | (~textual@2001:1c00:340e:2700:79a4:d68c:bc23:a22) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-07-03 07:58:22 +0000 | comerijn | (~merijn@77.242.116.146) merijn |
| 2026-07-03 08:02:07 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) (Ping timeout: 264 seconds) |
| 2026-07-03 08:02:07 +0000 | __monty__ | (~toonn@user/toonn) toonn |
| 2026-07-03 08:08:31 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 272 seconds) |
| 2026-07-03 08:09:41 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) |
| 2026-07-03 08:11:20 +0000 | chele | (~chele@user/chele) chele |
| 2026-07-03 08:15:22 +0000 | jreicher | (~joelr@user/jreicher) jreicher |
| 2026-07-03 08:53:47 +0000 | <tomsmeding> | monochrom: even without -threaded, because the loop allocates, the scheduler should run other stuff too |
| 2026-07-03 08:54:20 +0000 | danza | (~danza@user/danza) danza |
| 2026-07-03 08:54:44 +0000 | <tomsmeding> | and assuming a scheduler that divides processor time roughly equally if multiple threads are runnable, that should only take up roughly half of the CPU time |
| 2026-07-03 08:54:55 +0000 | tromp | (~textual@2001:1c00:340e:2700:79a4:d68c:bc23:a22) |
| 2026-07-03 09:01:02 +0000 | Googulator | (~Googulato@team.broadbit.hu) |
| 2026-07-03 09:03:00 +0000 | danz86816 | (~danza@user/danza) danza |
| 2026-07-03 09:05:29 +0000 | danza | (~danza@user/danza) (Ping timeout: 269 seconds) |
| 2026-07-03 09:06:00 +0000 | foul_owl | (~kerry@94.156.149.93) (Ping timeout: 245 seconds) |
| 2026-07-03 09:07:35 +0000 | acidjnk | (~acidjnk@p200300d6e74def2221f11a67e571af71.dip0.t-ipconnect.de) acidjnk |
| 2026-07-03 09:10:24 +0000 | rainbyte | (~rainbyte@181.47.219.31) (Read error: Connection reset by peer) |
| 2026-07-03 09:12:52 +0000 | danz86816 | (~danza@user/danza) (Remote host closed the connection) |
| 2026-07-03 09:13:07 +0000 | danza | (~danza@user/danza) danza |
| 2026-07-03 09:13:11 +0000 | rainbyte | (~rainbyte@181.47.219.31) rainbyte |
| 2026-07-03 09:13:53 +0000 | <comerijn> | tomsmeding: I can imagine some degenerate cases pretty easily |
| 2026-07-03 09:14:02 +0000 | <comerijn> | Since the GHC scheduler is non-preempting |
| 2026-07-03 09:15:27 +0000 | <tomsmeding> | comerijn: I know it's not preempting, but doesn't an allocation implicitly count as a yield point? |
| 2026-07-03 09:16:23 +0000 | <jaror> | I tried to make a reproducer: https://paste.tomsmeding.com/VxBoNFbx |
| 2026-07-03 09:16:34 +0000 | <comerijn> | tomsmeding: Only when you trigger GC |
| 2026-07-03 09:16:42 +0000 | <comerijn> | tomsmeding: iirc |
| 2026-07-03 09:16:54 +0000 | <tomsmeding> | what, really? The scheduler only switches tasks on GC? |
| 2026-07-03 09:16:56 +0000 | <comerijn> | The allocation happy path doesn't preempt I don't think? |
| 2026-07-03 09:17:03 +0000 | <tomsmeding> | oh right, on nursery GC |
| 2026-07-03 09:17:14 +0000 | <tomsmeding> | well they did say that this loop was responsible for >50% of their app's allocations |
| 2026-07-03 09:17:27 +0000 | <comerijn> | That said, there was barely any reason to not use -threaded 10 years ago |
| 2026-07-03 09:17:31 +0000 | <comerijn> | There's even less reason now |
| 2026-07-03 09:17:41 +0000 | <tomsmeding> | in context it's unclear whether that diagnosis is accurate, but if it is, then the point about "task switching happens only at GC" is moot :p |
| 2026-07-03 09:17:54 +0000 | <jaror> | But the elapsed time does not change |
| 2026-07-03 09:18:17 +0000 | <comerijn> | hold up |
| 2026-07-03 09:18:23 +0000 | <tomsmeding> | jaror: if you swap line 20 for line 21? |
| 2026-07-03 09:18:27 +0000 | <comerijn> | Did the default GC settings get changed yet? |
| 2026-07-03 09:18:30 +0000 | <jaror> | yeah |
| 2026-07-03 09:18:36 +0000 | <tomsmeding> | comerijn: to what |
| 2026-07-03 09:18:37 +0000 | <jaror> | It only affects mutator time |
| 2026-07-03 09:18:38 +0000 | <comerijn> | Or is -threaded still using parallel GC |
| 2026-07-03 09:18:47 +0000 | <tomsmeding> | nonmoving GC is not default AFAIK |
| 2026-07-03 09:18:53 +0000 | <comerijn> | tomsmeding: That's not what I mean |
| 2026-07-03 09:18:58 +0000 | <tomsmeding> | oh |
| 2026-07-03 09:19:04 +0000 | <tomsmeding> | you mean +RTS -qg? |
| 2026-07-03 09:19:06 +0000 | <comerijn> | yeah |
| 2026-07-03 09:19:18 +0000 | <comerijn> | I'm out of the loop if that's default yet |
| 2026-07-03 09:19:23 +0000 | <comerijn> | And if not, definitely try that first |
| 2026-07-03 09:19:38 +0000 | <comerijn> | It's especially heinous with -N |
| 2026-07-03 09:19:43 +0000 | foul_owl | (~kerry@94.156.149.95) foul_owl |
| 2026-07-03 09:20:04 +0000 | <comerijn> | That is my initial spidey sense looking at that code |
| 2026-07-03 09:20:30 +0000 | <tomsmeding> | jaror: when main exits, the thread also exits, right? (I forget) |
| 2026-07-03 09:20:37 +0000 | <comerijn> | Yes |
| 2026-07-03 09:20:45 +0000 | <comerijn> | Also |
| 2026-07-03 09:20:54 +0000 | <comerijn> | Not that most STM operations are **not** fair |
| 2026-07-03 09:20:57 +0000 | <comerijn> | *Note |
| 2026-07-03 09:21:12 +0000 | <tomsmeding> | I have a rough idea of how STM is implemented in the RTS |
| 2026-07-03 09:21:21 +0000 | <tomsmeding> | it has no concurrency guarantees whatsoever |
| 2026-07-03 09:21:26 +0000 | <tomsmeding> | it just works most of the time |
| 2026-07-03 09:21:35 +0000 | <tomsmeding> | there's even locks |
| 2026-07-03 09:21:50 +0000 | <comerijn> | of course, how else would you have transactional behaviour |
| 2026-07-03 09:22:00 +0000 | <tomsmeding> | you have lock-free and even wait-free STM algorithms |
| 2026-07-03 09:22:10 +0000 | <tomsmeding> | they are probably slower than what's in the RTS though :p |
| 2026-07-03 09:22:10 +0000 | <comerijn> | but my point is more that, unlike MVar and other blocking operations guarantee fairness in terms of thread activity |
| 2026-07-03 09:22:24 +0000 | <comerijn> | And since we we're discussing equal division of thread activity earlier |
| 2026-07-03 09:22:35 +0000 | <comerijn> | STM does **not** actively ensure that |
| 2026-07-03 09:22:55 +0000 | <tomsmeding> | comerijn: STM is most actively unfair when you have a repeated small transaction invalidating a larger transaction |
| 2026-07-03 09:23:15 +0000 | <tomsmeding> | this is a very small transaction that runs very often, so that sounds like the prototypical "nothing else can ever do anything situation" |
| 2026-07-03 09:23:22 +0000 | <comerijn> | tomsmeding: Sure, but you still get thundering herd races if you have lots of threads |
| 2026-07-03 09:23:25 +0000 | <tomsmeding> | but: if the queue is empty, flushTQueue doesn't do any writeTVar |
| 2026-07-03 09:23:40 +0000 | <tomsmeding> | and when it succeeds, it empties the queue |
| 2026-07-03 09:23:41 +0000 | <comerijn> | jaror: What exactly are you trying to do? It's not really clear from this example |
| 2026-07-03 09:23:56 +0000 | <comerijn> | i.e. do you really need/want a transactional queue |
| 2026-07-03 09:24:03 +0000 | <tomsmeding> | so after the flushTQueue has succeeded, another transaction should be able to get in |
| 2026-07-03 09:24:20 +0000 | <jaror> | I'm just trying to make a reproducer of absentia's problem |
| 2026-07-03 09:24:28 +0000 | <tomsmeding> | comerijn: there was someone here yesterday who complained about very slow code and found out that they were doing this |
| 2026-07-03 09:24:31 +0000 | <comerijn> | Also |
| 2026-07-03 09:24:37 +0000 | <comerijn> | threadDelay 10 seems insane? |
| 2026-07-03 09:24:42 +0000 | <tomsmeding> | and replacing their equivalent of line 20 with 21 fixed the problem |
| 2026-07-03 09:25:14 +0000 | <tomsmeding> | comerijn: https://tirclogv.tomsmeding.com/cal/haskell/2026-07-02?eid=aEtUaHCT7#ev-aEtUaHCT7 |
| 2026-07-03 09:25:32 +0000 | <tomsmeding> | jaror's code is a reproducer |
| 2026-07-03 09:25:37 +0000 | <tomsmeding> | which, apparently, doesn't reproduce |
| 2026-07-03 09:26:18 +0000 | <jaror> | It's strange that the threadDelay doesn't influence the elapsed time if it is below 1000. |
| 2026-07-03 09:26:27 +0000 | <tomsmeding> | probably scheduler granularity |
| 2026-07-03 09:26:45 +0000 | <tomsmeding> | "you either get in at the next tick, or now" |
| 2026-07-03 09:26:54 +0000 | <jaror> | yeah that could be it |
| 2026-07-03 09:28:51 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 09:28:51 +0000 | <tomsmeding> | comerijn: there are a bunch of things that can decrease performance when you have a busy loop like this going on, but absentia was complaining that sending 5000 insert queries to postgres took half an hour |
| 2026-07-03 09:29:16 +0000 | <tomsmeding> | even if you get multiple TQueue entries per query, and even if you have some degenerate scheduler situations, that doesn't blow up your runtime to _half an hour_ |
| 2026-07-03 09:33:04 +0000 | machinedgod | (~machinedg@d108-173-95-19.abhsia.telus.net) machinedgod |
| 2026-07-03 09:36:38 +0000 | <jaror> | I am seeing much larger slowdown if I do this instead: atomically (let loop = do xs <- flushTQueue q; if xs == [] then loop else pure xs in loop) |
| 2026-07-03 09:38:57 +0000 | <jaror> | https://paste.tomsmeding.com/qyjpWpVb |
| 2026-07-03 09:39:07 +0000 | <jaror> | Almost a 10x slowdown |
| 2026-07-03 09:41:23 +0000 | <jaror> | And if I lower the busy work to `fib 15` the difference gets even larger |
| 2026-07-03 09:42:00 +0000 | <jaror> | More like 50x |
| 2026-07-03 09:43:52 +0000 | <tomsmeding> | jaror: wouldn't that be because now you're creating a gigantic transaction that is almost certain to get contested by someone? |
| 2026-07-03 09:44:57 +0000 | <jaror> | probably |
| 2026-07-03 09:45:10 +0000 | <tomsmeding> | hm no, the transaction should still be small because you're repeatedly reading the same TVars |
| 2026-07-03 09:45:35 +0000 | <tomsmeding> | this depends on whether a new readTVar creates a new transaction entry (to be checked during the commit phase) or if it replaces the existing one |
| 2026-07-03 09:46:30 +0000 | <tomsmeding> | IIRC it doesn't create a new entry |
| 2026-07-03 09:46:43 +0000 | <tomsmeding> | interesting, I have to go now though |
| 2026-07-03 10:07:23 +0000 | <danza> | is there a simple way to time the execution of a command in GHCI? |
| 2026-07-03 10:10:27 +0000 | <mauke> | :set +s |
| 2026-07-03 10:10:28 +0000 | <mauke> | ? |
| 2026-07-03 10:10:54 +0000 | <danza> | i'll try that, cheers mauke |
| 2026-07-03 10:11:54 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 10:14:50 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 10:16:02 +0000 | Googulator | (~Googulato@team.broadbit.hu) (Ping timeout: 245 seconds) |
| 2026-07-03 10:22:22 +0000 | xff0x | (~xff0x@fsb6a9491c.tkyc517.ap.nuro.jp) (Ping timeout: 255 seconds) |
| 2026-07-03 10:33:51 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 10:34:57 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 10:36:24 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 10:40:17 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 10:42:02 +0000 | Vizious | (~bes@user/Vizious) (Ping timeout: 251 seconds) |
| 2026-07-03 10:42:02 +0000 | <probie> | % :set +s |
| 2026-07-03 10:42:02 +0000 | <yahb2> | <no output> |
| 2026-07-03 10:42:11 +0000 | <probie> | % sum [1..100000] |
| 2026-07-03 10:42:11 +0000 | <yahb2> | 5000050000 ; (0.01 secs, 8,874,152 bytes) |
| 2026-07-03 10:42:55 +0000 | comerijn | (~merijn@77.242.116.146) (Ping timeout: 264 seconds) |
| 2026-07-03 10:42:58 +0000 | <danza> | yep that works, sorry for not updating. Such flags are also explained rather clearly in :help. Thanks probie. About the bytes, i assume that's allocated memory |
| 2026-07-03 10:44:19 +0000 | Vizious | (~bes@user/Vizious) Vizious |
| 2026-07-03 10:44:29 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 10:46:15 +0000 | tromp | (~textual@2001:1c00:340e:2700:79a4:d68c:bc23:a22) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-07-03 10:54:19 +0000 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds) |
| 2026-07-03 10:55:18 +0000 | dibblego | (~dibblego@157.211.3.209) |
| 2026-07-03 10:55:18 +0000 | dibblego | (~dibblego@157.211.3.209) (Changing host) |
| 2026-07-03 10:55:18 +0000 | dibblego | (~dibblego@haskell/developer/dibblego) dibblego |
| 2026-07-03 10:55:20 +0000 | Googulator | (~Googulato@team.broadbit.hu) |
| 2026-07-03 10:55:35 +0000 | tromp | (~textual@2001:1c00:340e:2700:79a4:d68c:bc23:a22) |
| 2026-07-03 10:59:02 +0000 | danza | (~danza@user/danza) (Remote host closed the connection) |
| 2026-07-03 11:00:48 +0000 | merijn | (~merijn@host-cl.cgnat-g.v4.dfn.nl) merijn |
| 2026-07-03 11:28:16 +0000 | Googulator | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2026-07-03 11:28:33 +0000 | Googulator | (~Googulato@team.broadbit.hu) |
| 2026-07-03 11:32:46 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds) |
| 2026-07-03 11:33:13 +0000 | pfc | (~pfc@user/pfc) (Ping timeout: 247 seconds) |
| 2026-07-03 11:44:49 +0000 | pfc | (~pfc@user/pfc) pfc |
| 2026-07-03 11:52:12 +0000 | tromp | (~textual@2001:1c00:340e:2700:79a4:d68c:bc23:a22) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-07-03 11:54:03 +0000 | tromp | (~textual@2001:1c00:340e:2700:79a4:d68c:bc23:a22) |
| 2026-07-03 11:54:15 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) (Read error: Connection reset by peer) |
| 2026-07-03 11:54:20 +0000 | pfc | (~pfc@user/pfc) (Ping timeout: 245 seconds) |
| 2026-07-03 11:55:47 +0000 | chromoblob | (~chromoblo@user/chromob1ot1c) chromoblob\0 |
| 2026-07-03 11:57:52 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 12:11:00 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds) |
| 2026-07-03 12:11:55 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 12:13:04 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 12:16:59 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 12:20:14 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 12:24:19 +0000 | Googulator | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2026-07-03 12:24:20 +0000 | tromp | (~textual@2001:1c00:340e:2700:79a4:d68c:bc23:a22) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 2026-07-03 12:24:48 +0000 | Googulator | (~Googulato@team.broadbit.hu) |
| 2026-07-03 12:33:29 +0000 | divlamir | (~divlamir@user/divlamir) (Read error: Connection reset by peer) |
| 2026-07-03 12:44:03 +0000 | divlamir | (~divlamir@user/divlamir) divlamir |
| 2026-07-03 12:47:53 +0000 | davidlbowman | (~davidlbow@user/davidlbowman) davidlbowman |
| 2026-07-03 12:50:00 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) |
| 2026-07-03 12:50:00 +0000 | haritz | (~hrtz@2a01:4b00:bc2e:7000:d5af:a266:ca31:5ef8) (Changing host) |
| 2026-07-03 12:50:00 +0000 | haritz | (~hrtz@user/haritz) haritz |
| 2026-07-03 12:57:36 +0000 | xff0x | (~xff0x@2405:6580:b080:900:5dc9:7aaa:6a44:4507) |
| 2026-07-03 13:15:00 +0000 | CiaoSen | (~Jura@2a02:3100:58eb:b00:4e50:ddff:fe9b:8922) (Ping timeout: 246 seconds) |
| 2026-07-03 13:21:54 +0000 | Googulator | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2026-07-03 13:22:29 +0000 | Googulator | (~Googulato@team.broadbit.hu) |
| 2026-07-03 13:25:34 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 13:29:11 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 13:32:55 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 13:34:17 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 13:40:35 +0000 | ft | (~ft@p200300cf3f1af80019fb9535c737ed31.dip0.t-ipconnect.de) ft |
| 2026-07-03 13:51:27 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 13:58:44 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 14:04:41 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 14:08:11 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 14:10:49 +0000 | danza | (~danza@user/danza) danza |
| 2026-07-03 14:15:25 +0000 | caryhartline | (~caryhartl@37.19.205.238) CaryHartline |
| 2026-07-03 14:27:46 +0000 | michalz | (~michalz@185.246.207.200) (Ping timeout: 276 seconds) |
| 2026-07-03 14:28:16 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 14:39:45 +0000 | michalz | (~michalz@185.246.207.221) |
| 2026-07-03 14:39:56 +0000 | pfc | (~pfc@user/pfc) pfc |
| 2026-07-03 14:52:42 +0000 | Googulator | (~Googulato@team.broadbit.hu) (Quit: Client closed) |
| 2026-07-03 14:53:12 +0000 | Googulator | (~Googulato@team.broadbit.hu) |
| 2026-07-03 14:56:31 +0000 | tremon | (~tremon@83-80-159-219.cable.dynamic.v4.ziggo.nl) tremon |
| 2026-07-03 14:58:03 +0000 | michalz | (~michalz@185.246.207.221) (Ping timeout: 265 seconds) |
| 2026-07-03 15:00:43 +0000 | acidsys | (~crameleon@openSUSE/member/crameleon) (Ping timeout: 268 seconds) |
| 2026-07-03 15:03:17 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine) |
| 2026-07-03 15:05:37 +0000 | peterbecich | (~Thunderbi@71.84.33.135) peterbecich |
| 2026-07-03 15:14:04 +0000 | schuelermine | (~Thunderbi@user/schuelermine) schuelermine |
| 2026-07-03 15:16:04 +0000 | ski | (~ski@31-208-28-6.cust.bredband2.com) ski |
| 2026-07-03 15:25:04 +0000 | m | (~travltux@user/travltux) (Quit: WeeChat 4.7.2) |
| 2026-07-03 15:29:15 +0000 | karenw | (~karenw@user/karenw) karenw |
| 2026-07-03 15:42:13 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 15:42:50 +0000 | peterbecich | (~Thunderbi@71.84.33.135) (Ping timeout: 244 seconds) |
| 2026-07-03 15:44:49 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 15:45:37 +0000 | Googulator | (~Googulato@team.broadbit.hu) (Ping timeout: 245 seconds) |
| 2026-07-03 15:47:57 +0000 | DetourNetworkUK | (DetourNetw@user/DetourNetworkUK) (Read error: Connection reset by peer) |
| 2026-07-03 15:48:58 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 15:49:08 +0000 | DetourNetworkUK | (DetourNetw@user/DetourNetworkUK) DetourNetworkUK |
| 2026-07-03 15:50:18 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Excess Flood) |
| 2026-07-03 15:51:27 +0000 | acidsys | (~crameleon@openSUSE/member/crameleon) crameleon |
| 2026-07-03 15:55:14 +0000 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) Lord_of_Life |
| 2026-07-03 15:58:42 +0000 | Googulator | (~Googulato@team.broadbit.hu) |
| 2026-07-03 16:01:53 +0000 | tusko | (~uwu@user/tusko) (Remote host closed the connection) |
| 2026-07-03 16:07:10 +0000 | tusko | (~uwu@user/tusko) tusko |
| 2026-07-03 16:23:06 +0000 | chele | (~chele@user/chele) (Remote host closed the connection) |
| 2026-07-03 16:23:43 +0000 | schuelermine | (~Thunderbi@user/schuelermine) (Ping timeout: 264 seconds) |
| 2026-07-03 16:35:37 +0000 | Googulator | (~Googulato@team.broadbit.hu) (Ping timeout: 245 seconds) |
| 2026-07-03 16:40:16 +0000 | lnxxcya | (~lynxx@i577BF0B4.versanet.de) |
| 2026-07-03 16:40:50 +0000 | karenw | (~karenw@user/karenw) (Ping timeout: 248 seconds) |
| 2026-07-03 16:47:52 +0000 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 2026-07-03 16:48:38 +0000 | karenw | (~karenw@user/karenw) karenw |
| 2026-07-03 16:59:37 +0000 | danza | (~danza@user/danza) (Remote host closed the connection) |
| 2026-07-03 17:01:25 +0000 | kimiamania | (~768865ec@user/kimiamania) (Ping timeout: 245 seconds) |
| 2026-07-03 17:08:09 +0000 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
| 2026-07-03 17:10:49 +0000 | xff0x | (~xff0x@2405:6580:b080:900:5dc9:7aaa:6a44:4507) (Quit: xff0x) |
| 2026-07-03 17:14:28 +0000 | kimiamania | (~768865ec@user/kimiamania) kimiamania |
| 2026-07-03 17:15:09 +0000 | xff0x | (~xff0x@2405:6580:b080:900:5dc9:7aaa:6a44:4507) |