»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend! Set by sorear on 25 June 2013. |
|||
00:00
rurban1 joined
00:01
rurban left
|
|||
segomos | ow | 00:01 | |
00:20
woolfy left
00:23
mtj_ left
00:27
mtj_ joined
00:31
xenoterracide joined
00:39
doesthiswork joined
00:40
doesthiswork left
00:57
araujo joined
01:04
hoverboard left
01:23
klapperl left
01:25
klapperl joined
02:03
lustlife joined
|
|||
TimToady | rosettacode.org/wiki/Forest_fire#Perl_6 <-- a much faster forest fire | 02:03 | |
masak | morning, #perl6 | 02:04 | |
lue | 02:08 | ||
TimToady | build it, and they will come | 02:10 | |
masak | TimToady: how was 北京? are you back from .cn? | 02:13 | |
TimToady | it was a lot of fun, and we met a lot of nice people | 02:14 | |
and yes, we're back home | |||
02:14
BenGoldberg joined
|
|||
TimToady | or I wouldn't be posting to RC, since I couldn't make it work from .cn | 02:14 | |
masak | huh. | 02:15 | |
02:15
Ben_Goldberg joined
|
|||
masak is still in .cn, but business has transitioned to leisure somewhere along the way :) | 02:15 | ||
TimToady | not RC itself, but apparently CloudFlare is a problem | ||
masak | oh, that makes more sense. | ||
02:18
Ben_Goldberg left
02:19
Ben_Goldberg joined
02:28
xragnar_ joined,
xragnar is now known as Guest73366,
Guest73366 left,
xragnar_ is now known as xragnar
02:30
telex left
|
|||
JimmyZ | visiting github is a problem too in cn :) | 02:30 | |
masak | :/ | ||
TimToady | I was able to get there some of the time | 02:31 | |
masak | while here, one realizes that GFW is not always as simple as shutting you off. there's also (a) slow you down to a crawl, and (b) provide intermittent contact. | ||
TimToady | yes, I saw both of those behaviors | ||
02:32
telex joined
|
|||
JimmyZ | yes, it most slows you by block the sub domains | 02:32 | |
02:32
autark left
|
|||
masak | I've always assumed that the underlying reasons were political, but lately I've been wondering if they're not largely commercial. | 02:33 | |
JimmyZ | so people will think it's the website's issue | ||
02:33
autark joined
|
|||
TimToady | yeah, I think that's certainly true wrt google | 02:33 | |
masak | Baidu and YouKu and Weibo florish within China, and they might not have done so to the same extent had Google and YouTube and Twitter/Facebook worked. | ||
s/might/would/ | 02:34 | ||
02:35
segomos is now known as tony-o
|
|||
dalek | osystem: 2f6df3b | segomos++ | META.list: Update META.list add web::scraper |
02:38 | |
02:38
dayangkun left
02:39
dayangkun joined
|
|||
JimmyZ | well, it's political, baidu works well because contents can be deleted from there. but can't from google youtube github etc | 02:39 | |
02:40
tony-o is now known as segomos
|
|||
masak | ...for a definition of "works well" which is definitely set by the Chinese authorities :) | 02:42 | |
JimmyZ | :) | ||
masak | I'll concede that it's impressive, the scale of what they're doing. | 02:43 | |
JimmyZ | hehe | ||
bonsaikitten | it's quite amusing because it's all "voluntary" | 02:47 | |
but, eh, you wouldn't want to lose your website operator license, eh? EH? :D | 02:48 | ||
02:53
Ben_Goldberg left,
Ben_Goldberg joined
02:55
Ben_Goldberg left,
Ben_Goldberg joined
03:06
hoverboard joined
03:09
plobsing joined,
anaeem1__ left
03:10
anaeem1 joined
03:15
dayangkun left
03:20
BenGoldberg is now known as \Ben\,
Ben_Goldberg is now known as BenGoldberg,
\Ben\ is now known as Ben_Goldberg,
anaeem1 left
03:21
anaeem1 joined
03:25
anaeem1 left
03:27
havenwood joined
03:31
xenoterracide left,
xenoterracide joined
03:33
dayangkun joined
03:47
xenoterracide left
03:48
kaare_ joined
03:54
ziyang joined
03:55
kivutar joined
04:08
havenwood left
04:11
BenGoldberg_ joined
04:12
MayDaniel left,
BenGoldberg left,
BenGoldberg_ is now known as BenGoldberg
04:13
Ben_Goldberg left,
logie_ left
04:14
logie_ joined
04:24
SamuraiJack_ joined
04:30
Psyche^_ joined
04:34
Psyche^ left
04:37
cooper left
04:38
cooper joined,
cooper left,
cooper joined
04:40
kaare_ left
04:44
anaeem1 joined
|
|||
dalek | ast: c8a5683 | (Andrew Egeler)++ | S06-other/main-usage.t: Fix main-usage tests The order of arguments to is_run look wrong here. |
04:57 | |
05:06
kaare_ joined
05:11
BenGoldberg left
05:17
thou left
05:27
kivutar left
05:41
ziyang left
05:48
rurban1 left
06:02
Pleiades` left
06:03
vendethiel left,
vendethiel joined
06:07
Pleiades` joined
06:11
AW3i joined
06:12
isacloud_ left
06:13
isacloud__ joined
06:16
kaleem joined
06:48
rurban joined
06:51
havenwood joined,
darutoko joined
06:53
AW3i left,
rurban left
|
|||
sergot | morning ! | 07:00 | |
07:00
lizmat left
07:05
telex left
07:06
telex joined
|
|||
timotimo | morning | 07:06 | |
07:10
Ven_ joined
07:14
lustlife left
07:16
lustlife joined
07:23
ribasushi left
07:27
ribasushi joined
07:28
zakharyas joined,
denis_boyun_ joined
07:30
AW3i joined
|
|||
Woodi | hallo :) | 07:30 | |
timotimo | guten morgen woodi | ||
07:32
sftp left
|
|||
Woodi | pmurias: about Graal: just got such impression: Graal is api to messing with already preprocessed code, just like reflections/MOP. other purpose but infrastructurally it's looks like MOP | 07:34 | |
07:35
sftp joined
07:37
lizmat joined
07:38
dmol joined
|
|||
Woodi | also I had shocking/horroring dream... err... backlog... so many native things around so I unconsciously assumed scalars are 1 to 4 bytes, generally, for not collection-like things... but now they are 8 bytes smaller! so how big they realy are ???!! ;) | 07:40 | |
timotimo | might be huge | 07:41 | |
Woodi | yea, strings are scalars too :) | ||
just wonder about overhead | |||
timotimo | can't find the code for the scalar container right now | ||
Woodi | btw. this morning I was reading about en.wikipedia.org/wiki/Flyweight_pattern maybe it can help sometimes ? this trade some state for "outside" calculations | 07:43 | |
timotimo | hmm. | 07:46 | |
07:46
raiph joined
|
|||
timotimo | if we move stuff away behind a pointer so that it can be shared, we get a little indirection every time we access that | 07:46 | |
(unless we access a bunch of them in sequence) | 07:47 | ||
07:48
woolfy joined
|
|||
raiph | www.youtube.com/playlist?list=PLRu...FwobZHdXdK # A freshly curated list of decent Perl 6 videos on YouTube | 07:50 | |
Ven_ | raiph++ # was looking at some yesterday ! | 07:51 | |
timotimo | oh, cool! | ||
hmm. i could use my lovely voice to make some perl6 videos, too | 07:52 | ||
07:53
havenwood left
|
|||
raiph | I've omitted a lot of videos with poor audio, video, presentation style, etc. or that are basically redundant or have too many aspects that are out of date, etc. | 07:53 | |
timotimo | that's excellent work! | 07:54 | |
now that you've got an overview, do you know what in particular is missing? | |||
raiph | sleep? | ||
timotimo | hahaha :) | ||
i meant in terms of videos | 07:55 | ||
Ven_ .oO( Just understood the TimToady joke ... ) | |||
07:56
sftp left
|
|||
lizmat | Files=801, Tests=31029, 189 wallclock secs ( 8.24 usr 3.58 sys + 1263.37 cusr 89.76 csys = 1364.95 CPU) | 07:59 | |
yeah, under 190 seconds! | |||
08:00
sftp joined
|
|||
moritz still gets the non-zero wait status for lots of S17 tests (and one advent test) in m-spectest | 08:01 | ||
08:02
molaf left
08:04
hoverboard left
|
|||
lizmat | moritz: is this about t/spec/S17-concurrency/lock.t ? | 08:04 | |
or about thread.t ? | 08:05 | ||
raiph | timotimo: I'll think about that tomorrow | ||
timotimo | thank you kindly :) | ||
Ven_ kinda would like more recent perl 6 videos - but then again, one only has so much time | |||
timotimo | well, videos about what exactly? :) | 08:06 | |
lizmat | jnthn: seems like the thread.t failure is related to changes in ++ | ||
Ven_ | timotimo: Perl 6 ;) | ||
timotimo | you know as well as i do that perl 6 is a very big topic :) | 08:07 | |
raiph | Ven: have you seen perlcabal.org/syn/S07.html#Levels_of_laziness ? | 08:08 | |
Ven_ | that was a way to say "really, anything you have to say about it" -- I'm pretty sure you could talk about how irc logs are made and still make an interesting talk :) | ||
timotimo | ah, so you haven't seen any of my talks then! | ||
dalek | ast: 84c6f41 | (Elizabeth Mattijsen)++ | S17-concurrency/thread.t: Skip possibly faulty test on moar |
08:09 | |
Ven_ | raiph: I have ! (I don't know how much I remember from the synopses, but I've read them all). I just know that on some parts (esp. parts like that), the spec might not match the implem. | ||
raiph | k | ||
Ven_ | timotimo: perl6casts.org o/ | 08:10 | |
Can you consider breaking that could never have worked, a breaking change ? | 08:11 | ||
For example, let's say I had "my Int $a; onlytakesbool($a);" in a sub that's never executed when perl6 didnt check that, does it count as a breaking change ? | 08:12 | ||
masak | p6: class Foo { has $.color }; my $foo = Foo.new :color<blue>; say $foo.color | 08:13 | |
camelia | rakudo-jvm e49859: OUTPUT«(timeout)» | ||
..rakudo-parrot e49859, rakudo-moar e49859, niecza v24-109-g48a8de3: OUTPUT«blue» | |||
masak | wow, I'm a little surprised that doesn't TTIAR. | ||
timotimo | p6: class Foo { has $.color }; my $foo = Foo.new() :color<blue>; say $foo.color | ||
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859, niecza v24-109-g48a8de3: OUTPUT«blue» | ||
timotimo | that's how adverbs do | ||
08:14
molaf joined,
slavik left
08:15
lustlife left
|
|||
masak | right. so it happens to work in this particular case. it wouldn't work for positional arguments, though. | 08:15 | |
08:15
lustlife joined
|
|||
masak | that's why I was only "a little surprised" :) enough to make me do a double take. | 08:15 | |
timotimo | yeah | ||
what surprises me a little bit is this: | |||
jnthn | morning o/ | 08:16 | |
timotimo | r: class Foo { method do_it($a, $b, *%foo) { say $a; say $b; say %foo } }; Foo.new.do_it(1, 2) :hi :bye | ||
masak | jnthn! \o/ | ||
camelia | rakudo-parrot e49859, rakudo-moar e49859: OUTPUT«12("hi" => Bool::True, "bye" => Bool::True).hash» | ||
..rakudo-jvm e49859: OUTPUT«12("bye" => Bool::True, "hi" => Bool::True).hash» | |||
timotimo | did you know about this feature, masak? | 08:17 | |
masak backlogs over PYTHONLOVER's "WHY CANT I SLAP PEOPLE WITH FISH!!]" outburst, and laughs | |||
timotimo: guess I did. | |||
timotimo: ...but I've never used it. | |||
jnthn | lizmat: The thread.t failure is a race of some kind, and it could occur occasionally before; we've got somewhat more efficient now and so the probability of the race taking place is way higher. | ||
timotimo | me neither | ||
it has a quite big chance to WAT the reader IMO | |||
Ven_ | Why is the order nonderministic ? | ||
and basically, :delete is a named argument to access_pos ? | 08:18 | ||
08:18
fhelmberger joined
|
|||
jnthn | Ven_: %foo is a hash, thus non-determinism. | 08:18 | |
masak | Ven_: the order is nondeterministic because if it weren't, hash lookup wouldn't be efficient. | ||
Ven_: yes, basically, :delete is a named argument | |||
Ven_ | fair enough! | 08:19 | |
masak | there's a certain beauty to it. | ||
timotimo | see the irclog for a very small implementation of an ordered hash | ||
like two to four months ago | |||
lizmat | :delete is just short for (delete => True) | ||
Ven_ | that's a log of backlog | ||
timotimo | you can search through it :) | ||
jnthn | lizmat: Oh...I see the problem. | ||
lizmat: The test is too fragile. | |||
lizmat | yes, that's why I skipped it | 08:20 | |
we've had this discussion before | |||
jnthn | lizmat: No, as in, there's a one-line change that makes it fine. | ||
08:20
woolfy left
|
|||
lizmat | ah? | 08:20 | |
which would be? | |||
jnthn | -my $seen; | ||
Ven_ | I do agree :). Yesterday I created a little file to do some perl6, and really, `multi MAIN` is the future :D. | ||
jnthn | +my $seen = 0; | ||
timotimo | i agree, it's very, very nice to have | 08:21 | |
jnthn | lizmat: It races to vivify, but between the multi-dispatcher deciding on the candidate and the chosen one being invoked, the thing changes. | ||
Ven_ | r: sub MAIN('update', $key, Bool $:delete) {} | ||
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileIn signature parameter, placeholder variables like $:delete are illegalyou probably meant a named parameter: ':$delete'at /tmp/tmpfile:1--…» | ||
Ven_ | well I typo, but really cool. | ||
jnthn | lizmat: If we initialize the var it works out consistently fine here. | 08:22 | |
lizmat | ok, will change | ||
timotimo | aye, the way it does type intuition from strings is really really helpful, too | ||
dalek | ast: adda017 | (Elizabeth Mattijsen)++ | S17-concurrency/thread.t: Initializing prevents the race to initialize, jnthn++ |
08:23 | |
lizmat | sightseeing and commuting& | ||
jnthn | lizmat: have fun | 08:24 | |
08:24
lizmat left,
havenwood joined
08:27
slavik joined
08:36
rurban joined
08:37
havenwood left
08:40
rurban left
08:41
virtualsue joined
|
|||
Ven_ | (the concurrency bug was basically autoviviying int to 0 ?) | 08:48 | |
09:06
lustlife left
|
|||
dalek | rl6-bench: ad5af18 | (Timo Paulssen)++ | perl6/rc-forest-fire: bless doesn't like the whatever star any more. |
09:13 | |
09:13
denis_boyun_ left
|
|||
jnthn | .oO( video killed the whatever star... ) |
09:14 | |
09:15
AW3i left
09:21
lustlife joined
09:31
rindolf joined
09:32
havenwood joined
09:37
havenwood left,
rurban joined
09:42
plobsing left,
rurban left
09:45
lustlife left
09:57
sjn_ is now known as sjn
10:00
lustlife joined
10:01
raiph left
10:12
woosley left
10:13
denis_boyun_ joined
|
|||
dalek | kudo/varopt: 5cb47e4 | jnthn++ | src/Perl6/Optimizer.nqp: Make $*LEVEL in optimizer an attribute. Saves a bunch of contextual lookups. |
10:18 | |
kudo/varopt: f392d69 | jnthn++ | src/Perl6/Optimizer.nqp: Avoid duplicating QAST::Node.unique(...) logic. |
|||
kudo/varopt: 95889b7 | jnthn++ | src/Perl6/Optimizer.nqp: Toss a JVM-only optimization. It's covered by the much more general lexical-to-local lowering, which we should just make work on the JVM. |
|||
10:24
AW3i joined
10:31
AW3i left
10:33
havenwood joined
10:37
havenwood left
10:39
rurban joined
10:42
lustlife left,
lustlife joined
10:43
rurban left
11:03
rindolf left
11:06
segomos left
11:12
segomos joined
|
|||
dalek | kudo/varopt: d37f507 | jnthn++ | src/Perl6/Optimizer.nqp: Bring in var tracking code from NQP's optimizer. Will need various tweaks and extensions for use with full-blown Perl 6, but it'll provide a known-good starting point. |
11:27 | |
kudo/varopt: e359997 | jnthn++ | src/Perl6/Optimizer.nqp: Break optimizer up into a few classes. Having it as a single 1,200-line class was already getting hard to manage, so before adding more to it start breaking a few things out. This breaks symbol handling and junction optimization out into two separate classes. |
|||
11:34
havenwood joined
11:38
jtpalmer_ left,
havenwood left
11:44
jtpalmer joined
|
|||
Ven_ | RT 121626 | 11:45 | |
Ven_ -- how's that you write it | |||
dalek | kudo/varopt: c24dea0 | jnthn++ | src/Perl6/Optimizer.nqp: Break error/warning reports out of main optimizer. |
11:47 | |
jnthn | Death to the God object! | ||
RT#121626 | |||
synopsebot | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121626 | ||
jnthn | Ven_: ^^ | ||
Ven_ | jnthn: Thanks ! | 11:48 | |
tadzik | hah | 11:51 | |
someone says's something just for synopsebot to reply :) | |||
Ven_ | I figured out he'd feel a little alone these days :) | 11:52 | |
11:54
fhelmberger left
11:56
fridim_ joined
|
|||
masak | jnthn: having a God object pain threshold as low as 1,200 LoC probably makes you fairly unique in some way. :) jnthn++ | 11:59 | |
jnthn | masak: Well, the better sign is if you compute method usage/attribute usage and find disjoint sets :) | 12:03 | |
masak: Though I guess that one is more SRP-ish | 12:04 | ||
(as in, you can find smaller violations) | 12:05 | ||
IllvilJa | tadzik: just uninstalled the Ubuntu packaged rakudo, and cloning/configuring/building rakudobrew-moar as you sugested. Wish me good luck :-). | ||
masak | jnthn: I suppose God objects tend to break SRP ;) | 12:07 | |
jnthn | masak: Oh, totally. Just on an epic scale. | 12:08 | |
IllvilJa | God roles is the answer. Then you incorporate ALL your code (almost) in the role, then let your God object use it. That way you can claim you use roles to improve your code :-). | 12:09 | |
12:09
fridim_ left
|
|||
tadzik | IllvilJa: I wish you luck :) | 12:10 | |
dalek | kudo/varopt: 99671e9 | jnthn++ | src/Perl6/Optimizer.nqp: Start bringing in variable decl/use tracking. |
12:15 | |
12:15
anaeem1__ joined
12:17
anaee____ joined
12:18
hdsw joined
12:19
anaeem1 left
12:21
anaeem1__ left
12:23
djanatyn1 joined
12:24
lee_ joined,
djanatyn left,
Grrrr joined
12:29
hdsw left
12:34
havenwood joined
12:35
xenoterracide joined,
Alina-malina left
|
|||
sergot | r: sub a($b?, *%c) { say $b; say %c; } | 12:38 | |
camelia | ( no output ) | ||
sergot | r: sub a($b?, *%c) { say $b; say %c; }; a(1, abc => 123); | ||
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«1("abc" => 123).hash» | ||
sergot | r: sub a($b?, *%c) { say $b; say %c; }; a(abc => 123); | ||
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«(Any)("abc" => 123).hash» | ||
12:39
havenwood left
|
|||
sergot | r: sub a($b?, *%c) { say $b; say %c; }; a(); | 12:39 | |
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«(Any)().hash» | ||
IllvilJa | tadzik: is there some good way to control where rakudobrew will finally install the executables? | 12:40 | |
12:40
rurban joined
|
|||
IllvilJa | Or will it always put perl6 under ..../moar-HEAD/install/bin/perl6? | 12:41 | |
12:42
xfix joined
|
|||
tadzik | IllvilJa: not really | 12:42 | |
IllvilJa: but they'll be copied to .rakudobrew/bin | |||
or: should be | |||
12:45
rurban left
|
|||
IllvilJa | Actually, my intent was to create a system-wide install of the rakudo perl6, and thought it was a better idea to use ~/Installs/rakudo as an intermediate staging directory than ~/.rakudo. | 12:48 | |
My thought was that the rakudobrew script somehow allowed me to specify perl6 to live under /usr/local or so. | |||
Now it installed everything under ~/Installs/moar-HEAD/install which is a bit unwieldy to use in the path (even if technically possible). | 12:49 | ||
(Nothing is copied to be directly under ~/Installs/rakudo though). | 12:50 | ||
dalek | kudo/varopt: 319509a | jnthn++ | src/Perl6/Actions.nqp: Immediate blocks don't need a $*DISPATCHER. This also saves the takedispatcher instruction in all of them. Adds up 34KB saving on CORE.setting.moarvm, and a some thousands less QAST nodes during compilation. Also means less instructions to execute at runtime. |
||
jnthn | Whoa, 2 grammar fails in one commit message | 12:51 | |
12:52
anaee____ left
|
|||
IllvilJa | Also, I'm trying to get a system wide install of Rakudo with a working panda so having one in my home directory is not a perfect solution (but it might do for a while). | 12:52 | |
Also, it seems like there is no 'panda' installed anywhere. | 12:54 | ||
action realize he is just sitting there whining. | 12:55 | ||
IllvilJa realize he is just sitting there whining. | |||
(and can't even handle irc ;-) ) | |||
12:56
guru joined
12:57
guru is now known as Guest47525,
Guest47525 is now known as ajr_
12:58
xenoterracide left
|
|||
dalek | kudo-star-daily: ba09fd4 | coke++ | log/ (5 files): today (automated commit) |
13:06 | |
rl6-roast-data: 3d9e9f5 | coke++ | / (5 files): today (automated commit) |
|||
13:07
kaare_ left
|
|||
[Coke] | .seen lue? | 13:07 | |
yoleaux | I haven't seen lue? around. | ||
[Coke] | .seen lue | ||
yoleaux | I saw lue 02:08Z in #perl6: <lue> .oO( rosettacode.org/wiki/Smokey_bear#Perl_6 ) | ||
[Coke] | ... telling me Z time is unhelpful. what happened to "x hours ago?" | ||
tadzik | IllvilJa: hmm | 13:08 | |
slow down :) | |||
does 'rakudobrew build-panda help?' | |||
13:18
mtk joined
13:21
mtk left
|
|||
dalek | kudo/varopt: 806c867 | jnthn++ | src/Perl6/Actions.nqp: Don't make container if we immediately bind a var. For example, in `my $a := 42;`, the container would be immediately discarded, so don't bother allocating it at all. |
13:23 | |
kudo/varopt: 5bc6b91 | jnthn++ | src/Perl6/Optimizer.nqp: Make use of PseudoStash poison lowers. Not trying to do any of them yet, but this will be needed before we safely can. |
|||
13:26
gtodd left
13:28
kbaker_ joined
13:35
rindolf joined,
havenwood joined
13:39
kaleem left
13:40
havenwood left
13:45
kivutar joined
|
|||
Ven_ | r: sub MAIN(Str $filename where *.IO ~~ :e) {} # :o) | 13:45 | |
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«Usage: /tmp/tmpfile <filename> » | ||
Ven_ | oh my god :D | ||
IllvilJa | tadzik: it helped! | 13:46 | |
13:46
Gothmog_ left
|
|||
IllvilJa | Now panda is there under ~/Installs/panda/bin | 13:46 | |
PerlJam | What does "PseudoStash poison lowers" mean? | ||
13:46
Gothmog_ joined
|
|||
IllvilJa | If I get time, I'll look into getting rakudo + panda packaged for ubuntu. | 13:46 | |
IllvilJa is having wild fantasies for the future... | 13:47 | ||
jnthn | PerlJam: OUTER:: and friends prevent certain optimizations | ||
PerlJam: Generally, late-bound things. | |||
Ven_ | that's amazing | ||
tadzik | IllvilJa: how about rakudobrew rehash? | 13:48 | |
does this put stuff in bin? | |||
Ven_ | well I guess ~~ :e can be .f | ||
PerlJam | so, OUTER:: poisons and PseudoStash is an antidote? | ||
jnthn | Ven_: "where .IO.f" may well do it | 13:49 | |
IllvilJa | tadzik: Hm... what is that supposed to do? | ||
masak | jnthn: no, you need a * or a {} | ||
jnthn: otherwise you don't get thunk semantics. | |||
jnthn | r: sub foo($x where .say) { }; foo('lol') | ||
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«lol» | 13:50 | |
tadzik | IllvilJa: put stuff in .rakudobrew/bin | ||
so you have one path for all executables | |||
13:50
dwarring left
|
|||
masak | jnthn: hm. | 13:50 | |
jnthn | masak: I...think you do ;) | ||
masak | yeah, maybe you do. | ||
Ven_ | jnthn: once perl6 is fast enough, I'll never be able to write scripts in something else :p | ||
masak | don't mind me, I'm obviously on vacation :P | ||
jnthn | Ven_: Well, working on that. :) | 13:51 | |
Ven_ | right you are | ||
IllvilJa | tadzik: Apparently I need to do it like that, even if the "create a system-wide perl6 with panda" part of my brain revolts... Maybe I should delete the directory and rebuild everything from scratch. | 13:52 | |
13:52
bluescreen10 joined
|
|||
IllvilJa | (Computers are good at repeating automated rebuild of software, so that is not much of an issue ;-) ) | 13:52 | |
tadzik | IllvilJa: well, rakudobrew was not designed to be a systemwide thing | 13:54 | |
IllvilJa | Ok, rebuilding rakudobrew, in ~/.rakudobrew... | 13:55 | |
13:55
rurban joined
|
|||
IllvilJa | tadzik: an conveniently packaged rakudo + panda, as easily installed as perl5, would be a good holy grail to shoot for in the future :-). I suppose it is already part of the vision. | 13:55 | |
(Just wished we already were there...) | |||
tadzik | it's called Star :) | 13:56 | |
IllvilJa | There is no rakudo star in ubuntu's packager ;-). | ||
tadzik | there is nothing in ubuntu package list :D | ||
all that is is ancient | |||
IllvilJa | Anyway, it would make it easier when creating software based on perl 6 eventually, to have it more or less installed with the OS. | 13:57 | |
When ancient is good enough, installing softwared based on it is a breeze. | |||
13:57
anaeem1_ joined
|
|||
IllvilJa | Perl 5 software often works like that: install OS, use (ancient but still good enough) system perl 5 interpreter and then run that perl 5 app using that interpreter. | 13:58 | |
THAT is the vision I have for perl 6 :-D | |||
tadzik | IllvilJa: I have a plan for that part | ||
MoarVM is basically bundlable | |||
IllvilJa | :-) | 13:59 | |
tadzik | I wrote a game, and when I put moarvm+rakudo+nqp with it, and xz'd it, it was like 2 Megabytes | ||
IllvilJa | Plans are good | ||
tadzik | 20MB uncompressed | ||
IllvilJa | Sounds like a way to do it. | ||
tadzik | but still, you could just copy it over somewhere and launch it | ||
IllvilJa | 2Mb compressed is nothing in these days. | ||
tadzik | I just need to write a tool for bundling :) | ||
IllvilJa | tar? | ||
13:59
btyler joined
|
|||
IllvilJa | (sorry, could not resist) | 13:59 | |
14:00
thou joined
|
|||
tadzik | no, there's more to it :) | 14:01 | |
but mostly just adjusting paths, env vars and generating launchers | 14:04 | ||
14:06
mtk joined
|
|||
tadzik | I may do that today | 14:06 | |
I'll just need volunteers to try it out on systems with no moarakudo instlaled :0 | 14:07 | ||
Ven_ | I volunteer ! | 14:09 | |
tadzik | ok :) | ||
14:11
jnap joined
|
|||
IllvilJa | tadzik: one more thing: when doing that line for building rakudobrew, it do not install perl 6 under ~/rakudobrew/bin but under ~/.rakudobrew/moar-HEAD/install/bin (and under ~/.rakudobrew/moar-HEAD/languages | 14:14 | |
I suspect that is a bug, right? | |||
(Typo: it showed up under ~/.rakudobrew/moar-HEAD/install/languages/perl6 as well). | 14:15 | ||
Is the easy fix to just copy ~/.rakudobrew/moar-HEAD/install/bin/perl6 to ~/.rakudobrew/bin safe in the longer run? | 14:16 | ||
I just did it :-) | 14:17 | ||
Let's see if I can build panda with that quickfix in place! | |||
Hm. Emitted errors. Delete .rakudobrew and redo the install... (Brute force automation is a bliss ;-) ) | 14:19 | ||
I'll stick to add ~/.rakudobrew/moar-HEAD/install/bin to my PATH instead | 14:20 | ||
[Coke] | rakudo.parrot has 190 failing tests as of yesterday. | 14:22 | |
189 today: gist.github.com/coke/10472931 | 14:23 | ||
should parrot even be running those? | |||
14:23
jnap1 joined
|
|||
[Coke] bets they are not. | 14:24 | ||
tadzik | IllvilJa: sounds like a bug | 14:25 | |
14:25
jnap left
|
|||
IllvilJa | Yes. But for now I just work around it :-). | 14:25 | |
jnthn | [Coke]: Does the test thing use t/harness? | ||
[Coke]: There's a "# conc" mark on the concurrency tests which should exclude Parrot from running them. | 14:26 | ||
14:28
havenwood joined
|
|||
Ulti | is there an idiots guide to building Rakudo to generate the .msi used in star? | 14:28 | |
Ven_ wants to know too | 14:29 | ||
Ulti | if not is there a half arsed expert guide that I can attempt to follow and write the idiots guide to? | 14:30 | |
[Coke] | jnthn: nope. uses spec's test_summary, which knows about some stuff, but not conc. | ||
jnthn++ | |||
Ulti | though the new visual studio already confuses me with its weird flat theme | ||
jnthn | [Coke]: ah. There we go then. | ||
dalek | kudo/varopt: 48983c2 | jnthn++ | src/Perl6/Optimizer.nqp: Further analysis to prepare for variable opts. Track EVAL, getlexouter, and calls. |
14:33 | |
kudo/varopt: 8584dbe | jnthn++ | src/Perl6/Optimizer.nqp: Eliminate $! and $/ when trivially unused. Where "trivially unused" holds in many of the simple operators in the setting. This saves two Scalar allocations for many of them. |
|||
Ven_ can't stop reading $! as !$ | 14:34 | ||
jnthn | r: say !$! | 14:35 | |
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«True» | ||
jnthn | [Coke]: Has today's run already started, ooc? | 14:37 | |
14:37
mattp__ left
14:38
mattp__ joined
|
|||
jnthn | %kill | 14:39 | |
oops | |||
14:40
pmurias joined
|
|||
dalek | osystem: 2d7be29 | (Andrew Egeler)++ | META.list: Add Digest::HMAC |
14:40 | |
IllvilJa | tadzik: this 'moar' thing. is it a new VM? or is it a repackaged/redesigned/readjusted (bastardized perhaps?) parrot? | 14:43 | |
parrot VM that is | |||
The workaround of adding ~/.rakudobrew/moar-HEAD/install/bin to my PATH works nicely, panda is happily bootstrapping itself. | 14:44 | ||
14:46
darutoko- joined
|
|||
JimmyZ | r: say !$ | 14:46 | |
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«===SORRY!=== Error while compiling /tmp/tmpfileNon-declarative sigil is missing its nameat /tmp/tmpfile:1------> say !⏏$ expecting any of: argument lis…» | ||
tadzik | IllvilJa: a new thing | ||
JimmyZ | r: say !(my $) | ||
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«True» | ||
JimmyZ | r: say !(my $!) | 14:47 | |
camelia | rakudo-parrot e49859, rakudo-jvm e49859, rakudo-moar e49859: OUTPUT«Potential difficulties: Redeclaration of symbol $! at /tmp/tmpfile:1 ------> say !(my $!⏏)True» | ||
14:48
darutoko left
14:49
Alina-malina joined
|
|||
timotimo | tadzik: did you see froggs' work on generating binaries that link against libmoar and that have the bytecode needed in them? | 14:50 | |
IllvilJa | tadzik: but it is supposed to be parrot-compatible? | ||
(or apparently, it is, I guess) | 14:51 | ||
timotimo | it's not supposed to be parrot-compatible | ||
IllvilJa | ok | 14:52 | |
timotimo | jnthn: which pieces of the whole would you like me to benchmark? | ||
tadzik | IllvilJa: nope | ||
timotimo: nope :) | |||
I'd like to though | |||
timotimo | me, too | ||
i don't think he pushed the stuff anywhere | |||
14:53
bjz joined,
ajr_ left
|
|||
jnthn | timotimo: For now do master/master/nom :) | 14:54 | |
timotimo | master, master, omnomnom | ||
14:54
guru joined
|
|||
[Coke] | jnthn: hours ago, yes. | 14:54 | |
14:55
plobsing joined,
guru is now known as Guest82747,
bjz_ left,
Guest82747 is now known as ajr_
|
|||
[Coke] | up through jvm, S05 (last impl) | 14:55 | |
[Coke] ponders creating something like modules.perl6.org for javascript at work. | 14:57 | ||
14:57
cooper left
|
|||
[Coke] | shame we don't quite have github for stuff. | 14:57 | |
pmurias | [Coke]: for internal stuff? | 14:58 | |
jnthn | [Coke]: ok, great. Means if I merge something today I can tell if breakage is from it or from yesterdays, if yesterdays causes some | 14:59 | |
[Coke] | aye. | ||
jnthn: the roast page also shows you the commit we used to run stuff now. | |||
so that should also help. | 15:00 | ||
(warning: until I reorder the columns, you have to scroll to the right) | |||
jnthn | [Coke]: oh, also good to know. Thanks! | 15:02 | |
[Coke]++ | |||
15:02
cooper joined
|
|||
timotimo | jnthn: do i need to set =master? are all things sufficiently fudged currently? | 15:05 | |
for the benchmarks that is | |||
want me to benchmark nqp, too? | 15:06 | ||
i don't think i have any reason to | |||
jnthn | timotimo: I think most of the movement will be in Rakudo tbh. | ||
timotimo: Shoudln't have regressed stuff anywhere | 15:08 | ||
timotimo | i forgot how long the benchmark for rakudo takes. so i'll just estimate 1 hour until you get results | 15:09 | |
jnthn | timotimo: It'll be on a graph against p5/2014.03? | ||
timotimo | ok | 15:10 | |
jnthn | Well, if that's convenient for you to do :) | ||
But it's what'll be informativeist :) | |||
uh...whatever :) | |||
timotimo | it is | 15:11 | |
15:18
denis_boyun_ left
|
|||
jnthn worried he'd have to do a lot of work on var analysis before he could get spectests to pass and a measurable win, but managed to get something helpful without too much trouble. | 15:19 | ||
It ain't doing lex -> loc yet | |||
dalek | kudo/varopt: c173b85 | jnthn++ | src/Perl6/Optimizer.nqp: Optimize away $_ when it's trivially unused. This includes optimizing away the getlexouter and bind instructions that go with it. |
15:21 | |
15:21
ajr_ left
|
|||
timotimo | I've now successfully connected my voice recognition system with my IRC client | 15:21 | |
That means that my hurting wrist is not going to impede my chatting experience anymore | |||
Although every time I want to send a message I have to say click transfer and then hit return | 15:22 | ||
15:23
daxim_ left
|
|||
tadzik | IllvilJa: ah, I found the bug :) | 15:25 | |
IllvilJa: but: did rakudobrew rehash not have helped? | |||
15:25
treehug88 joined
|
|||
tadzik | rakudobrew switch moar would have also fixed that, probably :) | 15:26 | |
timotimo | oh my connecting to my desktop computer via SSH during the benchmark run was not such a good idea | 15:27 | |
15:28
ajr_ joined
|
|||
timotimo | This is surprisingly fun though | 15:28 | |
tadzik | IllvilJa: I I fixed it :) | 15:29 | |
er, I think I fixed it | |||
for future uses | |||
IllvilJa | So if I delete .rakudobrew and reinstall it, it will put perl6 at the right place? | 15:30 | |
(I got the command line in place, both for deleting and reinstalling :-), just awaiting your confirmation) | 15:31 | ||
tadzik | it's not necessary | 15:32 | |
try ''akudobrew switch moar | |||
that should do the trick | |||
IllvilJa | Yay! | 15:33 | |
It did! | |||
tadzik | :) | ||
IllvilJa | Thanks! | ||
tadzik | I made it do that automagically after you build your first rakudo | ||
if you want to try rakudo-jv or rakudo-parrot after that, you'll have to switch to them manually | |||
s/jv/jvm/ | |||
IllvilJa | Ok. | 15:34 | |
tadzik | argh stupid paypal | ||
IllvilJa | Hm. JVM = we can run perl6 on Java Virtual Machine? | ||
timotimo | yes indeed | ||
you must be new here :D | 15:35 | ||
IllvilJa | I've been absent for a couple of years. | ||
tadzik | :) | ||
yes we can | |||
IllvilJa | Cool! | ||
tadzik | although moarvm is generally superior to it | ||
IllvilJa | Ok! | ||
timotimo | Only for short running programs though | ||
15:35
daxim_ joined
|
|||
timotimo | And also you've chosen a great time to come back, because right now we are doing some performance improvements | 15:36 | |
And a very big portion of syntax and features are already in place | |||
jnthn: t.h8.lv/p6bench/2014-04-11-rakudo_opt.html | 15:39 | ||
15:40
havenwood left
|
|||
segomos | is moar's memory handling not good? whats the reason for jvm being better on long running processes? | 15:40 | |
timotimo | very good wins across the board | 15:41 | |
segomos: jvm has a JIT compiler | |||
15:42
kivutar left
|
|||
segomos | so not a reliability thing | 15:42 | |
jnthn | Moar typically (always?) uses a good bit less memory | ||
timotimo: Looking now :) | |||
timotimo | I am very glad to see that the any equals benchmark is also seeing improvements | ||
IllvilJa | Checked out moarvm.org (and wikipedia embryo of a page :-) ). Impressive stuff! | 15:45 | |
timotimo | on moarvm we usually get better performance than parrot and better performance than JVM (until the JIT kicks in) | ||
but our handling of strings on moarvm is pretty poor at the moment | 15:46 | ||
jnthn | timotimo: Yeah. Important to remember that the scale is a log one too. | ||
timotimo | t.h8.lv/p6bench/2014-03-09-every_perl.html - check out this month old (and thus ver yout of date) benchmark result | ||
15:47
webart joined
|
|||
timotimo | It hurts | 15:47 | |
In some cases we get a two times improvement so that is very good | 15:49 | ||
15:49
plobsing left
|
|||
timotimo | Especially the optimization of array and hash assignment seems to be extremely fruitful | 15:49 | |
15:49
kivutar joined
|
|||
timotimo | jnthn: did you want benchmarks of the other backends as well? | 15:51 | |
jnthn | timotimo: Maybe you'll have time for some later today after I merge the initial bits of varopt? | 15:52 | |
timotimo: Got one important opt about to land in moar also. | 15:53 | ||
timotimo | i can | ||
and all of that will happen today? | 15:54 | ||
color me excited! | |||
15:55
PZt left
15:57
kivutar left
|
|||
jnthn | I'm going to merge (ff) varopt now, but keep the branch | 15:59 | |
Basically, the stuff I've done so far is quite comfortable to reason about and I'm happy that it's unlikely to have fallout. | |||
But the next steps could be riskier. | |||
It will have performance fallout. | |||
(Of the good kind.) | 16:00 | ||
timotimo | So, should I immediately start the benchmarks? | 16:01 | |
For all of the three back ends? | |||
jnthn | Let me do the merge first. | ||
timotimo | Obviously | ||
dalek | p: f34d909 | jnthn++ | tools/build/MOAR_REVISION: Get Moar with REPL fix, [invoke&multi]spec opt. |
16:03 | |
kudo/varopt: 452c89d | jnthn++ | tools/build/NQP_REVISION: NQP bump for Moar improvements. |
16:05 | ||
16:05
zakharyas left
|
|||
dalek | kudo/nom: 5cb47e4 | jnthn++ | src/Perl6/Optimizer.nqp: Make $*LEVEL in optimizer an attribute. Saves a bunch of contextual lookups. |
16:05 | |
16:05
dalek left
16:06
dalek joined,
ChanServ sets mode: +v dalek,
webart left
|
|||
jnthn | OK, there we go. | 16:07 | |
timotimo | all right | ||
jnthn | Hm, wonder if I shoulda tried those on other backends... :) | ||
timotimo | i can stay on master/master/nom, aye? | 16:08 | |
jnthn | Yes | ||
Make sure you do a build of latest Moar also | |||
timotimo | ... huh? | ||
bench will build MOAR_REVISION and NQP_REVISION unless i tell it otherwise | |||
jnthn | Ah, then fine. :) | 16:09 | |
I meant "don't use a cached Moar build" :) | |||
But I see the tool won't, so it's all good. | |||
16:09
PZt joined
|
|||
jnthn | Just that on, say, while_empty, the change I just did in Moar gives 8%-9% better. | 16:09 | |
timotimo | this will take a while. | ||
jnthn | timotimo: Sure. Will it include NQP too? | 16:11 | |
timotimo | i can do that if you want me to | ||
will it be worth it? | |||
jnthn | Well, the recent improvements should be closing the gap between NQP and Rakudo, in theory. | 16:12 | |
Having NQP on the graphs too will give us an idea of how well we're doing in that regard. | |||
timotimo | i can put the old nqps in it | 16:13 | |
that'll be very cheap | |||
16:15
ajr_ left
16:16
guru joined
16:17
guru is now known as Guest92057,
Guest92057 is now known as ajr_
|
|||
jnthn | oh, duh... | 16:18 | |
$_ opt isn't as effective as it shoulda been due to a thinko. | 16:19 | ||
timotimo | i'ven't started the benchmarks yet | 16:20 | |
only just built the rakudos | |||
i can wait for another patch :) | |||
jnthn | Working on it, but I'll need to re-spectest | ||
timotimo | That's okay I have patience | 16:24 | |
jnthn | Yeah, worth it provided spectest is clean | 16:25 | |
while_empty is within a factor of 10 of NQP with this. | 16:26 | ||
timotimo | yay! | ||
16:26
Rotwang joined
|
|||
timotimo | Out of curiosity, what was the factor before the patch that I am now waiting for | 16:27 | |
16:28
denis_boyun joined,
ajr_ left
|
|||
jnthn | Before this one patch, it was around 12 or so; now it's 9.3 | 16:28 | |
timotimo | \o/ | ||
jnthn | Before varopt it was closer to 20 | 16:29 | |
16:30
xinming__ joined
|
|||
dalek | kudo/varopt: c27ec40 | jnthn++ | src/Perl6/Optimizer.nqp: Both var and contvar are fine for $_ deletion. |
16:33 | |
16:33
xinming left
|
|||
dalek | kudo/nom: c27ec40 | jnthn++ | src/Perl6/Optimizer.nqp: Both var and contvar are fine for $_ deletion. |
16:34 | |
timotimo | here we go | ||
jnthn | Seems good. | ||
timotimo | While the benchmarks of doing their thing I think I will be doing some chores | 16:38 | |
jnthn could do with a walk also :) | 16:42 | ||
bbiab | |||
dalek | rl6-roast-data: 16afd8c | coke++ | / (2 files): move notes to end of CSV columns |
||
rl6-roast-data: d9689c6 | coke++ | perl6_pass_rates.csv: fix typo |
16:43 | ||
rl6-roast-data: c5a40c1 | coke++ | perl6_pass_rates.csv: move -headers-, also. *facepalm* |
|||
[Coke] | there. now the impl's sha1 is more obvious. | 16:44 | |
timotimo | jnthn: while building JVM, i get NPEs during the compilations of the built-in modules | 16:46 | |
like Test for example | |||
dalek | ast: 36637c8 | coke++ | test_summary: respect new flag in rakudo's specttest.data |
16:47 | |
vendethiel | jnthn: do your changes work correctly with MY:: and stuff? | 16:52 | |
timotimo | yeah, MY is a pseudopackage | ||
pseudopackages cause an abort of optimization | |||
though OUTER and MY could potentially be supported | |||
16:53
virtualsue left
16:56
rurban left
|
|||
vendethiel | nqp-parrot and rakudo-jvm are faster than perl5 on "zero"? | 16:57 | |
timotimo | you may be reading the graph the wrong way around? | ||
vendethiel | well my mouse double-clicks right now so I Can't quite take a screenshot, but t.h8.lv/p6bench/2014-03-09-every_perl.html first graph seems to say so ? | 16:58 | |
timotimo | bigger bars means faster | ||
otherwise: it's probably caused by startup time being removed from the timings | |||
16:58
hoverboard joined
|
|||
timotimo | oh, interesting | 16:58 | |
vendethiel | The JVM's JIT is really something | 17:00 | |
timotimo | the jit isn't supposed to kick in that fast | ||
anyway, benchmark 29 of 43 is running now on moarvm | |||
after that i think only parrot remains | |||
vendethiel | where do you expect nqp to be "in the end" ? 5-10x faster than rakudo ? | ||
timotimo | well, if we get rakudo to be as fast as nqp, that'd be amazing | 17:01 | |
obviously we want to end up faster than perl5 ;) | |||
vendethiel | "35244x slower than fastest" well ! | 17:02 | |
timotimo | watch out, "fastest" is the *global* maximum | ||
rather than on the same x-coordinate | |||
vendethiel | I know - here it happens to be the same | ||
timotimo | OK | ||
yeah, in some cases we're pretty terrible at the moment | 17:03 | ||
vendethiel | rc-forest-fire is getting some good stuff out of the jvm's jit | ||
timotimo | it does | ||
17:06
ajr joined,
ajr is now known as Guest37434,
Guest37434 is now known as ajr_
|
|||
jnthn | timotimo: Oh :( | 17:22 | |
timotimo: Saveed the stack trace? | |||
vendethiel: Yeah, it notes those and gets suitably unhappy about doing optimization anywhere down the lexical chain if it sees one of those. | 17:23 | ||
vendethiel: In the future we can look at special cases, though. | |||
17:25
kbaker_ left
|
|||
timotimo | no stack trace emitted | 17:36 | |
but i have the stuff in backscroll | |||
oh, i don't have a rakudo-parrot/2014.03 | 17:38 | ||
huh | |||
no rakudo-jvm/2014.03 either | |||
TimToady | std: say map(* + 1): 1,2,3 X 4,5,6 | 17:39 | |
camelia | std e347792: OUTPUT«ok 00:01 124m» | ||
TimToady | n: say map(* + 1): 1,2,3 X 4,5,6 | ||
timotimo | why are so many timing files apparently missing? :\ | ||
camelia | niecza v24-109-g48a8de3: OUTPUT«===SORRY!===Interaction between semiargs and args is not understood at /tmp/5lgcEa0IHn line 1 (EOF):------> say map(* + 1): 1,2,3 X 4,5,6⏏<EOL>Unhandled exception: Check failed at /home/p6ev…» | ||
TimToady | that syntax is also supposed to work | ||
timotimo | t.h8.lv/p6bench/2014-04-11-rakudo_opt.html ← F5 for great justice | ||
TimToady | m: say map(* + 1): 1,2,3 X 4,5,6 | ||
camelia | rakudo-moar e49859: OUTPUT«===SORRY!=== Error while compiling /tmp/TwOojBzyKpTwo terms in a rowat /tmp/TwOojBzyKp:1------> say map(* + 1)⏏: 1,2,3 X 4,5,6 expecting any of: postfix infix stopper infix…» | ||
timotimo | something apparently went quite wrong | 17:40 | |
jnthn | yeah, the parrot measurements are missing? | ||
timotimo | yeah, they didn't run | ||
jnthn | ooc, does Moar build with the cgoto interp by default on platforms that can? | 17:41 | |
timotimo | ah, parrot failed to build because i had MAKEFLAGS=-j4 | ||
i'll fill in the missing data in the coming ... time | 17:42 | ||
TimToady snickers | |||
[Coke] | timotimo: if that's broken on parrot, can you open a ticket? | ||
(I worked very hard at one point to make sure that didn't fail. :P) | |||
moritz | on the JVM, Test.pm compilation fails | 17:43 | |
===SORRY!=== | |||
java.lang.NullPointerException | |||
17:43
denis_boyun___ joined
|
|||
moritz | rakudo 2014.03.01-126-gc27ec40 | 17:43 | |
timotimo | [Coke]: it seems like make itself is b0rking | 17:44 | |
17:44
zakharyas joined
|
|||
timotimo | as in "oh god there's stuff that shouldn't be there in the job pipeline gaaaaah" | 17:44 | |
dalek | rl6-roast-data: 0677e75 | coke++ | / (6 files): today (automated commit) |
||
17:45
denis_boyun left
|
|||
[Coke] | timotimo: ah, i thought you meant just the -j4. | 17:45 | |
timotimo | [Coke]: now pass_rates.csv starts with <<<<<<< HEAD :) | ||
[Coke] | huh. apparently there was an invalid free in yesterday's parrot run that is resolved today. | 17:46 | |
timotimo: dammit. | |||
jnthn | timotimo: Graphs show improvemnets all over. Nice. :) | ||
timotimo | aye, quite nice | ||
dalek | rl6-roast-data: 8d82fbb | coke++ | perl6_pass_rates.csv: fix mergo |
||
[Coke] | timotimo: fixed. | ||
17:48
denis_boyun___ left
|
|||
jnthn | moritz: --ll-exception will give more clues; I'll have a closer look after dinner | 17:56 | |
17:57
rurban joined
17:58
benabik left,
benabik joined
|
|||
timotimo | parrot still takes about 100 seconds to parse core.setting | 18:00 | |
this is amazing. | |||
retupmoca | tadzik: ping | ||
18:01
rurban left
|
|||
tadzik | retupmoca: pong | 18:03 | |
18:03
treehug8_ joined
|
|||
retupmoca | tadzik: I opened yet another panda PR for you | 18:03 | |
18:04
hummeleB1 joined
|
|||
timotimo | retupmoca++ | 18:05 | |
18:05
treehug88 left
|
|||
tadzik | I think it's wrong though :) | 18:06 | |
it saves meta of non-ecosystem over the ecosystem ones | |||
where non-ecosystem may just be an older version of the ecosystem one | |||
retupmoca | line 49: if ecosystem exists, it pulls it out of the non-ecosystem hash | ||
%non-ecosystem{$mod<name>}:delete; | |||
tadzik | ah! | 18:07 | |
indeed | |||
then I like it :) | 18:08 | ||
retupmoca | \o/ | ||
18:08
colomon left
|
|||
tadzik | maybe the panda-project creation needs some local sub to reduce duplication, but it's fine as it is :) | 18:09 | |
dalek | nda: 7ead09e | (Andrew Egeler)++ | lib/Panda/Ecosystem.pm: Allow non-ecosystem dependencies If a module is installed, we can now use it as a dependency without needing it in the ecosystem. This allows you to use panda to install private modules that never see the ecosystem, or to test a set of modules before adding them to the ecosystem. |
||
nda: 2693bbc | tadzik++ | lib/Panda/Ecosystem.pm: Merge pull request #77 from retupmoca/master Allow non-ecosystem dependencies |
|||
retupmoca | tadzik++ | 18:10 | |
tadzik | retupmoca++ | ||
18:11
kaare_ joined,
kurahaupo joined,
kbaker_ joined
18:12
klapperl_ joined
18:15
klapperl left
|
|||
timotimo | Stage parse : 21.366 - what | 18:15 | |
what is this | |||
jnthn | o.O | 18:16 | |
timotimo | oh | ||
parallel builds | |||
combined with the new behavior of printing the stage name before and the number afterwards ... :) | |||
jnthn | ahaha | ||
18:17
colomon joined
|
|||
timotimo | gist.github.com/anonymous/f585a7e823163e7aa596 | 18:20 | |
./perl6-p --target=pir --output=src/gen/RESTRICTED.setting.pir src/RESTRICTED.setting | |||
===SORRY!=== | |||
Lexical '$_' not found | |||
make: *** [RESTRICTED.setting.pbc] Error 1 | |||
gist.github.com/anonymous/cdbefe6af93dcab4d6f0 | 18:22 | ||
18:26
anaeem1_ left,
anaeem1 joined
|
|||
arnsholt | timotimo: Oh, that's my fault. Sorry =) | 18:27 | |
timotimo | ah! :) | 18:28 | |
18:31
anaeem1 left
18:38
zakharyas left
|
|||
timotimo | t.h8.lv/p6bench/2014-04-11-rakudo_opt.html - at least it has rakudo-parrot/2014.03 now | 18:39 | |
18:45
bluescreen100 joined
|
|||
timotimo | so it seems like rakudo is now usually 40-600 slower than perl5 in our microbenchmarks | 18:48 | |
18:49
bluescreen10 left,
darutoko- left
18:51
raiph joined
18:52
average joined
18:57
rurban joined
|
|||
raiph | 7 videos of jnthn about P6 from 2008 were hosted on blip.tv | 18:58 | |
it looks like they've been deleted from there | |||
anyone know if there are other copies anywhere? | |||
(i've looked on youtube) | |||
jnthn | timotimo: ah, I think I may know what's up with Parrot/JVM. | 18:59 | |
timotimo | jnthn: is this already the tomorrow when you'll think about what videos i could produce? or is it still the same day you said that? :) | ||
raiph | .oO ( Am I awake? Is timotimo? ) | 19:00 | |
timotimo | er, that wasn't meant to go to jnthn, that was meant for raiph | 19:02 | |
jnthn | timotimo: It's the day I forgot the conversation you're referring to apparently :P | ||
Oh... | |||
:) | |||
19:02
rurban left
|
|||
jnthn | So my memory hasn't gone bad after all :P | 19:02 | |
timotimo | japhb: i'd love to have a little widget that would allow the user to hide/show data lines from all graphs at the same time | 19:04 | |
and then arrange them into a little matrix and give the user toggle buttons for "all in this row" and "all in this column", too | |||
and also, it would be so fantastic if you could transfer (temporarily, if need be) data points from one graph to another by clicking two graphs in sequence | |||
so that you could compare the native vs non-native tests, for example | |||
that could well be doable just with javascript, no? did you try playing around with that library you're using yet? | 19:05 | ||
dalek | kudo/varopt: f128025 | jnthn++ | src/Perl6/Optimizer.nqp: Fix op name-o. |
19:07 | |
kudo/varopt: aeda9d0 | jnthn++ | src/Perl6/Optimizer.nqp: p6bindsig poisons lowering. Unbreaks the Parrot build/test, at least. |
|||
jnthn | Trying a JVM build at the moment also. | ||
[Coke] pokes pmurias - how goes rakudo.js? | 19:08 | ||
moritz | jnthn: I'm a bit confused; did you fast-forward-merge varopt into nom, and now commit again to nom? | ||
(if yes, nothing wrong with it, just a bit unusual) | 19:09 | ||
timotimo | there was a fastforward, aye | ||
but future commits are going to go into varopt again | |||
jnthn | moritz: I comitted on varopt; will merge into nom | ||
timotimo | except for these fixes above, i think | ||
jnthn | moritz: I'm doing other bits on varopt yet; I merged the bits I figured could be stable quickly. | 19:10 | |
timotimo | jnthn: currently making measurements for nqp-jvm/2014.03, after that i shall do rakudo-parrot and rakudo-jvm current | ||
jnthn | moritz: The branch is now digging into the other stuff. | ||
JVM looks happier too. | |||
dalek | kudo/nom: f128025 | jnthn++ | src/Perl6/Optimizer.nqp: Fix op name-o. |
19:11 | |
kudo/nom: aeda9d0 | jnthn++ | src/Perl6/Optimizer.nqp: p6bindsig poisons lowering. Unbreaks the Parrot build/test, at least. |
|||
jnthn | There they are in nom | ||
19:15
Alula left
|
|||
timotimo | nqp-jvm is going to take quite some time still | 19:16 | |
what with it being jvm and all :) | 19:17 | ||
jnthn: want me to spectest either parrot or jvm with your latest changes? | 19:21 | ||
jnthn | timotimo: Yes, please | 19:24 | |
timotimo | which one? :) | ||
19:24
cooper left
|
|||
jnthn | Both? :) | 19:24 | |
Or we can just look at the daily tomorrow... :) | 19:25 | ||
timotimo | well, jvm tends to fail after a few tests anyway | ||
so i'm doing parrot first in any case | |||
uh oh | |||
===SORRY!=== Error while compiling t/spec/S02-literals/char-by-name.rakudo.parrot | |||
Unrecognized character name LINE FEED (LF) | |||
is that expected? | |||
jnthn | yeah I set a Parrot one off and let it run through S02 and it just failed Unicode-y things | 19:26 | |
Due to met not having libicu | |||
*me | |||
timotimo | OK. | ||
jnthn | That may be an icu missing thing | ||
timotimo | i think i should have libicu | ||
> say "\c[SNOWMAN]" | |||
☃ | |||
19:27
cooper joined,
jnap1 left
|
|||
timotimo | a few S05 ones explode, too | 19:29 | |
34/43 for nqp-jvm/2014.03 ... | 19:33 | ||
19:37
rurban joined,
cooper left
19:38
rindolf left
|
|||
timotimo | gist.github.com/anonymous/c9755350cb880d7137c1 ← jnthn, this is patrick^Wparrot | 19:39 | |
tadzik | :D | ||
www.wattix.com/blog/chilligan/thisispatrick.jpeg | |||
19:40
cooper joined
19:41
rurban left,
xfix left
|
|||
dalek | ast: f6606d2 | (David Warring [email@hidden.address] | integration/advent2013-day19.t: fixed test plan @parrot |
19:49 | |
timotimo | hmmm. how much longer until fantastic performance is reached, i wonder... | ||
19:53
Alula joined
|
|||
[Coke] | do we have | 19:53 | |
do we have anything resembling perl5's Tk? | 19:54 | ||
19:54
xfix joined
|
|||
timotimo | resembling in what way? | 19:55 | |
would IUP be close enough for your tastes? | |||
[Coke] | yes, something like that would be fine. | 20:04 | |
timotimo | well, IUP is something we do have. not that i've really tried it yet | ||
[Coke] | danke. | ||
benabik | … Indiana University of Pennsylvania? | 20:05 | |
timotimo | i briefly looked at perl's Tk thing at some point and was pleased to see that it's a very abstract, but thoroughly thin layer over the Tcl module, which itself is hardly complex either | ||
[Coke] | does tadzik/perl6-Term-ANSIColor work on windows? | 20:06 | |
timotimo | no | 20:07 | |
but there's a thingie that wraps programs that want to do ANSI escape codes and makes them work | |||
work with windows console thingies | |||
vendethiel | windows console can very well do color | ||
I just think nobody knows how :p | |||
20:08
SamuraiJack_ left
|
|||
[Coke] will get his stuff working on mac first and go from there. | 20:08 | ||
is rakudo-moar at the point where I can install modules with panda now? | 20:09 | ||
timotimo | it has been for a while now :) | 20:11 | |
20:17
politico joined,
politico left
|
|||
timotimo | t.h8.lv/p6bench/2014-04-11-rakudo_opt.html ← F5 for rakudo-parrot 2014.03 vs current | 20:23 | |
jnthn | timotimo: Some imrpovements for on Parrot too, then. Nice. :) | 20:26 | |
timotimo | yup | ||
not nearly as impressive as the moarvm improvements, but there was much more work put into moar especially when compared to the cross-backend improvements | 20:28 | ||
jnthn | Aye | 20:29 | |
[Coke] | timotimo: danke. needed a moar recent moar, it seems. | 20:31 | |
jnthn | MOAR_REVISION/NQP_REVISION at HEAD should be fine. | ||
[Coke] | ==> Successfully installed JSON::Tiny | ||
==> Fetching panda | 20:32 | ||
didn't I just fetch panda already? | |||
retupmoca | fetching it from the local folder into the .work folder, I'd guess | ||
tadzik | yeah | 20:33 | |
[Coke] | gist.github.com/coke/10499446 - boom | 20:35 | |
that's with a very fresh rakudo-moar install. | |||
... running it a second time works? huh | 20:37 | ||
20:37
rurban joined
20:39
Rotwang left
|
|||
tadzik | :o | 20:41 | |
raiph | anyone speak japanese well enough to explain matz's tweet reply (google translate says 'Appeal') to miyagawa's inevitable reply ('Perl 6') to nikkei_Linux's tweet? | ||
twitter.com/miyagawa/status/453790701889662976 | |||
Is matz asking "what's the appeal?" Or that sounds appealing? ??? | 20:42 | ||
20:42
rurban left
|
|||
vendethiel | raiph: what's the original tweet :p ? | 20:43 | |
raiph | running the first tweet in the link above thru translate.google gives: | ||
Do you want to make any new language in a series of Matsumoto? The "programming language to learn while making" May Nikkei Linux In Part 2, we are looking for ideas for the language that you make from the next time. The idea is to (half-angle @) [email@hidden.address] or direct @ yukihiro_matz! # ruby | 20:44 | ||
PerlJam | "I approve" perhaps? | 20:45 | |
raiph | Would be useful to hear a human translation of that too | ||
.oO ( mebbe need to cast a miyagawa summon-to-#perl6 spell ) | 20:46 | ||
moritz | t/spec/integration/advent2013-day19.rakudo.parrot (Wstat: 0 Tests: 11 Failed: 0) Parse errors: Bad plan. You planned 20 tests but ran 11. | 20:48 | |
20:48
Alula_ joined
|
|||
moritz | that's the only p-spectest failure I get | 20:48 | |
20:48
Alula left
|
|||
TimToady | I read it more as "I will undertake." | 20:48 | |
vendethiel | (what does that mean ? I prolbaly didnt get the first tweet then ...) | 20:49 | |
TimToady | well, I took the google translation to mean "Do you want to write the next Ruby?" | ||
vendethiel | you're good at google translate lang | 20:51 | |
.oO( use google translate; mon $variable = 'salut'.changer('a' => 'b') ) |
|||
timotimo | brrr, rakudo-jvm benchmarks take ages | ||
jnthn | Turns out lex => loc is a whole lot trickier in Perl 6. | 20:52 | |
20:52
ajr_ left
|
|||
timotimo | the jastcompiler merge is not yet in, right? | 20:52 | |
jnthn | timotimo: It is, I think. | ||
timotimo | jnthn: what makes you say that? i thought we already knew? ;) | ||
jnthn | timotimo: Yeah, it's just that now I'm looking at it I'm seeing it's even more "fun" than first imagined. :) | 20:53 | |
timotimo | oh my | ||
jnthn | The immediate fun being if you lower params and it's a multi-candidate and it needs a bind check, the binder can't find the lexicals. | ||
Thing is that at present if we fail to bind, we use failover to the full-blown binder to produce errors. | 20:54 | ||
moritz | well, don't lower params then :-) | 20:55 | |
jnthn | moritz: Yeah, that's the immediate thing to avoid. | 20:56 | |
moritz: However, we'd kinda like to given spesh would rather like that. | |||
20:58
guru joined,
guru is now known as Guest60342
21:00
dayangkun left
|
|||
moritz | jnthn: so, teach the binder to bind to locals? | 21:01 | |
jnthn | moritz: If it could see them they'd not be locals... | 21:02 | |
That's the point of the opt. | |||
dylanwh | binder full of locals | ||
moritz | uh, uhm... | 21:04 | |
jnthn | In reality, for many common cases running the full-blown binder just to generate an error message is overkill. | 21:05 | |
It was just the easiest thing to do. | |||
moritz | also, this is where specialized calling conventions might come in, no? | 21:06 | |
I remember some C compilers or linkers that pass arguments in registers instead of on the stack | 21:07 | ||
and fun like that :-) | |||
21:12
kbaker_ left
|
|||
timotimo | 15/43 benchmarks | 21:12 | |
21:12
raiph left
21:17
dayangkun joined
|
|||
japhb | timotimo: I'm quite backlogged, but I notice you highlighted me talking about some fun with the benchmark graphs. Could you turn your various feature requests into GH issues for perl6-bench? I don't want to lose all your good ideas. | 21:21 | |
Also, if y'all haven't seen this, it's fun: alexnisnevich.github.io/untrusted/ (a text adventure game that you solve with snippets of code) -- mind you, it's JavaScript, but that would be a blast to convert to Perl 6. | 21:22 | ||
21:23
btyler left,
klapperl joined
21:24
klapperl_ left
|
|||
jnthn | japhb: btw, just to say that p6bench in its current form is proving really great at the moemnt, with all the performance-related work going on :) | 21:25 | |
japhb | jnthn: Excellent! Really glad to hear it's worth the time I put into it, you know? :-) | 21:28 | |
Now to find a bit more of said time ... | 21:29 | ||
21:29
denis_boyun_ joined
|
|||
timotimo | aye, the infrastructure is great | 21:30 | |
i just wish for more bells and whistles, now that the base thing already works pretty well ;) | |||
japhb | Heh. AFK again for a bit. | ||
dalek | p: 6344535 | jnthn++ | src/vm/moar/QAST/QASTCompilerMAST.nqp: Support contvar lexicals on MoarVM. Will ease lowering of lexicals in Perl6::Optimizer. |
21:33 | |
jnthn | ugh. Trying to do it even for contvars gives me lots of spectest fail. | 21:34 | |
cognominal | I probably lack background and probably missed much in the backlog, but I am baffled by jnthn vocabulary. What means poisoning, and lowering a variable? | 21:36 | |
21:38
rurban joined
|
|||
vendethiel | cognominal: this is just an attempt at killing something, really | 21:38 | |
timotimo | poisoning means "consider any optimization attempt impossible" | 21:39 | |
vendethiel | Murdering perl 6 bad performance, I mean | ||
cognominal | and lowering a variable? | ||
timotimo | for example, if we see an "eval", nothing we've believed in will stay the way it is | ||
vendethiel | move it from a scope to another one ? | ||
timotimo | not quite | ||
in this case we're turning lexical variables into local variables | 21:40 | ||
that's possible only if nothing "nested" can access these variables by name | |||
an optimization closely related to that is inlining blocks at the QAST level | |||
vendethiel | still scope-related \_(ツ)_/ | ||
cognominal | ok, that makes sense. This avoid to look for the variable value again and again. | ||
timotimo | when a block doesn't define its own lexical variables, it can just be turned into a Stmts node instead | 21:41 | |
jnthn | Well, it's also a memory use opt | ||
It menas closures won't close over things they needn't too | |||
timotimo | yes, and the lexpads we're creating end up smaller | ||
jnthn | But yeah, it enables easier block inlines | ||
timotimo | that should also be reflected in the serialized bytecode | ||
or at least in load time or something | |||
cognominal | so the nice thing is that an optimisation open the path for another. | 21:42 | |
jnthn | ah, I wasn't detecting EVAL properly... | ||
cognominal: That's ver, very often the way | |||
*very | |||
cognominal: This also opens the way to escape analysis. | |||
cognominal: Or helps. | |||
timotimo | right, locals are way easier to escape-analyze than lexicals are | ||
jnthn | Way easier. :) | ||
Also spesh doesn't know how to analyze lexicals yet. | |||
21:43
rurban left
|
|||
timotimo | Alot easier? :) | 21:43 | |
jnthn | :D | 21:44 | |
Hm, this spectest run looks a bit better. | |||
timotimo | ... 25/43 benchmarks ... | ||
jnthn | Not perfect though. | ||
cognominal | I suppose that allocating $_ and $/, $! in most blocks costs a lot so doing away with that when possible would be nice. | 21:45 | |
jnthn | cognominal: That's one of the things I did earlier today for some very simple cases. | 21:46 | |
It's actually really hard to get rid of them, though. | 21:47 | ||
Because they are all contextual. | |||
cognominal | nice. | ||
jnthn | You can do it if the block makes no method or sub calls, for example. | 21:48 | |
Which means a lot of the operators get it. | |||
But seeing how to do it for, say, at_pos, postcircumfix, etc which of course need to call stuff is harder. | |||
timotimo | ... 28/43 ... | 21:55 | |
21:58
treehug8_ left
|
|||
jnthn | such slow...so wait... | 22:00 | |
22:01
bluescreen100 left
22:02
lustlife left
|
|||
timotimo | hm. you were right btw. jastcompiler is already in nqp master | 22:02 | |
i'm really paying double for the jvm. first, it has a high startup time, but also it gets very fast towards the end, meaning it'll do a bunch more runs than the other backends | 22:03 | ||
22:05
djanatyn1 is now known as djanatyn
|
|||
japhb | bak again | 22:06 | |
timotimo | heyo japhb :) | 22:07 | |
japhb | So for all the optimization going on, I don't see things happening in #moarvm (since the spesh merge, that is), which indicates the more recent stuff is either NQP or Rakudo ... what's been getting optimized? | 22:08 | |
heyo timotimo :-) | |||
timotimo | the optimizer is learning a few tricks, the core setting has seen a few micro-optimizations and hash and array access have learnt a new trick | ||
dalek | kudo/varopt: 3fc1e57 | jnthn++ | src/Perl6/Optimizer.nqp: Initial attempt at some basic lexical lowering. Causes a number of spectest regressions in its current state; also is MoarVM-specific for now. |
||
timotimo | so far we've been accessing hashes and arrays for writing by returning a container that knew how to autovivify and then we could assign to that container | 22:09 | |
jnthn | japhb: Yeah, optimizing the Rakudo and NQP bits of the stack of late. :) | ||
timotimo | that was pretty expensive, even if we could already see from the used syntax that it was going to be an assignment | ||
... 33/43 ... | |||
jnthn | japhb: Reading the bytecode dumps while working on spesh was helpful in pointing out some things. | ||
japhb: Also looking at various C-level profiles to see where we spent effort, etc. | 22:10 | ||
japhb: There's stuff to do up and down the stack, and sometimes doing things better higher up lets things lower down make a better job. | |||
japhb | Yeah, definitely makes sense | ||
22:11
telex left
|
|||
jnthn | japhb: In other news, I submitted a talk on Perl 6 to some web conf and now will really, really have to do the async sockets. :) | 22:12 | |
22:12
telex joined
|
|||
japhb | What's the rough estimate of how much improvement we have overall? Or are the optimizations so specific that its "If you do precise thing Q, it will get a ton faster -- otherwise about the same"? | 22:13 | |
async sockets \o/ | |||
jnthn | japhb: Well, I've been optimizing common things. | ||
japhb | jnthn: I figured you probably would, but sometimes we discover that Precise Thing Q may not be overwhelmingly common, but it *is* overwhelmingly slow, and that can be fixed. | 22:14 | |
jnthn | japhb: Multi-method dispatch got a ton cheaper. Same for multi-sub dispatches we can't inline. | ||
japhb | Oooh, nice. | ||
jnthn | japhb: That affects almost everything. | ||
japhb | Yeah, I bet. | 22:15 | |
jnthn | japhb: Also a lot of the basic operators were allocating and not using $_, $!, and $/ like every block normally does. They no longer do. | ||
Basic array and hash assignment no longer has to do the WHENCE thing, which saves a closure clone and attr bind and invocation on every single time you assign to to an array/hash for the first time, if it's a simple assignment. | |||
japhb | wow | 22:16 | |
jnthn | The underlying thing that let me do the multi-dispatch opt is also rather spesh friendly. | ||
Can't take advantage of it there *yet*. | 22:17 | ||
But know the steps to get there. | |||
Put it together and we'll then be able to have Moar doing inlining of multis based on runtime type info. | |||
japhb | Very nice indeed. | ||
jnthn++ # And whoever else who helped! | |||
jnthn | Also, SSA turned out to be as nice a representation to have for spesh as I'd hoped. I'm happy with how it's working out in practice. | 22:18 | |
japhb grins at news of Stuff Going Right | 22:20 | ||
timotimo | i'm also pleasantly surprised by how fast the specializer already seems to be | 22:22 | |
22:22
colomon left
|
|||
timotimo | though it's still dropping things on the floor here and there | 22:22 | |
jnthn | Well, for how young the codebase is there, it's doing well to cope with having all of Rakudo's spectest thrown at it. | 22:23 | |
When I was building it I had it building the CFG/SSA and then re-codegening every single invocation to make sure it was fairly robust. :) | 22:24 | ||
The code to only do it on a threshold came after. | |||
22:29
dmol left
|
|||
timotimo | i agree that robustness should be our #1 priority in the early days | 22:29 | |
22:33
lizmat joined
|
|||
jnthn grabs a beer, starts to write a blog post | 22:34 | ||
22:37
woolfy joined
|
|||
lizmat | jnthn++ | 22:37 | |
timotimo | oooh | 22:38 | |
jnthn: the benchmarks are ready for you to consume in just a minute :) | |||
jnthn | omg this beer is *awesome*! | ||
japhb | So is the optimization work planned to continue through the weekend, or is this a real good time to rebuild all my rakudos? :-) | ||
jnthn | japhb: No, I'm going to slow down on the opts a bit now and focus more on making sure we can release a Moar Star and, hopefully, JVM Star this month. | 22:39 | |
japhb | (awesome beer)++ # More efficient fuel for the jnthn beer-to-code conversion system | ||
timotimo | t.h8.lv/p6bench/2014-04-11-rakudo_opt.html - they're just one f5 away | ||
japhb | jnthn: excellent | ||
jnthn | www.ratebeer.com/beer/great-divide-...out/85174/ # the beer, for the curious :) | ||
timotimo | japhb: maybe jnthn will have a few more optimizations that i can do :) | ||
22:39
rurban joined
|
|||
timotimo | i've already started on letting the moarvm specializer try to handle named parameters in addition to positionals | 22:40 | |
since it takes about 2h, i'll have to decide now whether i want to go to sleep early or run the 2014.03 jvm benchmarks ... | 22:41 | ||
jnthn | Yeah, looking at these I can see that the JVM backend needs to learn about multispec and needs me to finish the bind lowering. | ||
timotimo | interesting. i fed nqp-moarvn into the comparison, but it seems to be missing | 22:42 | |
i wonder what i did wrong? | |||
japhb | timotimo: Why do the graphs have a different rev for r-m than r-p and r-j? | ||
oh, hmmm | |||
jnthn | japhb: 'cus I busted the r-p/r-j build | 22:43 | |
timotimo | japhb: r-p and r-j required a little fix to be built | ||
jnthn | japhb: The only difference is that one fix. | ||
japhb | Oh, gotcha. | ||
22:44
rurban left
|
|||
japhb | But we're missing the updated n-m then | 22:44 | |
(which is what timotimo originally said) | |||
22:47
pmurias left
22:50
average left
22:52
rurban joined
22:54
Guest60342 left
22:57
rurban left
23:00
BenGoldberg joined
23:02
woolfy1 joined,
woolfy left
|
|||
timotimo | it's not important | 23:03 | |
23:07
japhb_ left
23:08
kurahaupo left
|
|||
TimToady gets a slightly gleeful, slightly wistful smile on every graph where the blue p5 line rides higher than the p6 lines, especially when he thinks of the early p6-folk telling him "We like your language design, but we don't like your coding." :) | 23:09 | ||
vendethiel | you must be smiling a lot then :P. | 23:11 | |
'twill come to an end, though -- jnthn's dealing with your smile ! | |||
TimToady | 'course, it's also partly my own fault the p6 lines are lower :) | ||
vendethiel | (would the other part be beer :P ?) | ||
TimToady | dunno, there's probably equal parts of beer contributing to P5 and P6 | 23:12 | |
23:14
denis_boyun_ left
|
|||
timotimo | i'm amazed that in some benchmarks, rakudo-jvm only ever almost reaches rakudo-moar | 23:16 | |
even when fully warmed up | 23:17 | ||
jnthn | Oh, once I teach Rakudo JVM the lessons I've taught Rakudo on Moar, I think it'll catch up. Especially since I figured out how to make multispec and indy place well together ;) | ||
*play | |||
timotimo | \o/ | 23:18 | |
and then MoarVM can play catch-up again, too! | 23:19 | ||
23:22
kaare_ left
23:24
havenwood joined
23:30
Bryanstein left
23:47
woolfy1 left,
Bryanstein joined
23:56
average joined
|
|||
average | hey, just wanna ask a small question | 23:56 | |
this image i.imgur.com/MdrKshO.png | |||
on the how-to-help page on rakudo that link is given rakudo.org/how-to-help/ | 23:57 | ||
y u no ssl ? y nossla ? | |||
*nossla | |||
*nossl | |||
damn keyboard | |||
anyhow, it's easy to change the link to rt.perl.org/Public | |||
would this be ok, if the link would be changed to that ? | 23:58 | ||
timotimo | the point is that it leads to a pre-defined query | ||
i've contacted the rt admins before about this, didn't get an answer and forgot about it | |||
oh, huh | |||
that link *is* meant to go exactly there | 23:59 | ||
i don't have the rights to change the page i believe | |||
average | timotimo: yes, but, is that ok ? I mean.. logging into the RT over simple HTTP can cause credential leakage .. |