Geth perl6.org: 5b26af2750 | (Zoffix Znet)++ (committed using GitHub Web editor) | source/resources/index.html
P6F is now published
03:02
rakudo/nom: aca4b941ce | (Stefan Seifert)++ | lib/NativeCall.pm6
Save 2 method calls per NativeCall call

There are obviously too many calls involved.
09:06
[Tux] This is Rakudo version 2017.07-132-gabf1cfe72 built on MoarVM version 2017.07-320-g600c2e9c
csv-ip5xs 2.682
test 12.188
test-t 3.685 - 3.724
csv-parser 14.414
nine [Tux]: that was before the commit I just pushed, wasn't it?
[Tux] 10:57:18 09:07
so most probably yes, I'll run it again, just for you :)
nine :) 09:16
[Tux] This is Rakudo version 2017.07-133-gaca4b941c built on MoarVM version 2017.07-320-g600c2e9c
csv-ip5xs 2.315
test 12.367
test-t 3.763 - 4.085
csv-parser 14.749
nine Nice!
[Tux] look at the other numbers. It is probably within the wow-and-flutter noise margin 09:17
nine I haven't seen csv-ip5xs < 2.5 in quite a while
And all other numbers are larger than before
[Tux] running a third time 09:18
This is Rakudo version 2017.07-133-gaca4b941c built on MoarVM version 2017.07-320-g600c2e9c 09:25
csv-ip5xs 2.329
test 12.049
test-t 3.691 - 3.736
csv-parser 14.107
nine Still looks good :)
[Tux] yes 09:31
timotimo nine: that's not really "two method calls per nativecall call", though? it's 1 + 1 / $times-called per nativecall call :P 10:15
oh
.signature and .arity
d'oh
AlexDaniel Hm, interesting. perl6 -e 'say 42' is ?6ms faster with MVM_SPESH_DISABLE=1 10:37
doesn't look like a lot but in these 6ms you can run perl5 -wE 'say 42' :) 10:38
timotimo i don't know how to get time to display more accuracy than 0.01s 10:39
AlexDaniel timotimo: well… run something in a loop, divide by the number of iterations… 10:42
but what shell are you using?
timotimo fish
but i believe fish actually gives me /usr/bin/time
AlexDaniel well, if you run something in bash, then I believe you'll get 0.001s accuracy by default 10:43
timotimo indeed 10:44
how do i get it to show the wallclock time? 10:45
AlexDaniel I think “real” is exactly that
timotimo ah, ok
yes, looks like
AlexDaniel I wanted to try some other shell for a while, and fish looked very promising… until I realized that it does not have ctrl+r 10:46
almost all commands I run start with ctrl+r (yay for infinite bash history). Bummer. 10:47
timotimo yeah, it takes a bit of getting used to how you do that in fish
but now i miss how fish does it in other programs
AlexDaniel well, you can't do *that* in fish, there's no recursive search that you can continue adjusting when you're already in it 10:48
timotimo oh
that's true 10:49
Geth_ star: stmuk++ created pull request #96:
be less misleading the README shown on github so people less likely to mistake the RBS (Ridiculous Build System) ;-) for the star distro tarball itself
11:16
star: 1e7ee75684 | (Steve Mynott)++ | 3 files
be less misleading the README shown on github so people less likely to mistake the RBS (Ridiculous Build System) ;-) for the star distro tarball itself
11:17
star: 694f91ca0c | (Steve Mynott)++ (committed using GitHub Web editor) | 3 files
Merge pull request #96 from stmuk/master

