🦋 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
|