🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
pussies_slayer_9 I'm quite surprised since I tought raku would be faster than perl when dealing with ints 00:00
nah it's more than 10x slower 00:01
more like 12x
00:02 reportable6 left 00:03 reportable6 joined
pussies_slayer_9 lots of garbage collection 00:03
japhb 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:07
pussies_slayer_9 japhb I'm pretty sure that the problem here is not startup time 00:08
japhb For the $int case, half of your runtime is startup. 00:09
pussies_slayer_9 just run it longer by adding zeros to the rangfe
it's still the same performance ratio
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
in optimizing
00:13 pussies_slayer_9 is now known as immoral_hazard
immoral_hazard I hope this is new nick is not as offensive 00:13
japhb Better, I think. 00:14
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)
immoral_hazard I've seen the output of that, it seems quite simple 00:21
japhb shrugs 00:22
QAST is undergoing a from-scratch rewrite next year. 00:23
Well, that's the current plan, anyway
immoral_hazard cool
I suspect that escape analysis will help more with my example 00:24
japhb immoral_hazard: That's also on a short list to be upgraded. :-)
tonyo bench: my $int += $_ for 0..300000 00:25
benchable6 tonyo, No new data found
00:30 immoral_hazard left 01:57 discord-raku-bot joined 02:36 frost joined
releasable6 Next release in ≈6 days and ≈15 hours. 4 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 03:00
03:36 releasable6 left, evalable6 left, linkable6 left 03:37 releasable6 joined 04:04 squashable6 left 05:04 quotable6 left, shareable6 left, bisectable6 left, nativecallable6 left, greppable6 left, releasable6 left, tellable6 left, unicodable6 left, reportable6 left, statisfiable6 left, sourceable6 left, bloatable6 left, notable6 left, committable6 left, coverable6 left, benchable6 left 05:05 bloatable6 joined 05:06 benchable6 joined, nativecallable6 joined, statisfiable6 joined 05:07 tellable6 joined, coverable6 joined, greppable6 joined 05:56 frost left 06:00 frost joined 06:05 unicodable6 joined, squashable6 joined, shareable6 joined, 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, notable6 joined 08:23 frost left 09:20 MasterDuke joined
MasterDuke benchable6: releases my $int += $_ for 0..300000 09:24
benchable6 MasterDuke, starting to benchmark the 59 given commits
MasterDuke, benchmarked the given commits and found a performance difference > 10%, now trying to bisect 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:28
MasterDuke, «hit the total time limit of 240 seconds»
MasterDuke should work on benchable6 some...
09:36 Colt left
nine 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
raku -e 'loop (my int $i = 0; $i < 300_000_000; $i++) { my int $int += $i }' # 2.344s 10:08
10:36 linkable6 left, evalable6 left
Geth nqp/remove_callsite_flat_named_flag: 420cb4dd3b | (Stefan Seifert)++ | 13 files
Replace flatnamed arg flag by flat | named

No need to have a separate flag when the combination of the existing flags means the same thing. Will free up the flat for other use in MoarVM.
10:50
10:51 Geth left, Geth joined 11:37 linkable6 joined
lizmat Files=1349, Tests=117874, 316 wallclock secs (35.45 usr 9.57 sys + 4367.72 cusr 350.38 csys = 4763.12 CPU) 11:52
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, Colt left, Colt joined 14:35 Colt left 17:30 linkable6 left, reportable6 left, notable6 left, evalable6 left, unicodable6 left, bisectable6 left, sourceable6 left, shareable6 left, quotable6 left, releasable6 left, statisfiable6 left, tellable6 left, benchable6 left, coverable6 left, squashable6 left, bloatable6 left, nativecallable6 left, greppable6 left, committable6 left, unicodable6 joined 17:31 benchable6 joined 17:32 coverable6 joined, nativecallable6 joined, evalable6 joined 17:33 tellable6 joined, reportable6 joined, releasable6 joined 18:02 reportable6 left 18:05 reportable6 joined 18:31 bloatable6 joined 18:32 greppable6 joined, sourceable6 joined, statisfiable6 joined 18:33 linkable6 joined, committable6 joined 19:31 notable6 joined 19:33 shareable6 joined, bisectable6 joined, squashable6 joined 20:10 vrurg left 20:13 vrurg joined
Geth Slang-Roman: 8852a1e1cd | (Juan Julián Merelo Guervós)++ (committed using GitHub Web editor) | README.md
MD fixes
20:17
20:18 Geth left, Geth joined 20:19 [Coke] left 20:22 [Coke] joined 20:41 Geth joined 20:53 Geth left, Geth joined 21:33 quotable6 joined
releasable6 Next release in ≈5 days and ≈19 hours. 4 blockers. Please log your changes in the ChangeLog: github.com/rakudo/rakudo/wiki/ChangeLog-Draft 23:00
23:20 patrickb left