Logs: freenode/#haskell
| 2021-03-13 01:09:52 | → | justan0theruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2021-03-13 01:10:10 | × | gitgood quits (~gitgood@82-132-218-210.dab.02.net) (Read error: Connection reset by peer) |
| 2021-03-13 01:10:11 | → | conal joins (~conal@64.71.133.70) |
| 2021-03-13 01:10:50 | × | justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds) |
| 2021-03-13 01:11:14 | → | nbloomf joins (~nbloomf@70.182.116.249) |
| 2021-03-13 01:11:45 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 2021-03-13 01:13:09 | × | ezrakilty quits (~ezrakilty@75-172-115-167.tukw.qwest.net) (Ping timeout: 264 seconds) |
| 2021-03-13 01:15:19 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 2021-03-13 01:15:29 | × | Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.) |
| 2021-03-13 01:16:50 | × | justan0theruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds) |
| 2021-03-13 01:19:50 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds) |
| 2021-03-13 01:20:22 | → | kam1 joins (~kam1@83.123.154.198) |
| 2021-03-13 01:20:51 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-fbxhtxpvbmlflnip) (Quit: Connection closed for inactivity) |
| 2021-03-13 01:24:00 | → | CoconutCrab joins (~Cua@unaffiliated/coconutcrab) |
| 2021-03-13 01:26:18 | × | myShoggoth quits (~myShoggot@75.164.81.55) (Ping timeout: 245 seconds) |
| 2021-03-13 01:27:57 | <infinisil> | hololeap: I've realized that I don't even need it lol |
| 2021-03-13 01:28:42 | <infinisil> | Because in my case, I'm gonna want to turn all types into json Value's anyways |
| 2021-03-13 01:28:51 | <infinisil> | And then I can just `limitRecursion :: Int -> Value -> Value` |
| 2021-03-13 01:29:08 | <infinisil> | No need to mess with Generics and typeclasses |
| 2021-03-13 01:29:10 | × | cfvnhtsp^ quits (cfvnhtsp@ip98-184-89-2.mc.at.cox.net) () |
| 2021-03-13 01:29:44 | <infinisil> | But, this was an interesting experiment regardless :) |
| 2021-03-13 01:30:37 | → | ddellacosta joins (ddellacost@gateway/vpn/mullvad/ddellacosta) |
| 2021-03-13 01:31:52 | → | justan0theruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2021-03-13 01:31:57 | × | kam1 quits (~kam1@83.123.154.198) (Read error: Connection reset by peer) |
| 2021-03-13 01:33:48 | × | joebobjoe quits (~joebobjoe@unaffiliated/joebobjoe) (Ping timeout: 245 seconds) |
| 2021-03-13 01:34:57 | → | joebobjoe joins (~joebobjoe@unaffiliated/joebobjoe) |
| 2021-03-13 01:38:01 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 276 seconds) |
| 2021-03-13 01:39:38 | × | joebobjoe quits (~joebobjoe@unaffiliated/joebobjoe) (Ping timeout: 245 seconds) |
| 2021-03-13 01:40:01 | → | joebobjoe joins (~joebobjoe@unaffiliated/joebobjoe) |
| 2021-03-13 01:41:10 | × | usr256 quits (~usr25@unaffiliated/usr25) (Quit: Leaving) |
| 2021-03-13 01:41:17 | <koz_> | Does ByteString's take and drop cause allocations? |
| 2021-03-13 01:42:07 | → | user5023 joins (~user5023@79-100-188-22.ip.btc-net.bg) |
| 2021-03-13 01:43:00 | → | ezrakilty joins (~ezrakilty@75-172-115-167.tukw.qwest.net) |
| 2021-03-13 01:43:32 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds) |
| 2021-03-13 01:44:57 | × | joebobjoe quits (~joebobjoe@unaffiliated/joebobjoe) (Ping timeout: 264 seconds) |
| 2021-03-13 01:46:09 | → | rj joins (~x@gateway/tor-sasl/rj) |
| 2021-03-13 01:48:28 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 2021-03-13 01:49:50 | → | kam1 joins (~kam1@83.123.154.198) |
| 2021-03-13 01:51:58 | × | justan0theruser quits (~justanoth@unaffiliated/justanotheruser) (Read error: Connection reset by peer) |
| 2021-03-13 01:52:40 | × | user5023 quits (~user5023@79-100-188-22.ip.btc-net.bg) (Quit: Leaving) |
| 2021-03-13 01:54:51 | × | conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.) |
| 2021-03-13 01:55:03 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:5883:2b2b:203d:3c57) (Remote host closed the connection) |
| 2021-03-13 01:55:21 | × | vchlup_ quits (~vchlup@nat.brnet.cz) (Ping timeout: 246 seconds) |
| 2021-03-13 01:55:33 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:5883:2b2b:203d:3c57) |
| 2021-03-13 01:55:37 | × | ddellacosta quits (ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection) |
| 2021-03-13 01:56:11 | <infinisil> | koz_: https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/src/Data.ByteString.html#take |
| 2021-03-13 01:56:36 | <koz_> | Based on this, I assume it's 'yes', because it has to 're-wrap'? |
| 2021-03-13 01:57:15 | → | vchlup_ joins (~vchlup@nat.brnet.cz) |
| 2021-03-13 01:58:21 | <infinisil> | koz_: Oh, you mean whether it even allocates a single byte? |
| 2021-03-13 01:58:26 | <koz_> | infinisil: Yes. |
| 2021-03-13 01:58:48 | × | kam1 quits (~kam1@83.123.154.198) (Read error: Connection reset by peer) |
| 2021-03-13 01:59:51 | <infinisil> | koz_: Hmm I guess in general it can, but with rewrite rules and inlining I wouldn't be surprised for it not to in many cases |
| 2021-03-13 02:00:14 | <koz_> | infinisil: Hmm. I might have to think about this some more. |
| 2021-03-13 02:00:25 | <infinisil> | koz_: What's the motivation? |
| 2021-03-13 02:00:26 | × | nbloomf quits (~nbloomf@70.182.116.249) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 2021-03-13 02:00:30 | → | joebobjoe joins (~joebobjoe@unaffiliated/joebobjoe) |
| 2021-03-13 02:00:48 | <koz_> | I'm tweaking the matching implementation for text-ascii to speed it up. I currently race text pretty well, but I allocate more than text does. |
| 2021-03-13 02:02:00 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 246 seconds) |
| 2021-03-13 02:03:12 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 2021-03-13 02:03:25 | <infinisil> | Hmm well text's take actually doesn't even appear to be O(n) |
| 2021-03-13 02:03:37 | <infinisil> | sorry, it _is_ O(n) |
| 2021-03-13 02:03:39 | <koz_> | infinisil: The 'take' part isn't what I'm optimizing. |
| 2021-03-13 02:03:51 | <koz_> | I'm posting something to bytestring's issue tracker, that may clear it up. |
| 2021-03-13 02:04:47 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 2021-03-13 02:05:43 | <koz_> | infinisil: https://github.com/haskell/bytestring/issues/307#issuecomment-797847849 |
| 2021-03-13 02:06:55 | <koz_> | You can scroll to the bottom to see the code, and the benchmarks show the unwanted allocs. |
| 2021-03-13 02:07:04 | <koz_> | If you have better ideas on why this is happening, I'm definitely all ears. |
| 2021-03-13 02:08:51 | <infinisil> | koz_: Ah you're referring to the -O0 results where text-ascii sometimes allocates where text doesn't? |
| 2021-03-13 02:09:03 | <koz_> | Yes. |
| 2021-03-13 02:09:06 | <koz_> | This also happens on -O1. |
| 2021-03-13 02:09:20 | <koz_> | At -O2 text drives off the cliff, but the allocs are still there. |
| 2021-03-13 02:09:26 | <koz_> | And I'd rather they weren't if possible. |
| 2021-03-13 02:09:43 | <koz_> | My only candidate for why this is happening is the 'let fragment = ...' computation. |
| 2021-03-13 02:10:03 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 245 seconds) |
| 2021-03-13 02:10:06 | <infinisil> | Once in -O2, ascii-text doesn't allocate but text does |
| 2021-03-13 02:10:15 | <koz_> | It still does. |
| 2021-03-13 02:10:18 | <infinisil> | Are these benchmarks repeatable with the same results? |
| 2021-03-13 02:10:22 | <ntkr> | hello all, I'm trying to write a websockets application with RIO and am getting hung up on how to extend the RIO monad to the functions that the websockets library needs. Any help here is much appreciated: https://paste.tomsmeding.com/bbXsCmh5 |
| 2021-03-13 02:10:27 | <koz_> | infinisil: Very consistently. |
| 2021-03-13 02:10:42 | → | justan0theruser joins (~justanoth@unaffiliated/justanotheruser) |
| 2021-03-13 02:11:12 | × | thc202 quits (~thc202@unaffiliated/thc202) (Ping timeout: 260 seconds) |
| 2021-03-13 02:11:20 | <koz_> | The allocations done by text-ascii don't go away irrespective of -O level. |
| 2021-03-13 02:11:31 | <koz_> | Check the 'No match' lines in both blocks, for example. |
| 2021-03-13 02:11:43 | <koz_> | (text just allocates hilariously more) |
| 2021-03-13 02:11:46 | <infinisil> | koz_: I'd try memory profiling to figure out where exactly the allocs happen |
| 2021-03-13 02:12:02 | <infinisil> | I've been wanting to try out https://well-typed.com/blog/2021/01/first-look-at-hi-profiling-mode/ |
| 2021-03-13 02:12:04 | <koz_> | infinisil: What's the option to pass to 'cabal bench' to have it profile memory? |
| 2021-03-13 02:12:35 | <koz_> | Ah, this. |
| 2021-03-13 02:13:12 | <koz_> | So compile with -eventlog, then run with -hT? |
| 2021-03-13 02:13:43 | <infinisil> | Haven't tried it out myself, I'd check the blog post :) |
| 2021-03-13 02:14:15 | <koz_> | I'm not completely clear from it, because they use raw GHC. |
| 2021-03-13 02:14:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-03-13 02:14:28 | <koz_> | I'll try adding -eventlog and -hT and see wat happen. |
| 2021-03-13 02:14:37 | × | gitgoood quits (~gitgood@82-132-219-163.dab.02.net) (Read error: Connection reset by peer) |
| 2021-03-13 02:14:42 | <koz_> | How recent a GHC do I need? |
| 2021-03-13 02:14:51 | <infinisil> | It should be in 8.10.2 (the blog mentions that too) |
| 2021-03-13 02:14:58 | <koz_> | OK, cool. |
| 2021-03-13 02:14:59 | × | rj quits (~x@gateway/tor-sasl/rj) (Ping timeout: 268 seconds) |
| 2021-03-13 02:15:29 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 2021-03-13 02:15:41 | <infinisil> | actually it mentions that there's a backport for 8.10.2, not sure if it's merged (I'd think so though) |
All times are in UTC.