Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-04-04

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:45 jnap joined #moarvm
00:49 colomon joined #moarvm
01:24 FROGGS_ joined #moarvm
04:14 mateus joined #moarvm
04:43 jnap joined #moarvm
06:40 FROGGS_ jnthn: so moar generated a perl5 script that is able to pick up args like nqp.moarvm and libpaths, and generated a binary like nqp-m...
06:41 FROGGS_ jnthn: if we could let it assimilate the .moarvm files it gets, we could have a standalone nqp/perl6 binary, that runs your program (just needs libmoar)
06:44 nwc10 I believe that that's mostly a small matter of linking
06:45 nwc10 one way is to generate a C source file that is has a char array which is all the bytes
06:45 nwc10 and I guess then change the main() to pass that instead of mapping in a file
06:46 FROGGS_ nwc10: yeah, I know staticperl does that, but I am not C expert enough to now how to do it offhand
06:47 FROGGS_ but well, probably it is not even too hard to do...
06:49 nwc10 the routine that generates files for Encode is here: http://perl5.git.perl.org/perl.git/blob/64470437fdd8d4178fc69d2d0e3a526d2b7d5262:/cpan/Encode/bin/enc2xs#l760
06:49 nwc10 you end up with things like
06:49 nwc10 static const U8 enctable[68325] = { 228,184,145,228,184,144,228,184,141,228,
06:49 nwc10 184,173,228,184,176,228,184,185,228,185,139,229,176,185,228,186,136,228,186,
06:49 nwc10 ...
06:49 nwc10 248,69,248,75,248,77,248,87,248,89,249,93,249,94,249,121,249,177 };
06:53 FROGGS_ I see
06:57 dalek MoarVM/execname: 27229f2 | (Tobias Leich)++ | build/setup.pm:
06:57 dalek MoarVM/execname: do emit pattern for flags where we can
06:57 dalek MoarVM/execname:
06:57 dalek MoarVM/execname: While $(PREFIX) is nice within a Makefile, it is useless when used by NativeCall or similar.
06:57 dalek MoarVM/execname: review: https://github.com/MoarVM/MoarVM/commit/27229f2585
06:58 dalek MoarVM/execname: 772ee63 | (Tobias Leich)++ | / (3 files):
06:58 dalek MoarVM/execname: generate a mor runner generator that builds binaries
06:58 dalek MoarVM/execname: review: https://github.com/MoarVM/MoarVM/commit/772ee63d43
06:59 FROGGS_ the rest comes later, I am going to travel around today and need to pack
07:15 zakharyas joined #moarvm
07:46 jnap joined #moarvm
08:46 jnap joined #moarvm
09:47 jnap joined #moarvm
10:48 jnap joined #moarvm
10:56 FROGGS[mobile] joined #moarvm
11:21 colomon joined #moarvm
11:49 jnap joined #moarvm
12:28 LLamaRider joined #moarvm
12:50 jnap joined #moarvm
13:13 FROGGS[mobile] joined #moarvm
13:50 jnap joined #moarvm
14:01 jnap joined #moarvm
14:05 btyler joined #moarvm
14:48 FROGGS[mobile] joined #moarvm
14:53 FROGGS[mobile] joined #moarvm
17:47 zakharyas joined #moarvm
17:57 FROGGS joined #moarvm
18:09 lee__ would it be easy to make ctrl+d exit the perl6-m repl?
18:09 lee__ i am a creature of habit
18:10 jnthn No idea.
18:11 jnthn Not sure why/how that normally works.
18:11 nwc10 on *nix, the tty driver (in the default mode) maps control-D to be an End Of File
18:12 jnthn ah
18:12 lee__ it seems to work on perl6-j
18:13 * jnthn normally Ctrl+C's out of it :)
18:14 jnthn I suspect it's fisable
18:14 jnthn *fixable
18:14 lee__ moving my finger one row is a lot to ask! :P
18:14 jnthn ;)
18:16 timotimo jnthn: did you see my benchmarks over in #perl6?
18:16 timotimo http://t.h8.lv/p6bench/2014-04-04-lexloc-spesh.html
18:16 jnthn timotimo: I started looking by my phone doens't like that page much
18:16 jnthn Let's see what my laptop thinks... :)
18:18 jnthn Dammit, concat is so crappy on Moar
18:18 jnthn I need to have go to war with the string code.
18:21 jnthn timotimo: Wow, parse-json got 4 times faster
18:21 nwc10 concat - 2 strings enter, 1 string leaves?
18:23 jnthn tbh, I'm not sure many of those benchmarks really benefit a load from lex2loc
18:23 jnthn As in, can benefit
18:24 jnthn Rakudo's CORE.setting build seemed to get some benefit.
18:36 jnthn timotimo: In the Rakudo benchmarks, is blue or orange spesh?
18:37 timotimo oh, those?
18:38 timotimo that's a good Q
18:38 jnthn http://t.h8.lv/p6bench/2014-04-03-spesh.html
18:38 jnthn It just has two sha-1s :)
19:35 timotimo it seems like i accidentally ran master twice
19:36 timotimo on the 3 one
19:36 timotimo jnthn, what is your next recommendation for spesh that i could do?
19:38 jnthn timotimo: I dunno. I need to catch up with what you have already done :)
19:38 jnthn timotimo: And put in the arg spesh.
19:38 jnthn Er, arg type that is.
19:38 timotimo that is what you will do, aye?
19:38 dalek MoarVM/execname: a91a888 | (Tobias Leich)++ | build/gen-moar-runner.pl.in:
19:38 dalek MoarVM/execname: strip Win32 specific block from gen-runner script
19:38 jnthn yeah
19:38 dalek MoarVM/execname:
19:38 dalek MoarVM/execname: We should be able to build the nqp/perl6 binary on Windows as well,
19:38 dalek MoarVM/execname: so we do not need to create batch files.
19:38 dalek MoarVM/execname: review: https://github.com/MoarVM/MoarVM/commit/a91a8885ce
19:38 dalek MoarVM/execname: 17a54d6 | (Tobias Leich)++ | build/Makefile.in:
19:38 dalek MoarVM/execname: install the gen-runner script to PREFIX/bin
19:38 dalek MoarVM/execname: review: https://github.com/MoarVM/MoarVM/commit/17a54d6bf9
19:38 timotimo is that in o(today)?
19:38 jnthn but I think it may force me to do de-opt too
19:38 jnthn No, I should fix lex-loc on other backends today
19:38 timotimo ah, sounds likely
19:39 jnthn Can you tell me more about your r-m failure on that branch
19:39 timotimo okay
19:39 jnthn because I just did a completely clean build of the lot here
19:39 jnthn And all was good.
19:39 timotimo will have to wait a few
19:39 timotimo having dinner now
19:39 jnthn np
19:39 jnthn I'm gonna have to detrain now anyway.
19:51 btyler joined #moarvm
20:39 timotimo i'm back to where i can use my computer
20:40 * jnthn is back home :)
20:43 jnthn Hm, on jnthn-lex-loc I just got lowest Rakudo build time I've seen on Moar, especially since we added the conc stuff into the setting.
20:46 timotimo Stage start      :   0.000
20:46 timotimo Stage parse      : make: *** [CORE.setting.moarvm] Segmentation fault
20:46 timotimo but this is *with* spesh
20:47 jnthn Oh
20:47 jnthn No, don't do it with spesh too
20:47 jnthn Though that means you're regressed spesh.
20:48 jnthn *you've
20:48 jnthn :(
20:48 timotimo oops :|
20:48 jnthn Not too many patches before the last one I put in, it would spectest Rakudo with no (or almost no) regressions against moar master too
20:49 timotimo should i try to hunt that regression?
20:50 jnthn Would be nice, yeah.
20:50 jnthn I just got a good moar spectest on jnthn-lex-loc too
20:50 jnthn So, the blocker on that is going to be hunting how I broke Parrot and JVM.
20:51 timotimo OK
20:51 timotimo i figured spesh may be rather far away from being merged into master anyhow
20:51 jnthn I wasn't planning to put it off too long.
20:52 timotimo oh
20:52 timotimo if worst comes to worst, i'll unapply my changes for the time being and put them into a branch until i can stabilize them
21:01 * jnthn had to build an up-to-dater Parrot and a Parrot NQP, which...takes longer than building a Moar one.
21:01 jnthn Building a Parrot Rakudo now
21:01 jnthn oh dan
21:01 jnthn *damn
21:02 jnthn It changed the nqp branch :/
21:18 jnthn timotimo: I got the npmca
21:30 jnthn timotimo: Fixed it I think
21:30 jnthn timotimo: But bloody hell, r-m's *entire Rakudo build* takes less time these days than stage parse on Parrot.
21:31 japhb jnthn: That tells me two things: 1) Yay for moarvm performance!  2) We need more NQP- and Rakudo-level optimizations now.  :-)
21:33 jnthn japhb: We need more opts up and down the stack :)
21:45 jnthn timotimo: yeah, looking good on Parrot for jnthn-lex-loc now. Looking into JVM, dreaming the fix I already did nails it there too :)
21:48 jnthn darn :(
21:58 jnthn mebbe found it
22:02 jnthn You know you had it coming when the line that explodes reads "my $hack; ..."
22:07 japhb heh
22:09 jnthn Yeah, NQP is happy now. Time for the Rakudo JVM build and spectest. :)
22:09 jnthn Then this lex-loc thing may well be mergeable.
22:13 lizmat yeah!  something for the next weekly!
22:16 jnthn Rakudo build is fine. Into the spectest now :)
22:22 timotimo \o/
22:24 timotimo some firewall between me and my desktop at home is preventing me from doing the benchmark
22:24 timotimo and i seem to have just planned out the whole following day
22:29 timotimo commutation time
23:07 dalek MoarVM/spesh: 13444c1 | jnthn++ | src/spesh/ (2 files):
23:07 dalek MoarVM/spesh: Fix build on MSVC.
23:07 dalek MoarVM/spesh: review: https://github.com/MoarVM/MoarVM/commit/13444c1d49
23:12 timotimo d'oh, i've done it again
23:20 jnthn The less known Britney Spears song...
23:20 timotimo i think there may be some more debug output in there. should i hunt and remove that stuff?
23:20 timotimo oh yikes, 0120 already
23:24 timotimo the time savings we measure in the spectests are mostly from compiling stuff, right?
23:24 timotimo there's not terribly much win once we're running normal Perl 6 code, right?
23:26 jnthn timotimo: Right.
23:26 jnthn Unless you eval :)
23:26 jnthn timotimo: Well, I'm doing some args.c hacking at the moment
23:29 timotimo i'm going to sleep soon
23:30 timotimo will just see how much memory a fresh rakudo-m -e 'say 1' will eat after lex-loc.
23:33 timotimo huh, interesting
23:33 timotimo Error while compiling, type X::Undeclared::Symbols
23:33 timotimo with a very unhelpful expansion of the attributes
23:34 timotimo this is for core.setting in parrot, fwiw
23:34 timotimo maybe something didn't properly get #if'd?
23:34 jnthn Worked fine for me just a moment ago...
23:35 jnthn But I hadn't pulled the recent lizmat++ patches
23:35 jnthn So could be those
23:35 timotimo 86568maxresidentk ; i wonder what the last values was
23:35 timotimo irclog to teh rescue
23:36 timotimo hm.
23:37 timotimo 2014.01: 104104maxresident
23:37 timotimo 2014.02: 88976maxresident
23:37 * timotimo offs to beds
23:38 jnthn 'night
23:48 dalek MoarVM/spesh: 47d41bf | jnthn++ | src/spesh/args.c:
23:48 dalek MoarVM/spesh: Simplify/cleanup optional args spesh handling.
23:49 dalek MoarVM/spesh: review: https://github.com/MoarVM/MoarVM/commit/47d41bfa57
23:49 dalek MoarVM/spesh: 42b9ab0 | jnthn++ | src/spesh/manipulate.c:
23:49 dalek MoarVM/spesh: Don't fiddle dominator tree in successor removal.
23:49 dalek MoarVM/spesh:
23:49 dalek MoarVM/spesh: Might break facts traversal, and doesn't influence the code-gen in the
23:49 dalek MoarVM/spesh: end.
23:49 dalek MoarVM/spesh: review: https://github.com/MoarVM/MoarVM/commit/42b9ab0c3f
23:49 dalek MoarVM/spesh: 65d8d18 | jnthn++ | src/spesh/optimize.c:
23:49 dalek MoarVM/spesh: Look at type, not value, in method resolution.
23:49 dalek MoarVM/spesh: review: https://github.com/MoarVM/MoarVM/commit/65d8d18b73

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary