🦋 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.
00:08 reportable6 left 00:10 reportable6 joined 02:53 Xliff left 03:35 ggoebel left 05:17 frost joined 06:08 reportable6 left 06:09 reportable6 joined 07:39 nativecallable6 left, greppable6 left, unicodable6 left, benchable6 left, shareable6 left, statisfiable6 left, bisectable6 left, reportable6 left, linkable6 left, bloatable6 left, coverable6 left, notable6 left, sourceable6 left, committable6 left, evalable6 left, releasable6 left, quotable6 left 07:40 coverable6 joined, sourceable6 joined, shareable6 joined, statisfiable6 joined, linkable6 joined, reportable6 joined, releasable6 joined, greppable6 joined 07:41 notable6 joined, bisectable6 joined, unicodable6 joined, benchable6 joined, evalable6 joined 07:42 committable6 joined, quotable6 joined, bloatable6 joined, nativecallable6 joined
Geth nqp: 27d6a33abc | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION
Bump MoarVM for C11 atomics and other fixes
lizmat Files=1352, Tests=117130, 289 wallclock secs (35.82 usr 9.65 sys + 4051.06 cusr 324.89 csys = 4421.42 CPU) 09:02
09:07 linkable6 left, evalable6 left, evalable6 joined 09:09 linkable6 joined
Geth rakudo: 320bc4c721 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION
Bump NQP to get MoarVM C11 atomics and other fixes
09:37 bartolin left, bartolin joined 10:02 Xliff joined
Xliff p6-GLib-Suite compile times: 10:02
Total non-parallel compile times: 8927.66s
Total parallel compile times: 1554.99279354s
Full detail, here: gist.github.com/Xliff/715b2d698091...08959747b1 10:04
lizmat Xliff: I'm more interested how it compares to the last time :-) 10:06
Xliff The spreadsheet handles that. 10:08
lizmat: Just for you ... gist.github.com/Xliff/7a8b2d94eea0...0a4522691f ;) 10:11
lizmat ok, so non-parallel from 9164 -> 8927 10:13
that's 2.5% improvement
1645 -> 1555 that's even more than 5% 10:14
glad to see that :-)
Xliff Me too! 10:19
10:48 ggoebel joined 10:54 frost left 11:52 sena_kun left 11:53 ggoebel left, sena_kun joined
Geth rakudo: bb9d7497b0 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Streamline some CURI private methods

  - just run mkdir, checking in Raku is more expensive. The mkdir
   will only fail if the directory does *not* exist afterwards.
  - reduce calls to get to meta info, also we know at compile time
   that it's going to be an Associative, so use % sigil
  - set the defaults for source and checksum in the signature
11:59 ggoebel joined 12:08 reportable6 left, reportable6 joined 12:17 dogbert11 left 12:33 frost joined 12:37 nebuchadnezzar joined 13:11 sena_kun left 13:15 sena_kun joined 14:24 ggoebel left
[Tux] linking moar 14:49
collect2: error: ld returned 1 exit status
make: *** [Makefile:634: moar] Error 1
between "linking …' and 'collect2 …': 14:50
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: ./libmoar.so: undefined reference to `uv__cloexec_ioctl'
I guess that will disqualify any timing results
15:04 frost left
nine [Tux]: make distclean in MoarVM could help 15:05
Geth rakudo/rakuast: 7a17ab8e6d | (Stefan Seifert)++ | src/Raku/ast/package.rakumod
Less hacky way to declare $?PACKAGE in packages' bodies
Xliff Will zef block output from rakudo subprocesses? If so, how can I bypass this? 15:28
lizmat precompilation does that, afaik 15:29
nine: re CURI, is there a reason why a TWEAK could not just check / create all directories it needs, so we could get rid of a lot of ad-hoc checks in the code? 15:33
if I e.g. look at my "vendor" CURI, it has all directories created, even though nothing ever got installed there 15:42
nine For core, vendor and site, tools/build/upgrade-repository.raku usually creates all the needed directories. 15:50
Custom directories are done one the first write to the repository (i.e. when you install something) 15:51
lizmat but why ? custom directories exists for a reason, no ? 16:01
not just for the sake of it?
so why wouldn't creating a CURI object not: 1. check version, upgrade if necessary, 2. create all directories, possibly bump version to 3, which would mean: all dirs are created 16:02
nine Because you cannot always write on the file system when the CURI object is created. That's why we still have code for reading version 0 repositories. 16:24
16:24 sena_kun left 16:30 sena_kun joined
Geth rakudo/rakuast: 0f494f7516 | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod
Replace runtime lexical lookup of $?PACKAGE with faster WVal on init of our vars

No need to do a lexical lookup when at compilation time we have the desired object already at hand and can just reference it directly. This makes initialization of package scoped variables a tiny bit faster.
18:07 reportable6 left 18:08 reportable6 joined
Geth rakudo: 57a65562d6 | (Elizabeth Mattijsen)++ | src/core.c/IO/Path.pm6
Make IO::Path.mkdir 2x as fast if dir already exists

If the dir does not exist, it is only one cheap existence check extra, which dwarves what is needed to actually make a directory. And since IO::Path.mkdir returns the invocant, one would be inclined to write
  "foo".IO.mkdir.add("bar") to create a file "bar" in a "foo" directory.
This is now significantly faster if the directory already exists.
lizmat fwiw, one would think that an existence check would be the first thing done in the "nqp::mkdir" logic
19:09 sena_kun left
Geth rakudo: 16bac0c64a | (Elizabeth Mattijsen)++ | lib/CompUnit/Repository/Staging.rakumod
Make sure we try the right thing in CURS.resource

Spotted by hythm++
19:26 sena_kun joined
Geth rakudo: 8f7cc08478 | (Elizabeth Mattijsen)++ | src/core.c/CompUnit/Repository/Installation.pm6
Partially revert bb9d7497b05146e1955e918

Restore the directory accessor private methods for now.
  nine++ and ugexe++ for spotting my fallacy wrt to speed of mkdir
rakudo/rakuast: ae3b46ee51 | (Stefan Seifert)++ | 2 files
Un-break class es with methods

Calling meta-object caused weird problems with methods not getting added to the class or getting added multiple times. However we actually don't need a fully initialized meta-object. We only need a reference to the object itself for
  $?PACKAGE and can rely on it getting composed eventually.
20:00 linkable6 left 20:02 linkable6 joined 22:59 Xliff left