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 |