[00:16] *** guifa2 joined [00:16] *** guifa2 left [00:16] *** guifa2 joined [00:26] *** guifa2 left [01:21] *** sena_kun joined [01:22] *** Altai-man_ left [02:26] *** squashable6 left [02:30] *** bloatable6 joined [02:30] *** sourceable6 joined [02:32] *** bloatable6 left [02:32] *** statisfiable6 joined [02:32] *** committable6 joined [02:32] *** quotable6 joined [02:32] *** greppable6 joined [02:32] *** releasable6 joined [02:32] *** unicodable6 joined [02:32] *** notable6 joined [02:32] *** evalable6 joined [02:32] *** nativecallable6 joined [02:32] *** tellable6 joined [02:32] *** benchable6 joined [02:32] *** reportable6 joined [02:32] *** greppable6 left [02:33] *** reportable6 left [02:33] *** linkable6 joined [02:33] *** reportable6 joined [02:33] *** committable6 left [02:33] *** bloatable6 joined [02:33] *** squashable6 joined [02:33] *** coverable6 joined [02:33] *** greppable6 joined [02:34] *** committable6 joined [02:34] *** shareable6 joined [03:13] *** pamplemousse left [03:19] *** Altai-man_ joined [03:22] *** sena_kun left [04:41] Altai-man_: ta-daaaa https://github.com/Raku/whateverable/commit/77622ff888d116b57e8988bd97f1e087bad77617#commitcomment-38762052 [04:49] weekly: Xliff++ improved Blin output to make the release work easier/more awesome. This motivated AlexDaniel to awesomify it even more. But improvements to the release tooling didn't stop there, Whateverable can now run code and bisect on commits of any branch (not just master), meaning that it's now easier to try features that are not merged yet and also significantly easier to test release branches. [04:49] AlexDaniel, Noted! (weekly) [04:51] weekly: in case anybody is interested, here is how future Blin tickets will look like: https://gist.github.com/Altai-man/3eee8d3cebf644c4262c46778575c623 [04:51] AlexDaniel, Noted! (weekly) [05:13] *** sourceable6 left [05:13] *** committable6 left [05:13] *** squashable6 left [05:13] *** bloatable6 left [05:13] *** reportable6 left [05:13] *** notable6 left [05:13] *** coverable6 left [05:13] *** greppable6 left [05:13] *** statisfiable6 left [05:13] *** quotable6 left [05:13] *** releasable6 left [05:13] *** unicodable6 left [05:13] *** evalable6 left [05:13] *** nativecallable6 left [05:13] *** tellable6 left [05:13] *** benchable6 left [05:13] *** linkable6 left [05:13] *** shareable6 left [05:20] *** sena_kun joined [05:20] hoelzro: ping me when you are availble. In general, my evenings (around 18-20h UTC) would be good, but I could arrange other times as well [05:22] *** Altai-man_ left [05:23] *** shareable6 joined [05:23] *** coverable6 joined [05:24] *** committable6 joined [05:24] *** notable6 joined [05:24] *** quotable6 joined [05:24] c: awesome-malformed-loops say 42 [05:24] AlexDaniel, ¦awesome-malformed-loops: «Cannot find this revision (did you mean “HEAD”?)» [05:24] *** sourceable6 joined [05:24] oh [05:24] *** bisectable6 joined [05:25] *** reportable6 joined [05:25] *** releasable6 joined [05:25] *** bloatable6 joined [05:25] *** statisfiable6 joined [05:25] *** benchable6 joined [05:25] *** nativecallable6 joined [05:26] *** squashable6 joined [05:26] *** linkable6 joined [05:34] c: awesome-malformed-loops say 42 [05:34] AlexDaniel, ¦awesome-malformed-loops: «Cannot find this revision (did you mean “HEAD”?)» [05:35] -_- [06:01] third time's a charm [06:01] c: awesome-malformed-loops say 42 [06:01] AlexDaniel, ¦awesome-malformed-loops: «42␤» [06:01] \o/ [06:01] c: rakublast say 42 [06:01] AlexDaniel, ¦rakublast: «Cannot find this revision (did you mean “rakuast”?)» [06:01] c: rakuast say 42 [06:01] AlexDaniel, ¦rakuast: «Cannot test this commit (Commit exists, but an executable could not be built for it)» [06:02] jnthn: ↑ I think you need bumps or something [06:15] c: no_p5_warnings no warnings :p5; say "foo" . "bar" [06:16] committable6: say 42 [06:16] AlexDaniel, Seems like you forgot to specify a revision (will use “v6.c” instead of “say”) [06:16] hmmm [06:17] yeah I just need to figure out why that happens [06:17] AlexDaniel, ¦v6.c (42 commits): «42␤» [06:17] committable6: no_p5_warnings say 42 [06:20] AlexDaniel, ¦no_p5_warnings: «No build for this commit» [06:22] AlexDaniel, ¦no_p5_warnings: «No build for this commit» [06:31] *** committable6 left [06:32] *** shareable6 left [06:32] *** bisectable6 left [06:32] *** shareable6 joined [06:34] *** bisectable6 joined [06:34] *** committable6 joined [06:37] committable6: no_p5_warnings say 42 [06:37] AlexDaniel, ¦no_p5_warnings: «No build for this commit» [06:37] ok, much faster now :) [07:19] *** Altai-man_ joined [07:22] *** sena_kun left [07:24] *** MasterDuke joined [08:56] *** MoniAlvarez joined [08:59] *** MoniAlvarez left [08:59] *** guifa2 joined [09:20] *** sena_kun joined [09:22] *** Altai-man_ left [10:25] Files=1306, Tests=111242, 214 wallclock secs (28.81 usr 8.34 sys + 3005.21 cusr 274.20 csys = 3316.56 CPU) [10:27] so, no change with timing from 2 days ago, so the uninlining of the nextdispatcher stuff does not affect spectest visibly [10:27] which, of course, makes sense, as it almost never gets hot enough [10:28] Indeed; we've generally observed that spectest tends to only see the costs of optimizations rather than the benefits of them (as so is a kind of good way of seeing how well we've got our optimization thresholds set) [10:29] which also implies that generally cron jobs and such won't see much effect either [10:29] but long running server processes might [10:30] Depends what the cron job does. [10:30] Also what you count as "long running" [10:30] above liek 5 seconds of running the same code paths you'll already have been benefitting i think [10:30] probably already after 2 [10:30] hmmm.. I should start thinking about porting Sys::RunAlone :-) [10:31] 5 seconds sounds much too much, if you've a small number of hot paths [10:31] right [10:31] I mean, microbenchmarks that run for well under a second benefit heavily [10:31] I'd expect one-liners that are doing a decent number of iterations would too [10:41] *** guifa2 left [10:42] *** guifa2 joined [10:50] To put things into perspective, with the performance regression we're not at about the same level as in the beginning of 2018: https://tux.nl/Talks/CSV6/images/test-t-75.png [10:52] s/not/now/ [11:05] <[Tux]> Rakudo version 2020.02.1-356-g561076437 - MoarVM version 2020.02.1-153-g9bb7a1850 [11:05] <[Tux]> csv-test-xs-20 0.389 - 0.454 [11:05] <[Tux]> test-t --race 1.098 - 1.115 [11:05] <[Tux]> csv-ip5xs 1.129 - 1.150 [11:05] <[Tux]> test-t 2.666 - 2.688 [11:05] <[Tux]> test 7.899 - 7.967 [11:05] <[Tux]> csv-ip5xs-20 10.654 - 10.703 [11:05] <[Tux]> test-t-20 --race 13.373 - 13.519 [11:05] <[Tux]> csv-parser 25.278 - 25.755 [11:05] <[Tux]> test-t-20 45.995 - 46.850 [11:19] *** Altai-man_ joined [11:22] *** sena_kun left [11:51] *** pamplemousse joined [12:09] bisectable6, spurt "test", "\c[woman]\c[man]\c[cat]"; my $fh = open "test", :read; $fh.readchars(1); $fh.tell.say [12:09] samcv, Bisecting by output (old=2015.12 new=5610764) because on both starting points the exit code is 1 [12:10] samcv, bisect log: https://gist.github.com/4a9cb8c8738339a84a0b7f70495c5f67 [12:10] samcv, (2017-01-22) https://github.com/rakudo/rakudo/commit/58226059b53853134de0f265b6f46a923d2004e7 [12:11] bisectable6, spurt "/tmp/test123", "\c[woman]\c[man]\c[cat]"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say [12:11] samcv, Bisecting by exit code (old=2015.12 new=5610764). Old exit code: 1 [12:11] samcv, bisect log: https://gist.github.com/4e7b95338d35087105cfcb5b10eb4d81 [12:11] samcv, (2017-01-25) https://github.com/rakudo/rakudo/commit/3a774066d585062c52191e1034714cab2489ece2 [12:12] 6c: spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say [12:12] commitable: spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say [12:13] samcv, ¦spurt: «Cannot find this revision (did you mean “Cluj”?)» [12:13] samcv, https://gist.github.com/fc2a9bcd4d147f45f04143e3e819e167 [12:13] commitable: 6c: spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say [12:13] samcv, ¦6c:: «Cannot find this revision (did you mean “v6.c”?)» [12:13] commitable: v6c: spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say [12:13] samcv, ¦v6c:: «Cannot find this revision (did you mean “v6.c”?)» [12:13] commitable: v6.c: spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say [12:13] samcv, ¦v6.c:: «Cannot find this revision (did you mean “v6.c”?)» [12:13] commitable: v6.c spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say [12:13] samcv, https://gist.github.com/58adef746f8972bdeb5db499f607254d [12:15] commitable: v6.c spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say; $fh.readchars(1); $fh.tell.say [12:15] samcv, https://gist.github.com/a0d552137e39e63433777bdf766e1ef6 [12:25] bisectable6, spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; $fh.readchars(1); $fh.tell.say; $fh.readchars(1); $fh.tell.say [12:25] samcv, Bisecting by output (old=2015.12 new=5610764) because on both starting points the exit code is 0 [12:26] samcv, bisect log: https://gist.github.com/7949208ef31fa42ab2c90929113132c7 [12:26] samcv, (2017-01-02) https://github.com/rakudo/rakudo/commit/7c8b705b3375522fc36304b771f82f50246afcf0 [12:28] bisectable6, spurt "/tmp/test123", "👩👨🐈"; my $fh = open "/tmp/test123", :read; say $fh.readchars(1); $fh.tell.say; say $fh.readchars(1); $fh.tell.say [12:29] samcv, Bisecting by output (old=2015.12 new=5610764) because on both starting points the exit code is 0 [12:29] samcv, bisect log: https://gist.github.com/5af72de8667b4ad3bf98b61bd236aa2f [12:29] samcv, (2017-01-02) https://github.com/rakudo/rakudo/commit/7c8b705b3375522fc36304b771f82f50246afcf0 [13:01] *** SashaRose joined [13:04] *** SashaRose left [13:13] notable6: weekly [13:14] lizmat, 4 notes: https://gist.github.com/ebc8a7354545b21f695a2c9a3183cb3c [13:14] fwiw, some programs will take more than twice the time they used to [13:18] yeah :-( [13:20] ¦ rakudo/hyper_codegen: 617a5dc7de | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp [13:20] ¦ rakudo/hyper_codegen: first sketch of code-gen for hyper op formulas in optimizer [13:20] ¦ rakudo/hyper_codegen: review: https://github.com/rakudo/rakudo/commit/617a5dc7de [13:20] ¦ rakudo/hyper_codegen: ebabecb151 | (Timo Paulssen)++ | src/Perl6/Optimizer.nqp [13:20] ¦ rakudo/hyper_codegen: more hyperoptimizer, rewrite, add env var to turn on [13:20] ¦ rakudo/hyper_codegen: review: https://github.com/rakudo/rakudo/commit/ebabecb151 [13:20] lizmat: wanna write anything about this? or would it be a little too early? :D [13:20] *** sena_kun joined [13:21] timotimo: I'm already writing plenty :-) [13:21] OK, if the weekly is already big, that's fantastic :D [13:21] would love to see something about this work in the weekly though [13:21] but maybe next week, when it's merged ? [13:21] i admire your optimism :) :) [13:22] *** Altai-man_ left [13:23] i mean, if it stays activate-able via an env var, it could be okay to merge it earlier [13:23] or perhaps even something a bit different. like "use experimental :hyperhyper" [13:23] so what do you think you'd be breaking ? [13:24] currently it'll accept code that without this optimizer will throw an exception [13:25] of course i didn't write down the exact example [13:25] *** Altai-man_ joined [13:27] there we go [13:27] m: my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my int @result = ^100_000; my $now = now; for ^5 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now; [13:27] rakudo-moar 561076437: OUTPUT: «This type cannot unbox to a native integer: P6opaque, Num␤ in block at line 1␤␤» [13:28] *** sena_kun left [13:28] do you think that error is correct or a bug ? [13:28] the result of adding @d>>.sin onto the other int values is a num, and storing that into the int @result array is wrong [13:31] ok, so the error is correct. And how would your change work then? silently truncate to int ? [13:31] yeah, that's what it does [13:31] actually, it's quite possible that this will turn into a compile-time error if i make it asplode [13:32] m: my int $a; my num $b = 42e666; $a = $b; dd $a # I guess that's the reason ? [13:32] rakudo-moar 561076437: OUTPUT: «-9223372036854775808␤» [13:33] i'm not entirely sure, but i think it could be from how QAST with a :returns(int) will generate a coercion [13:33] it should already be annotating the addition to return num, and the storing-into-result thing should be annotated with int [13:38] re 6fd2939ae4ddfff973a647e15 do we have confirmation that problems on Windows have been fixed by this ? [13:38] (2020-04-25) https://github.com/MoarVM/MoarVM/commit/6fd2939ae4 Try to fix issues by marking takenextdispatcher :noinline [13:39] windows was the jitting of takenextdispatcherfor, not the inlining [13:40] which got fixed by nine [13:41] yep [13:41] so wouldn't that imply that we could enable the inlining of takenextdispatcher again " [13:41] ? [13:41] 9bb7a185071e6c8cd43806f0 [13:41] (2020-04-26) https://github.com/MoarVM/MoarVM/commit/9bb7a18507 Merge pull request #1271 from ddlws/utf8-c8 [13:41] no, that fixes a different problem [13:42] https://github.com/rakudo/rakudo/issues/3569 [13:59] notable6: weekly reset [13:59] lizmat, Moved existing notes to “weekly_2020-04-27T13:59:56Z” [15:02] and another Rakudo Weekly News hits the Net: https://rakudoweekly.blog/2020/04/27/2020-17-spring-cleanup/ [15:15] committable6: hyper_codegen my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my int @result = ^100_000; my $now = now; for ^500 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now; [15:15] timotimo, ¦hyper_codegen: «Cannot test this commit (Commit exists, but an executable could not be built for it)» [15:16] timotimo: thinking about this some more, I think the current behaviour should be considered a bug [15:17] m: my int $a; my num $b = 42.666e0; $a = $b; say $a # because this is the correct behaviour,. silently truncating when using natives [15:17] rakudo-moar 561076437: OUTPUT: «42␤» [15:21] *** sena_kun joined [15:21] in that case i won't have to change my code :D [15:22] *** Altai-man_ left [15:44] *** pamplemousse left [16:26] *** sena_kun left [16:26] *** guifa2 left [16:26] *** dogbert11 left [16:26] *** krunen left [16:26] *** synthmeat left [16:26] *** TreyHarris left [16:28] *** synthmeat joined [16:31] *** sena_kun joined [16:31] *** guifa2 joined [16:31] *** dogbert11 joined [16:32] *** krunen joined [16:32] *** TreyHarris joined [17:03] timotimo: is hyper_codegen branch buildable? [17:03] shareable6: hyper_codegen [17:03] AlexDaniel, and I oop! Backtrace: https://gist.github.com/bac7ad3135839e3215ec39a7ab03df55 [17:04] right [17:05] *** shareable6 left [17:09] *** shareable6 joined [17:09] shareable6: hyper_codegen [17:09] AlexDaniel, https://whateverable.6lang.org/hyper_codegen [17:10] ooooooh… I think it's my mistake [17:10] “Unknown option: gen-moar --gen-nqp --backends” [17:13] whoops :) [17:13] not doing the splits [17:16] I told myself multiple times not to touch build.p6 [17:17] this was definitely not required: 13bcd27a745 [17:18] alright, linkable, we need to talk. [17:18] 13bcd27a7450ef9b [17:18] (2020-04-27) https://github.com/Raku/whateverable/commit/13bcd27a74 Use <> in build.p6 [17:19] *** Altai-man_ joined [17:20] committable6: hyper_codegen my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my int @result = ^100_000; my $now = now; for ^500 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now; [17:20] AlexDaniel, ¦hyper_codegen: «This type cannot unbox to a native integer: P6opaque, Num␤ in block at /tmp/LLrbP2toQD line 1␤␤ «exit code = 1»» [17:20] timotimo: ↑ it works now! \o/ [17:20] thanks for testing it :) [17:20] committable6: master,hyper_codegen my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my int @result = ^100_000; my $now = now; for ^500 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now; [17:20] AlexDaniel, ¦master,hyper_codegen: «This type cannot unbox to a native integer: P6opaque, Num␤ in block at /tmp/B9XV4XyuQx line 1␤␤ «exit code = 1»» [17:24] oh, of course [17:24] needs to have an env var set [17:24] committable can do that, right? [17:24] timotimo: %*ENV = ‘bar’; run , 「my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my int @result = ^100_000; my $now = now; for ^500 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now;」 [17:24] committable6: master,hyper_codegen RAKUDO_OPTIMIZER_HYPER=1 my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my int @result = ^100_000; my $now = now; for ^500 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now; [17:25] timotimo, https://gist.github.com/c5381f26c718e549f8102ce444a9b440 [17:26] committable6: master,hyper_codegen %*ENV=1; run , 「my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my int @result = ^100_000; my $now = now; for ^500 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now;」 [17:26] *** krunen left [17:26] *** TreyHarris left [17:26] *** sena_kun left [17:26] *** guifa2 left [17:26] *** dogbert11 left [17:26] AlexDaniel, https://gist.github.com/c66af3893388153660dcc2a0c970bf00 [17:29] *** ccamel left [17:29] *** krunen joined [17:29] *** TreyHarris joined [17:29] *** guifa2 joined [17:29] *** dogbert11 joined [17:30] timotimo: people do need env vars, command line args, deflapping, etc. sometimes, but lately I'm thinking that just learning how to use `run` is the most universal solution [17:30] buh :o [17:31] committable6: master my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my int @result = ^100_000; my $now = now; for ^10 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now; [17:31] timotimo, ¦master: «This type cannot unbox to a native integer: P6opaque, Num␤ in block at /tmp/aRjbb4RxsZ line 1␤␤ «exit code = 1»» [17:31] right [17:31] committable6: master my int @a = ^100_000; my int @b = ^100_000; my int @c = ^100_000; my int @d = ^100_000; my num @result = (^100_000)>>.Num; my $now = now; for ^10 { @result = @a >>+<< @b >>+<< @c >>+<< @d>>.sin; Nil }; say now - $now; [17:32] timotimo, ¦master: «9.5214294␤» [17:32] compare the speed [17:32] 2.815 for 500 runs vs 9.52 for 10 runs [17:33] :o [17:33] m: say (50 * 9.52) / 2.815 [17:33] rakudo-moar 561076437: OUTPUT: «169.094139␤» [17:33] not bad [17:35] > At first glance, you're right. But if you take a closer look, from a purely pragmatic perspective, there are now at least two coexisting ecosystems in two different languages, peacefully sailing along. [17:35] \o/ [17:42] *** MasterDuke left [17:42] *** camelCaser joined [17:48] *** ccamel joined [17:49] *** camelCaser left [17:51] yeah, sometimes HN comments surprise me as well :-) [17:52] Altai-man_: I have replied in a comment. [17:54] vrurg, thanks! Can you specify the bug, we can mark it as a blocker, I guess. [17:55] Altai-man_: nah, it's not a blocker because the same behavior is observed on 2020.02 [17:55] and possibly 2020.01, but let me make sure first. [17:56] vrurg, if we can't pave a path to the release by reverting, I'd call it a release precondition, if not blocker. [17:59] just because there was a release with a bug doesn't necessarily mean that it's ok to do more releases with the same bug :) [18:01] AlexDaniel, do you mean dispatch bug or? I am not really fond of the idea of making a release with performance drop, because that'd be a bug itself. [18:01] Altai-man_: let's give it all another two-three days. I'm trying to think something out. [18:01] vrurg, thanks! I'll ping you closer to May then unless you ping me earlier. [18:02] Altai-man_: aha. The problem occupies my brains permanently. [18:06] Altai-man_: no I meant whatever you were talking about right now :) [18:07] Altai-man_: as for the performance drop, yeah, please don't :) [18:08] AlexDaniel, well, sequence I have on mind is: 1)wait for the bug vrurg's considering to be a blocker for his project to be fixed; 2)revert dispatching; 3)release. So I am not seeing where we can do another release with the old bug. I mean, dispatch bugs - yes, but we're between a rock and a hard place anyway. [18:10] *** MasterDuke joined [19:08] AlexDaniel, does bisectable6 have the ability to also bisect moarvm too or no? [19:08] samcv: not yet :( [19:09] fair. i will just compile it myself [19:09] I don't think it's fair x) it's just something that needs to be done [19:09] I attempted it once and I have a good idea on how it should work, but it just needs wörk [19:12] no problem. i may not bisect, just because it didn't work properly ever. (readchars on a file handle, and having .tell give the correct result). but if it would be convient might be interesting. there's the OS level file handle. then moarvm decoder which can cache characters, and read ahead. then there's the rakudo level decoder which also reads ahead and caches characters. and all levels have their own "position" they are at for the abstraction. [19:12] so i guess i shouldn't be super suprised it doesn't work perfectly :) [19:20] *** sena_kun joined [19:22] *** Altai-man_ left [19:51] moritz: hmm, that's going to be a little tricky. I think we may need to do this more async - I'm going to drop some instructions in a gist or something, and then you can ask me questions and I'll answer them when I can [19:56] *** Kaiepi left [19:58] *** Kaiepi joined [20:04] *** guifa2 left [20:24] hoelzro: sure, works for me [20:49] *** guifa2 joined [20:56] *** guifa2 left [21:12] *** patrickb joined [21:13] o/ [21:14] Assuming we'd like to automatically precompile scripts, where could / should we put the precompiled file? [21:16] It seems wrong to put it into share/perl6/site/precomp as the executable itself may well not be installed. [21:17] The only alternative I could come up with was to put it next to the script itself. [21:18] That's similar to what python does with its pyc files. But littering user folder was something we tried to actively avoid by introducing the .precomp folders. [21:19] *** Altai-man_ joined [21:22] *** sena_kun left [21:41] Thinking about this a bit more. Another alternative would be to put it in the `home` CU::Repo. Filling that up with all sorts of script precomps might actually be ok. [21:45] Different question: IIUC a compiler ID is factored into every precomp unit. If so then precomp units can't be shared across different rakudo versions. So when installing a newer rakudo version all precomps have to be recompiled. Am I correct with that assumption? [21:46] patrickb, that sounds right to me [22:04] samcv: Thanks for the confirmation. [22:04] * patrickb is off to bed [22:04] *** patrickb left [23:12] *** Altai-man_ left