Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2014-05-05

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

All times shown according to UTC.

Time Nick Message
00:06 benabik joined #moarvm
00:53 timotimo tadzik: it could very well be the hash/list access optimization that got your code to run much faster?
00:56 tadzik timotimo: possibly. I wasn't really following what happened last week
00:59 FROGGS_ joined #moarvm
01:00 jnap joined #moarvm
02:00 jnap joined #moarvm
02:16 FROGGS_ joined #moarvm
02:25 donaldh joined #moarvm
02:46 btyler joined #moarvm
03:01 jnap joined #moarvm
04:02 jnap joined #moarvm
04:10 hoelzro joined #moarvm
05:03 jnap joined #moarvm
05:57 nwc10 Stage start      :   0.000
05:57 nwc10 Stage parse      : 5297.137
05:57 nwc10 Stage syntaxcheck:   0.024
05:57 nwc10 Stage ast        :   0.042
05:57 nwc10 Stage optimize   : 2670.905
05:58 nwc10 firmly into swap
05:58 nwc10 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
05:58 nwc10 1  3 416420   4304    800   1136 2087  188  2087   192 1681 2010  2 11  0 87  0
05:58 nwc10 using <512M of swap
06:03 jnap joined #moarvm
06:46 FROGGS joined #moarvm
07:04 jnap joined #moarvm
07:18 nwc10 frustratingly I've lost the ssh tunnel back to it, so no updates until I go home
07:49 FROGGS :/
07:49 FROGGS morning nwc10
08:05 jnap joined #moarvm
08:50 zakharyas joined #moarvm
09:06 jnap joined #moarvm
09:36 brrt joined #moarvm
10:07 jnap joined #moarvm
10:37 colomon loliblogged: http://justrakudoit.wordpress.com/2014/05/05/rakudobrew/
10:41 FROGGS colomon: "So, last night I tried to more the module smoke tester to using rakudobrew." Is that sentence correct?
10:44 colomon clearly not
10:45 colomon refresh.  ;)
10:45 colomon FROGGS++
10:49 brrt hmm... i can't for the life of me seem to make ld take an .o and output an elf
10:49 brrt not that it matters much since one can always use gcc foo.s and have it work
11:01 moritz colomon++
11:07 jnap joined #moarvm
11:14 timotimo colomon: it doesn't seem like justrakudoit is on the planet; you can ask [Coke] to add it
11:16 colomon timotimo: it was on it last time I checked.
11:16 timotimo OK
11:16 timotimo it didn't appear in my feed reader for some reason
11:16 timotimo maybe it just takes a bit more time to propagate
11:21 timotimo colomon: if you have some leftover time, i'd be interested to see you pit the script from your last blog post against the three rakudos we have today
11:22 timotimo among other things, assigning to hash items has been dramatically improved
11:36 masak colomon++ # http://justrakudoit.wordpress.com/2014/05/05/rakudobrew/
12:05 colomon joined #moarvm
12:08 jnap joined #moarvm
12:22 brrt https://github.com/bdw/dasm-example :-)
12:23 * brrt off
12:23 brrt left #moarvm
12:31 FROGGS dasm-example$ ./a.out
12:31 FROGGS hello, world
12:31 FROGGS works :o)
12:36 * [Coke] reviewingly hugs brrt.
12:45 colomon m: my $mix = (a => 3, b =>2).Mix; say $mix.roll.perl
12:45 7F1AAEDN9 rakudo-moar fd5f8e: OUTPUT«("a",).list␤»
12:45 camelia rakudo-moar fd5f8e: OUTPUT«("a",).list␤»
12:46 colomon shouldn't that just be "a"?
12:48 lizmat good question
12:49 timotimo maybe we should differentiate between method roll() and method roll(int $count)?
12:49 lizmat it's implementat as a gather/tale
12:49 lizmat *take
12:49 lizmat possibly
12:50 timotimo well, not int but Cool and .Int it :)
12:50 lizmat the gather/take for n = 1
12:50 lizmat seems like rather overkil
12:50 timotimo aye
12:50 lizmat I'll do it in a few mins
12:50 lizmat unless someone beats me to it  :-)
13:09 jnap joined #moarvm
13:19 colomon joined #moarvm
13:27 colomon ack, wrong channel.  apologies
13:38 btyler joined #moarvm
14:07 jnap joined #moarvm
14:08 jnap left #moarvm
14:10 jnap joined #moarvm
14:12 LLamaRider joined #moarvm
14:25 donaldh joined #moarvm
14:28 woolfy left #moarvm
14:30 woolfy joined #moarvm
14:53 jnap1 joined #moarvm
16:01 FROGGS joined #moarvm
16:41 nwc10 All tests successful.Files=22, Tests=271, 371 wallclock secs ( 2.03 usr  0.33 sys + 347.41 cusr 13.55 csys = 363.32 CPU)
16:41 nwc10 and the earlier stuff
16:41 tadzik that's 'make test'?
16:42 nwc10 yes
16:42 tadzik (on rakudo?)
16:42 nwc10 the earlier stuff:
16:42 nwc10 Stage optimize   : 2670.905
16:42 nwc10 Stage mast       : 23752.723
16:42 nwc10 Stage mbc        : 420.320
16:42 tadzik neat
16:42 tadzik nwc10++
17:02 jnthn good lord, that's a lot of time
17:02 jnthn oh, but swap?
17:09 nwc10 I think it did. Haven't checked the vmstat logs
17:11 nwc10 highest swap seems to be 457724
17:12 jnthn huh, that's less than a meg...
17:12 jnthn Wait, is that bytes or kilobytes?
17:12 nwc10 it's only a 32 bit system :-)
17:12 nwc10 K
17:12 jnthn oh.
17:12 jnthn yeha, that's a lot :P
17:12 nwc10 half a gig
17:12 nwc10 I wasn't surprised
17:12 jnthn Being off by a thousand sure makes a number look good sometimes :P
17:12 nwc10 I can see ways we might (and I stress might) reduce MoarVM memory use
17:12 nwc10 but they'd be trade offs
17:13 nwc10 and right now, I don't think that they are important
17:13 nwc10 current Pis have 512M
17:13 jnthn Well, yeah. I already mentioned the 4-8 more bytes off every object thing.
17:13 nwc10 it's not like most folks *building* are going to be on resource constrained hardware
17:13 nwc10 binary packages...
17:13 nwc10 the O(n) for the setting seems most useful first
17:13 jnthn aye
17:14 jnthn Not sure if I'll find tuits tonight
17:14 jnthn I can knock a $dayjob task off tonight though, which might make some for tomorrow :)
17:14 nwc10 and then speed and completeness stuff before RAM reduction
17:14 nwc10 I think
17:14 jnthn And got at least one full day on Thu or Fri for Perl 6.
17:14 nwc10 I think it's more important to get concurrency reliable, and closer to the speed ballpark, than to shave RAM
17:15 nwc10 after all, PyPy seems to be a complete hog, and that's not hurting it yet
17:15 nwc10 "your snake, it seems to have eaten an entire boar"
17:15 jnthn *nod*
18:05 btyler joined #moarvm
18:19 nwc10 just to say, fucking git fucking submodules
18:19 FROGGS yepp
18:19 nwc10 Cannot rebase: Your index contains uncommitted changes.
18:20 nwc10 OK, so how do I reset the submodule to get rid of the '-dirty'
18:20 nwc10 because it's not intutitive
18:20 FROGGS ohh, I'd like to know that too
18:20 FROGGS masak / jnthn: can we get a git lesson?
18:21 benabik cd into the submodule and `git reset`?
18:21 benabik Perhaps reset --hard
18:21 nwc10 no
18:23 benabik Perhaps I misunderstand the problem.
18:24 benabik Ah.  It also complains about untracked files, which reset won't remove.
18:24 nwc10 actually, I am *also* guilty of not fully reading that error message
18:25 nwc10 but the submodules are so so so annoying beacuse they don't follow the same "rules" as files for stash and add
18:25 nwc10 ensuring that one messes up a rebase workflow, particularly a rebase interactive
19:10 masak FROGGS: hm, `git reset --hard` combined with `git clean -xdf` usually clears everything, equivalent to a fresh clone.
19:12 benabik I often ponder that git-submodules suck because they aren't dogfooded.  Git.git uses subtree merges to manage outside sources.
19:19 brrt joined #moarvm
19:19 nwc10 All tests successful.
19:20 nwc10 real    69m46.365s
19:20 nwc10 user    68m9.490s
19:20 nwc10 sys     0m28.070s
19:21 nwc10 OK, starting Rakudo. This might take some time...
19:22 FROGGS nice, I have a rakudo-star-2014.04-moar.msi here now O.o (besides the parrot one)
19:23 nwc10 actually, to quote my daughter "I know that already", in that, if NQP is failing on the first action
19:23 nwc10 then it's reading existing bootstrap MVM files
19:23 nwc10 so it's a VM level failure
19:23 nwc10 and attempting to build stuff elsewhere is not going to work any better
19:23 nwc10 because that's exactly what's already going wrong - failing to cope with stuff built elsehwere
19:24 FROGGS yeah, true
19:25 nwc10 anyway, I'm guessing that Win32 has the same alignment constraints as ARM
19:25 nwc10 in that long long aligns to 8 bytes
19:38 * jnthn will be very happy if Win x86 is also fixed by this work.
19:39 jnthn It'd been on my todo list for a while, but never quite made it to the top. :)
19:41 FROGGS jnthn: I am building a j* also, and then an allstar
19:41 FROGGS (msi)
19:42 jnthn allstar! :D
19:45 lizmat FROGGS++
19:46 lizmat jnthn: I think your braindump in S17 wrt Supply.methods is now done
19:46 lizmat the only thing I can think of atm are:
19:46 lizmat Supply.sample
19:46 lizmat Supply.percentage
19:46 FROGGS btw, I had a nasty but interesting problem yesterday (involving windows, shipping dlls, and compiling stuff)
19:47 FROGGS the prebuild DLLs were build 2011, and use free() from a crt from that day
19:47 FROGGS but when we build Perl 5 Modules using XS, which link these DLLs, the have a malloc that resolves to a newer crt
19:47 jnthn lizmat: Does that mean I need to braindump some more? :)
19:48 FROGGS and as I understand it that it mallocs on another heap than it frees...
19:48 jnthn FROGGS: oh my.... :)
19:48 jnthn FROGGS: *that* will be fun :)
19:48 FROGGS something like this was the fix: _msvcrt_malloc = (malloc_t)GetProcAddress(GetModuleHandle("msvcrt"), "malloc");
19:49 lizmat jnthn: please do if you feel like it
19:49 jnthn lizmat: We don't have anything like the Rx GroupBy yet, I guess?
19:49 * lizmat checks
19:49 jnthn lizmat: Also CombineLatest but...I don't like CombineLatest in Rx.
19:49 jnthn lizmat: I've felt I work around it as much as I use it as intended. So I think we might do better.
19:51 lizmat wrt GroupBy, am I correct in assume this mores when everything is done ?
19:52 jnthn No
19:52 jnthn It mores supplies iirc
19:52 jnthn So when you see a new group you more a supply for that group
19:52 lizmat aha
19:52 lizmat ok
19:52 jnthn And each thing within that group is more'd into that supply
19:52 lizmat gotcha
19:53 lizmat Supply.group >
19:53 lizmat ?
19:53 jnthn It's like an anti-migrate in the sense that instead of SoS => S, it's an S => SoS
19:53 jnthn Well, .categorize may be a 6ier name for it?
19:53 lizmat hehe...
19:53 jnthn Given that's what the dual on lists is...I think.
19:53 * lizmat checks
19:55 lizmat can an incoming value be mored on more than one supply ?
19:55 jnthn With a group by? Not afaik.
19:55 lizmat ok, so it's more like classify then
19:55 jnthn I mean, there's nothing to stop a combinator that does that existing.
19:55 jnthn Oh...
19:55 lizmat I guess we can do both
19:56 jnthn Yeah, I always mix up classify and categorize.
19:56 jnthn :)
19:56 lizmat I guess we need both
19:56 jnthn if we have them both on lazy lists, their duals on supplies seem sane, yes
19:58 benabik Supply[Foo].classify :( sub (Foo ==> Bar) ==> Supply[Pair[Bar,Supply[Foo]]] ) ?
19:58 benabik i.e it takes a function from foo to bar, and returns a supply of pairs of bar and supplies of foo?
19:59 brrt this is starting to look like scala?
19:59 lizmat hopefully better  :-)
20:00 benabik P6 and Scala cover similar domains: a mix of functional and OO as their core.  But Scala is staticly typed and P6 dynamic.
20:01 benabik That was my attempt to write it in something of a P6 fashion, and I guess I hit something Scala-esque.  My original was more ML:
20:01 benabik Supply['a].classify :: ('a -> 'b) -> Supply['b => Supply['a]]
20:18 nwc10 Pi at stage Parse
20:18 nwc10 Stage start      :   0.000
20:18 nwc10 that one is so deceptive :-)
20:38 nwc10 to the tune of "I feel pretty" - I hear swapping, so much swapping
20:38 nwc10 etc
20:38 FROGGS *g*
20:46 lizmat .... and gay!
20:46 lizmat :-)
20:47 lizmat another word that has changed meaning over the years (at least for younger people): madonna
20:47 jnthn She's that pop star thats like a virgin, right? :P
20:47 btyler joined #moarvm
20:49 [Coke] nwc10-- for getting that song stuck in my head.
20:49 FROGGS nwc10++ # I enjoyed reading the mails :o)
20:50 lizmat There's a West Side to every Story :-)
20:50 jnthn http://localhost:51822/Beer/SubmitReview/4
20:50 jnthn uh, gah, not *this* window...
20:58 FROGGS hehe
21:04 nwc10 it's frustrating that the USB driver is sufficiently crap that one can't use network swap on the Pi
21:05 nwc10 (Ethernet runs over the internal USB hub)
21:05 nwc10 as network swapping to SSD might be faster
21:06 nwc10 FROGGS: if you confirm that the patches build on Win32 (and anything else) you might want to apply them
21:06 nwc10 build, test, etc
21:09 FROGGS nwc10: I will do that after $sleep, I can test on four boxes: ubuntu x86, ubuntu x86_64, Windows XP x86 and Windows 7 64bit
21:09 nwc10 that sounds an excellent foursome
21:09 FROGGS and I am glad that I don't have to test parrot or jvm :o)
21:24 nwc10 to be more accurate, that was the ideal 4, as I think that it covers everything that we think ought to be working currently
21:25 nwc10 Stage parse      : 5493.118
21:25 nwc10 I should go to bed
21:25 jnthn 'night
21:25 nwc10 that's about 200 seconds slower than the previous run
21:25 nwc10 random swap is random, I'd guess
21:26 nwc10 er, random disk access is random
21:26 nwc10 peak swap in the terminal that I can see is 302800
21:26 nwc10 but it drops at times a bit
21:28 tadzik that's an SD card, isn't it?
22:12 jnthn Got all my $dayjob errands done, but too tired to look at nwc10++ patches tonight. Won't have $dayjob errnads tomorrow evneing, so will do it then :)
22:12 jnthn 'night
23:09 colomon joined #moarvm

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