🦋 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.
nine And bartolin_` 06:04
And bartolin_++
Geth rakudo/safe-snapper: 87152ebabc | (Elizabeth Mattijsen)++ | 3 files
Introduce -Msafe-snapper

Snapper functionality that allows you to press Control-c and *still* get a Telemetry report. Removes that functionality from -Msnapper.
Problem with Control-c safety is that it will start up the supervisor thread to handle the pressing of Control-c, which causes extra load and reduces the number of available threads, thus affecting the Telemetry data.
08:33
rakudo: lizmat++ created pull request #4502:
Introduce -Msafe-snapper
lizmat notable6: weekly 11:17
notable6 lizmat, 7 notes: gist.github.com/1dd129040d3f199857...1ef65537c2
lizmat notable6: weekly reset 11:18
notable6 lizmat, Moved existing notes to “weekly_2021-08-23T11:18:09Z”
timo avi.im/blag/2021/fast-sqlite-inserts/ i wonder if anybody wants to take this as bait :) 12:14
lizmat: how does snapper without safe- prevent the supervisor thread from spawning? i thought it snaps at fixed intervals, which also requires a ThreadPoolScheduler or similar? 12:15
lizmat it starts its own thread, outside of the ThreadPiool
*ThreadPool 12:16
and does a sleep X in there
and /me is not taking the bait :-) 12:17
timo ah, smort 12:18
stradivarius timo: funny that python is slow at loops (it's as slow as perl) considering that the function level variable scope could have theoretically saved the creation of a frame for each cycle (that is what consumes time in Perl). Or am I missing something? 12:22
lizmat and another Rakudo Weekly News hits the Net: rakudoweekly.blog/2021/08/23/2021-34-stabler/ 12:29
timo we're core devs, so in theory we can directly use the signal nqp op to push data into a channel we monitor from a regular thread rather than a thread pool scheduler 12:40
guffiardon: i'm not sure about the implementation of loops in cpython 12:41
guffiardon timo: as someone that often fell the need of doing mathematical operations in loops, I often wondered why Python loops are so slow. 12:46
for perl I asked core devs and they told me it's because of frame creation
but for python I don't really see this as an explanation, unless they made a mess somewhere else that still require that 12:47
people advise to use Julia for those kind of operation, that is semi-compiled, but in fact it is often possible to express loops through heavily optimized matrix-vector operations 12:49
and I stick to python to keep a decent ecosystem
timo rakudo on moarvm can get around the frame creation, especially if the loop body itself is simple 12:50
guffiardon I noticed that
timo if you have interesting benchmarks in the form of code that you think should be fast but that turn out not to be, we're always interested in those 12:51
guffiardon timo: yea quite frankly I think it is a bit still early for that, I'm following your interesting developments 13:11
about your article, they could have tried to compare Python to Node. It would have been more honest than comparing apples to oranges 13:19
your article = the article you linked
timo right 13:21
v8 is also pretty well optimized
personally, i would have put the random value generation into the sql statements perhaps. i imagine there's some functions in sqlite that let you generate the table they want from a single statement
nine Like: insert into user select value, abs(random() % 900000) + 100000, (abs(random()) % 3 + 1) * 5, (abs(random()) % 2) from generate_series(1, 100000000, 1); 13:50
timo it does look like the original wants leading zeroes as well 13:55
but yeah, basically 13:56
Geth nqp/new-disp: 2908bbd493 | (Stefan Seifert)++ | 2 files
Revert "Bring hllize tests into the dispatcher world"

This reverts commit cb740482345cb84befb436951903dd42a5289137.
17:46
nqp/new-disp: 1c31ba867b | (Stefan Seifert)++ | 6 files
Split out dispatcher based tests into moar vs jvm editions
rakudo/new-disp: e7bd8a61f3 | (Stefan Seifert)++ | src/Perl6/bootstrap.c/BOOTSTRAP.nqp
Hide my long past as a Perl programmer (remove perlisms)
17:58