Be less misleading with the README shown on github so people less likely to mistake the RBS (Ridiculous Build System) ;-) for the star distro tarball itself
Geth 6.d-prep: 6578f69c5b | (Zoffix Znet)++ (committed using GitHub Web editor) | TODO/README.md
See if we can nail down the META6.json spec
11:18
jnthn Zoffix++ # love the improved modules.perl6.org 12:30
Zoffix \o/
lizmat domm.plix.at/perl/2017_08_what_i_e...ework.html # not sure this was mentioned already here 13:36
yoleaux 5 Aug 2017 23:10Z <eater[sha2017]> lizmat: You may like this: github.com/the-eater/shinit
nine Is there a way to replace a routine's for a faster result than mixing in a role with a CALL-ME method? I would like to avoid the overhead of checking a NativeCall sub's arguments against the stub's arity. 14:35
Skarsnik stub arity? 15:01
timotimo how many parameters you're allowed to pass 15:05
Skarsnik: this is about nativecall installing a CALL-ME to handle passed arguments and call nqp::nativecall to actually do the call into C 15:08
nine: ideally we'd generate code at compile time for every "is native" routine instead of having a single CALL-ME handle calls for every single native routine 15:09
Skarsnik hm
should be doable at compile time to determine the thing needed to do the C call (outside the library) 15:10
timotimo hm? 15:11
nine timotimo: yes. Seems strange that we only setup the routine on the first call instead of immediately. 15:12
timotimo that's a property i'd actually like to keep (at least accessible)
nine why? 15:13
timotimo though it might be preferable to have a function specifically to check if a symbol exists
yeah, i take back my earlier comment
Skarsnik I mean to prepare the vm to run the sub, you need to setup thing like compilo mangler and other stuff?
You only need to know the actual .so to run it, so it can be later if I remember correctly 15:14
timotimo hm, do we have a function that tries to figure out what kind of mangling is needed?
Skarsnik well the code is already there, otherwise it would not work
just need to change when it's called 15:15
timotimo one thing that's bad for performance is that CALL-ME is basically invisible to spesh 15:17
there's a forwarder that gets called with the arguments and that calls CALL-ME for us by just passing on the capture
i don't think the forwarder is visible to spesh, either, but i'm not sure about that 15:18
it might have to learn about invocation protocols or something
but that'll only make the forwarder a bit better that calls into CALL-ME
nine Isn't even creating the Capture work we'd like to avoid? We can only use positional arguments anyway. 15:19
Skarsnik hm
yeah, even c++ class mapping use positionnal
timotimo it might not create a full perl6-level capture object
nine Right now I'm pretty sure it does 15:20
timotimo OK
jdv79 is the tags feature of modules.perl6.org curated in any way?
timotimo i don't think so
nine my Mu $args := nqp::getattr(nqp::decont(args), Capture, '@!list');
in CALL-ME
timotimo it just pulls what's in the META6.json files
oh, i meant the forwarder in front of CALL-ME
jdv79 so i could put "howdy doody" in a tag and it'll show up on the front page? 15:21
that's funny if so
Skarsnik yeah
but it only most "popular" one by default 15:22
+show
jdv79 so it is "curated"
timotimo „curated” 15:23
m: say "curated" ~~ /.+/
camelia ?curated??
jdv79 Z, WIP, FUN, VALID, SILLY, PERL6, INSTALLABLE - some interesting ones in the mix already 15:25
timotimo Z, WIP, FUN, VALID, SILLY, PERL6, INSTALLABLE - pick any 4 15:27
Zoffix jdv79: no, they're not curated 18:15
jdv79: other than this automated thing: github.com/perl6/modules.perl6.org...iases.json 18:16
and those that have 3 dists that use them get displayed on the home page by default, the rest are hidden: github.com/perl6/modules.perl6.org...#L161-L162 18:17
That magic number will get higher as we grow an 18:18
s/an$//
japhb Zoffix: modules.perl6.org/t/TERMINAL does not contain Terminal::Print. How did that list get created? 18:19
Zoffix japhb: by module authors using the "standard" meta key: github.com/briandfoy/perl6-chemist...6.json#L20 18:20
Well, it's standard, just not in roast yet
japhb Ah. Interesting.
OK, what about default tagging -- e.g. adding English words from the module's name to the tags (perhaps only if there was no tags key in the META6)? 18:22
Or maybe that functionality belongs in mi6 ....
Zoffix mi6, I'd say
IMO there's little point in trying to guesstimate the tag. The search feature already searches the names. 18:23
japhb Does skaji have the same name here?
Zoffix no idea
japhb Zoffix: But the tag cloud currently forms an attractive nuisance: People will see a word that they associate with whatever they're looking for, and click on it immediately, not realizing they will get less complete results than the search. 18:24
Zoffix But I can click the "Z" tag and get the dist that was tagged with it, instead of getting any dist that has "z" in its name or description. 18:25
japhb Not that I think the tag cloud should go away, just that we need to make sure it won't lead people down the wrong path when trying to find something -- having mi6 auto-fill the tags should help
Zoffix Just maybe label it that it's module author tags or something 18:26
japhb Zoffix: Oh, agreed. But would you expect something like 'Z::Machine' to have the 'Z' tag? :-)
Zoffix And on results also add a link "search for BLAH" 18:27
I don't know what "Z" is in that context.
japhb Infocom's old standard for interactive fiction interpreters
Skarsnik hm interesting, this seems to stale skarsnik@debian:~/perl6/rakudo$ LD_PRELOAD=/usr/lib/libefence.so make test
japhb Zoffix: Yes, I like the idea of adding a "search for BLAH" on the tag results page 18:28
Skarsnik lol it deleted the content of my rakudo folder 18:39
lizmat commute to Amsterdam& 19:11
Skarsnik Ok libefence made make test stale 20:02
I wonder if it's because of the perl call 20:03
Dunno if this interesting gist.github.com/Skarsnik/1f08516c0...6cd47eebf8 20:08
timotimo if efence puts one page before and after every allocation, it could end up mapping a crapton of pages 20:19
Skarsnik how can I build moar to have the debug symbols btw? 20:31
Zoffix Skarsnik: if my memory serves me right... (from rakudo's checkout): cd nqp/MoarVM; perl Configure.pl --prefix=../../bin --debug=3; make -j8; make install; cd ../.. 20:33
Skarsnik: if my memory serves me right... (from rakudo's checkout): cd nqp/MoarVM; perl Configure.pl --prefix=../../install --debug=3; make -j8; make install; cd ../..
the second one
Skarsnik: if my memory serves me right... (from rakudo's checkout): cd nqp/MoarVM; perl Configure.pl --prefix=../../install/bin --debug=3; make -j8; make install; cd ../.. 20:34
one of those... I think the third one :)
Skarsnik do I need to rebuild everything? 20:36
rakudo perl6 build is so confusing xD
Zoffix No just that command 20:37
Skarsnik good :) 20:39
#6 0x00007ffff767a71b in MVM_malloc (size=0) at src/core/alloc.h:2
yeah that sucks to execute that x)
jnthn Why? 20:42
yoleaux 19:49Z <brrt> jnthn: i need to rethink how to disable the jt compiler at build time, now that it is so much larger than before
Skarsnik calling malloc for 0 byte seems strange
jnthn It's implementation defined whether it returns NULL or a pointer, and free will work out either way
So long as you don't try to use the memory it's fine
Skarsnik why not returning NULL and avoid the malloc call? 20:43
or not even call stuff in this case
jnthn Why duplicate a check that's already going to take place?
timotimo you have to store the "how many bytes do i have" in some way anyway and if that comes up to be 0 you won't be accessing any memory anyway (usually) 20:44
jdv79 does anyone have experience using I::P5 with a lot of async? 20:49
last time i tried it was not a good situation
Skarsnik I hate/love efence 20:50
timotimo you know, when you compile moarvm with --asan it'll also install little redzones around fixedsizeallocator made allocations 20:51
though they aren't explosive if you touch 'em
Zoffix jdv79: haven't had any issues. IIUC you need to compile your perl with -Dusemultiplicity tho 20:55
perlbrew install perl-5.26.0 --notest -Duseshrplib -Dusemultiplicity 20:56
perlbrew switch perl-5.26.0
Skarsnik damn, I hate crash in macro x) 21:03
AlexDaniel mmm, classic thing github.com/rakudo/rakudo/blob/nom/...ion.pm#L26 22:01
writeable or writable? Both are correct, but rakudo has “writable” in all error messages but this method name is writeable
( php.net/manual/en/function.is-writeable.php ) 22:02
LPT don't use “write?able” when naming methods :) 22:03
Geth rakudo: AlexDaniel++ created pull request #1130:
Spellcheck
22:10
AlexDaniel m: say Date.today.later(:3camelia) 22:12
camelia Cannnot use unit camelia with Date.delta? in block <unit> at <tmp> line 1??
Geth rakudo/nom: bf7063d1ae | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/core/Exception.pm
“Cannnot” ? “cannot”

This was found during my failed attempt to pass the source code through the spell checker. It is failed because:
  * This is practically all I was able to find.
  * There is no quick way to reproduce the results.
  * I can't guarantee that I didn't miss anything, particularly
   because I forgot to ?git pull? before doing the work… (so it is
   hundreds of commits behind ????)
rakudo/nom: c3da74d804 | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/core/CompUnit/PrecompilationRepository.pm
“Precomping” ? “Precompiling”

I wouldn't argue that “precomping” is not a word we can use, but
  “precompiling” is used everywhere else in the same file.
rakudo/nom: da4a0f50ac | (Zoffix Znet)++ (committed using GitHub Web editor) | 2 files
Merge pull request #1130 from AlexDaniel/spellcheck

Spellcheck
jdv79 MoarVM panic: Internal error: zeroed target thread ID in work pass 23:50
what does it mean?
timotimo memory corruption 23:52
possibly
could be something's writing past an object's body into the next body's header
not sure if anything else would manipulate the thread id or set it to 0 23:53
there's a #define in moarvm's src/gc/debug.h that you can increase to make moar slower but pick up problems like that much earlier
jdv79 oh ok 23:54