[00:00] I'm quite surprised since I tought raku would be faster than perl when dealing with ints [00:01] nah it's more than 10x slower [00:01] more like 12x [00:02] *** reportable6 left [00:03] *** reportable6 joined [00:03] lots of garbage collection [00:07] Hello! First, for good discussion, please choose a nick that is not insulting to the channel members. Second, it is off hours for the channel, so don't expect responses immediately. Third, the startup time of rakudo is more than the runtime of the perl call, so you're not getting a good comparison of runtime speed. Fourth, Raku has a builtin for that operation. :-) [00:08] japhb I'm pretty sure that the problem here is not startup time [00:09] For the $int case, half of your runtime is startup. [00:09] just run it longer by adding zeros to the rangfe [00:09] it's still the same performance ratio [00:10] I think that the real differnce is that perl consider += a single operation while raku expands it to a = a + b [00:10] that is not the same unless the compiler is smart enough [00:10] in optimizing [00:13] *** pussies_slayer_9 is now known as immoral_hazard [00:13] I hope this is new nick is not as offensive [00:14] Better, I think. [00:18] In any case, if you're interested in trying to figure out what all is going on, you might want to look at the output of `raku --target=ast` and `raku --target=optimize` and see what the compiler is making of the code. [00:18] (perl has modules that do similar things, but I haven't used them in quite a long time, so I don't know what is current) [00:21] I've seen the output of that, it seems quite simple [00:22] * japhb shrugs [00:23] QAST is undergoing a from-scratch rewrite next year. [00:23] Well, that's the current plan, anyway [00:23] cool [00:24] I suspect that escape analysis will help more with my example [00:24] immoral_hazard: That's also on a short list to be upgraded. :-) [00:25] bench: my $int += $_ for 0..300000 [00:25] tonyo, No new data found [00:30] *** immoral_hazard left [01:57] *** discord-raku-bot joined [02:36] *** frost joined [03:00] Next release in ≈6 days and ≈15 hours. 4 blockers. Please log your changes in the ChangeLog: https://github.com/rakudo/rakudo/wiki/ChangeLog-Draft [03:36] *** releasable6 left [03:36] *** evalable6 left [03:36] *** linkable6 left [03:37] *** releasable6 joined [04:04] *** squashable6 left [05:04] *** quotable6 left [05:04] *** shareable6 left [05:04] *** bisectable6 left [05:04] *** nativecallable6 left [05:04] *** greppable6 left [05:04] *** releasable6 left [05:04] *** tellable6 left [05:04] *** unicodable6 left [05:04] *** reportable6 left [05:04] *** statisfiable6 left [05:04] *** sourceable6 left [05:04] *** bloatable6 left [05:04] *** notable6 left [05:04] *** committable6 left [05:04] *** coverable6 left [05:04] *** benchable6 left [05:05] *** bloatable6 joined [05:06] *** benchable6 joined [05:06] *** nativecallable6 joined [05:06] *** statisfiable6 joined [05:07] *** tellable6 joined [05:07] *** coverable6 joined [05:07] *** greppable6 joined [05:56] *** frost left [06:00] *** frost joined [06:05] *** unicodable6 joined [06:05] *** squashable6 joined [06:05] *** shareable6 joined [06:05] *** committable6 joined [06:06] *** sourceable6 joined [06:39] *** evalable6 joined [07:04] *** reportable6 joined [07:05] *** bisectable6 joined [07:07] *** quotable6 joined [07:38] *** linkable6 joined [08:07] *** releasable6 joined [08:07] *** notable6 joined [08:23] *** frost left [09:20] *** MasterDuke joined [09:24] benchable6: releases my $int += $_ for 0..300000 [09:24] MasterDuke, starting to benchmark the 59 given commits [09:26] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:27] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:27] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:27] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:27] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:27] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:27] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:27] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:28] MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect [09:28] MasterDuke, «hit the total time limit of 240 seconds» [09:28] * MasterDuke should work on benchable6 some... [09:36] *** Colt left [10:06] perl -e 'my $int += $_ for 0..300_000_000' # 6.201s [10:06] raku -e 'use nqp; my int $int += nqp::unbox_i($_) for 0..300_000_000;' # 2.116s [10:08] raku -e 'loop (my int $i = 0; $i < 300_000_000; $i++) { my int $int += $i }' # 2.344s [10:36] *** linkable6 left [10:36] *** evalable6 left [10:50] ¦ nqp/remove_callsite_flat_named_flag: 420cb4dd3b | (Stefan Seifert)++ | 13 files [10:50] ¦ nqp/remove_callsite_flat_named_flag: Replace flatnamed arg flag by flat | named [10:50] ¦ nqp/remove_callsite_flat_named_flag: [10:50] ¦ nqp/remove_callsite_flat_named_flag: No need to have a separate flag when the combination of the existing flags [10:50] ¦ nqp/remove_callsite_flat_named_flag: means the same thing. Will free up the flat for other use in MoarVM. [10:50] ¦ nqp/remove_callsite_flat_named_flag: review: https://github.com/Raku/nqp/commit/420cb4dd3b [10:51] *** Geth left [10:51] *** Geth joined [11:37] *** linkable6 joined [11:52] Files=1349, Tests=117874, 316 wallclock secs (35.45 usr 9.57 sys + 4367.72 cusr 350.38 csys = 4763.12 CPU) [11:59] *** patrickb joined [12:02] *** reportable6 left [12:03] *** reportable6 joined [12:38] *** evalable6 joined [14:08] *** Colt joined [14:26] *** Colt left [14:27] *** Colt joined [14:30] *** Colt left [14:31] *** Colt joined [14:32] *** Colt left [14:34] *** Colt joined [14:34] *** Colt left [14:34] *** Colt joined [14:35] *** Colt left [17:30] *** linkable6 left [17:30] *** reportable6 left [17:30] *** notable6 left [17:30] *** evalable6 left [17:30] *** unicodable6 left [17:30] *** bisectable6 left [17:30] *** sourceable6 left [17:30] *** shareable6 left [17:30] *** quotable6 left [17:30] *** releasable6 left [17:30] *** statisfiable6 left [17:30] *** tellable6 left [17:30] *** benchable6 left [17:30] *** coverable6 left [17:30] *** squashable6 left [17:30] *** bloatable6 left [17:30] *** nativecallable6 left [17:30] *** greppable6 left [17:30] *** committable6 left [17:30] *** unicodable6 joined [17:31] *** benchable6 joined [17:32] *** coverable6 joined [17:32] *** nativecallable6 joined [17:32] *** evalable6 joined [17:33] *** tellable6 joined [17:33] *** reportable6 joined [17:33] *** releasable6 joined [18:02] *** reportable6 left [18:05] *** reportable6 joined [18:31] *** bloatable6 joined [18:32] *** greppable6 joined [18:32] *** sourceable6 joined [18:32] *** statisfiable6 joined [18:33] *** linkable6 joined [18:33] *** committable6 joined [19:31] *** notable6 joined [19:33] *** shareable6 joined [19:33] *** bisectable6 joined [19:33] *** squashable6 joined [20:10] *** vrurg left [20:13] *** vrurg joined [20:17] ¦ Slang-Roman: 8852a1e1cd | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | README.md [20:17] ¦ Slang-Roman: MD fixes [20:17] ¦ Slang-Roman: review: https://github.com/raku-community-modules/Slang-Roman/commit/8852a1e1cd [20:18] *** Geth left [20:18] *** Geth joined [20:19] *** [Coke] left [20:22] *** [Coke] joined [20:41] *** Geth joined [20:53] *** Geth left [20:53] *** Geth joined [21:33] *** quotable6 joined [23:00] Next release in ≈5 days and ≈19 hours. 4 blockers. Please log your changes in the ChangeLog: https://github.com/rakudo/rakudo/wiki/ChangeLog-Draft [23:20] *** patrickb left