»ö« 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. |
|||
Mouq | Isn't that a spec-bug? | 00:03 | |
:p | |||
00:04
FROGGS left
|
|||
lue | whoops. I was thinking "STD Perl 6" :P | 00:04 | |
00:05
berekuk joined,
DarthGandalf left
|
|||
lue | here we are: github.com/perl6/specs/issues/61 | 00:06 | |
00:08
ajr_ left
00:09
rurban joined
00:10
DarthGandalf joined,
ssutch left
00:16
Psyche^_ left,
ssutch joined
00:18
Psyche^ joined
|
|||
timotimo | since when does --gen-nqp=master no longer checkout master before building nqp? :( | 00:18 | |
oh, it *does* work! | 00:22 | ||
huh | |||
i wonder where the "is behind origin/master and can be fast-forwarded" message came from | |||
00:25
rurban left
00:26
eternaleye joined
|
|||
timotimo | oi, what is this? i do --gen-nqp=master and it says nqp-j is too old? why doesn't the installation work? | 00:27 | |
i rm'd nqp-j, re-ran make all install and now it works?! | 00:28 | ||
what foul sorcery is this! | |||
00:31
dmol joined
00:40
dmol left
|
|||
timotimo | i wonder what takes up all the time in stage post. | 00:41 | |
the obviously "slower than it has to be" part i can see is that it uses many instances of multiple ~ in a row | |||
which, iirc, will give unnecessary copies | 00:42 | ||
that could conceivably be fixed in the nqp optimiser by creating nqp::join calls for those cases automatically | 00:43 | ||
00:47
pdurbin joined
|
|||
timotimo | nqp: my $time := now(); for ^1000 { nqp::split(' ', 'start pmc tgt string pos int off int eos int rep int cur pmc curclass pmc bstack pmc cstack pmc'); } say(now() - $time); | 00:48 | |
camelia | nqp-jvm: OUTPUT«Confused at line 2, near "for ^1000 " in panic (gen/jvm/stage2/NQPHLL.nqp:379) in comp_unit (gen/jvm/stage2/NQP.nqp:922) in TOP (gen/jvm/stage2/NQP.nqp:820) in parse (gen/jvm/stage2/QRegex.nqp:1247) in parse (gen/jvm/stage2/NQPHLL.nqp:1378) in…» | ||
..nqp-moarvm: OUTPUT«Confused at line 2, near "for ^1000 "panic» | |||
..nqp-parrot: OUTPUT«Confused at line 2, near "for ^1000 "current instr.: 'panic' pc 16305 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)» | |||
timotimo | oh, right. nqp. | ||
nqp: my $time := now(); my int $i := 1000; while $i > 0 { $i := $i + 1; nqp::split(' ', 'start pmc tgt string pos int off int eos int rep int cur pmc curclass pmc bstack pmc cstack pmc'); } say(now() - $time); | 00:49 | ||
camelia | nqp-jvm: OUTPUT«Confused at line 2, near "while $i >" in panic (gen/jvm/stage2/NQPHLL.nqp:379) in comp_unit (gen/jvm/stage2/NQP.nqp:922) in TOP (gen/jvm/stage2/NQP.nqp:820) in parse (gen/jvm/stage2/QRegex.nqp:1247) in parse (gen/jvm/stage2/NQPHLL.nqp:1378) in…» | ||
..nqp-parrot: OUTPUT«Confused at line 2, near "while $i >"current instr.: 'panic' pc 16305 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)» | |||
..nqp-moarvm: OUTPUT«Confused at line 2, near "while $i >"panic» | |||
timotimo | ... huh? | 00:50 | |
nqp: my $time := now(); my int $i := 1000; while ($i > 0) { $i := $i + 1; nqp::split(' ', 'start pmc tgt string pos int off int eos int rep int cur pmc curclass pmc bstack pmc cstack pmc'); } say(now() - $time); | |||
camelia | nqp-parrot: OUTPUT«Confused at line 2, near "while ($i "current instr.: 'panic' pc 16305 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)» | ||
..nqp-jvm: OUTPUT«Confused at line 2, near "while ($i " in panic (gen/jvm/stage2/NQPHLL.nqp:379) in comp_unit (gen/jvm/stage2/NQP.nqp:922) in TOP (gen/jvm/stage2/NQP.nqp:820) in parse (gen/jvm/stage2/QRegex.nqp:1247) in parse (gen/jvm/stage2/NQPHLL.nqp:1378) in…» | |||
..nqp-moarvm: OUTPUT«Confused at line 2, near "while ($i "panic» | |||
Mouq | nqp: say(now()) | ||
camelia | nqp-moarvm: OUTPUT«No lexical found with name '&now'frame_name_0» | ||
..nqp-jvm: OUTPUT«java.lang.NullPointerException in (/tmp/olhW2KiD1g:1) in (gen/jvm/stage2/NQPHLL.nqp:1100) in eval (gen/jvm/stage2/NQPHLL.nqp:1086) in evalfiles (gen/jvm/stage2/NQPHLL.nqp:1292) in command_eval (gen/jvm/stage2/NQPHLL.nqp:1196) in command_line…» | |||
..nqp-parrot: OUTPUT«Could not find sub &nowcurrent instr.: '' pc 45 ((file unknown):70821799) (/tmp/sTQ6Wtba4b:1)» | |||
Mouq | nqp: say(nqp::now()) | ||
camelia | nqp-parrot: OUTPUT«Error while compiling op now (source text: "nqp::now()"): No registered operation handler for 'now'current instr.: '' pc 58571 (gen/parrot/stage2/QAST.pir:21439) (gen/parrot/stage2/QAST.nqp:3584)» | ||
..nqp-moarvm: OUTPUT«Error while compiling op now (source text: "nqp::now()"): No registered operation handler for 'now'frame_name_1109» | |||
..nqp-jvm: OUTPUT«Method 'type' not found for invocant of class 'NQPMu' in coerce (gen/jvm/stage2/QAST.nqp:4097) in as_jast (gen/jvm/stage2/QAST.nqp:2981) in (gen/jvm/stage2/QAST.nqp:3678) in compile_all_the_stmts (gen/jvm/stage2/QAST.nqp:3666) in as_jast (gen/jvm…» | |||
timotimo | oh, whoops. | 00:51 | |
thanks | |||
Mouq hopes that once ::, :::, <commit> are implemented, NQP's errors can easily be made less terrible | |||
timotimo | nqp: say(nqp::time()) | 00:52 | |
camelia | nqp-moarvm: OUTPUT«Error while compiling op time (source text: "nqp::time()"): No registered operation handler for 'time'frame_name_1109» | ||
..nqp-parrot: OUTPUT«Error while compiling op time (source text: "nqp::time()"): No registered operation handler for 'time'current instr.: '' pc 58571 (gen/parrot/stage2/QAST.pir:21439) (gen/parrot/stage2/QAST.nqp:3584)» | |||
..nqp-jvm: OUTPUT«Method 'type' not found for invocant of class 'NQPMu' in coerce (gen/jvm/stage2/QAST.nqp:4097) in as_jast (gen/jvm/stage2/QAST.nqp:2981) in (gen/jvm/stage2/QAST.nqp:3678) in compile_all_the_stmts (gen/jvm/stage2/QAST.nqp:3666) in as_jast (gen/jvm…» | |||
timotimo | how do i even ... | ||
ah! | 00:53 | ||
nqp: say(nqp::time_n()) | |||
Mouq | nqp: say(nqp::time_n) | ||
timotimo | :) | ||
camelia | nqp-parrot: OUTPUT«1383871988.602» | ||
..nqp-jvm: OUTPUT«1.383871988443E9» | |||
..nqp-moarvm: OUTPUT«1383871984.011313» | |||
nqp-moarvm: OUTPUT«1383871988.736559» | |||
..nqp-parrot: OUTPUT«1383871993.77833» | |||
..nqp-jvm: OUTPUT«1.383871993585E9» | |||
timotimo | good good | ||
nqp: my $time := nqp::time_n(); my int $i := 1000; while ($i > 0) { $i := $i + 1; nqp::split(' ', 'start pmc tgt string pos int off int eos int rep int cur pmc curclass pmc bstack pmc cstack pmc'); } say(nqp::time_n() - $time); | |||
camelia | nqp-parrot: OUTPUT«Confused at line 2, near "while ($i "current instr.: 'panic' pc 16305 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)» | ||
..nqp-jvm: OUTPUT«Confused at line 2, near "while ($i " in panic (gen/jvm/stage2/NQPHLL.nqp:379) in comp_unit (gen/jvm/stage2/NQP.nqp:922) in TOP (gen/jvm/stage2/NQP.nqp:820) in parse (gen/jvm/stage2/QRegex.nqp:1247) in parse (gen/jvm/stage2/NQPHLL.nqp:1378) in…» | |||
..nqp-moarvm: OUTPUT«Confused at line 2, near "while ($i "panic» | |||
timotimo | er, that's also an infinite loop. | ||
Mouq would be interested to see a nqp::time_s | |||
timotimo | nqp: my $time := nqp::time_n(); my int $i := 1000; while ($i > 0) { $i := $i + 1; nqp::split(' ', 'start pmc tgt string pos int off int eos int rep int cur pmc curclass pmc bstack pmc cstack pmc'); }; say(nqp::time_n() - $time); | 00:54 | |
nooo | |||
timeout please | |||
camelia | nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«(timeout)» | ||
timotimo | nqp: my $time := nqp::time_n(); my int $i := 1000; while ($i > 0) { $i := $i - 1; nqp::split(' ', 'start pmc tgt string pos int off int eos int rep int cur pmc curclass pmc bstack pmc cstack pmc'); }; say(nqp::time_n() - $time); | ||
camelia | nqp-moarvm: OUTPUT«0.041667» | ||
..nqp-jvm: OUTPUT«0.013000011444091797» | |||
..nqp-parrot: OUTPUT«0.0045619010925293» | |||
timotimo | well, that's not terribly slow ... | 00:55 | |
(this is called once per compiled Regex object) | |||
impressive that parrot is 10x faster than moar, but they may have executed in parallel or something | 00:57 | ||
Mouq | nqp: my $time := nqp::time_n; nqp::split(' ', 'start pmc tgt string pos int off int eos int rep int cur pmc curclass pmc bstack pmc cstack pmc'); say(nqp::time_n() - $time); | ||
camelia | nqp-moarvm: OUTPUT«0.000022» | ||
..nqp-parrot: OUTPUT«1.09672546386719e-05» | |||
..nqp-jvm: OUTPUT«0» | |||
00:58
tobyink left,
btyler left
|
|||
timotimo | you think it was the loops fault? | 00:58 | |
01:01
preflex left
|
|||
timotimo | nqp-p: my $time_a := nqp::time_n(); my int $i := 1000; while $i > 0 { $i := $i - 1; "foo" ~ "bar" ~ "baz" ~ "quux" }; say(nqp::time_n() - $time_a); $time_a := nqp::time_n(); while $i < 1000 { $i := $i + 1; nqp::join("", ["foo", "bar", "baz", "quux"]) }; say(nqp::time_n() - $time_a); | 01:02 | |
camelia | nqp-parrot: OUTPUT«0.001332998275756840.00516510009765625» | ||
timotimo | nqp-j: my $time_a := nqp::time_n(); my int $i := 1000; while $i > 0 { $i := $i - 1; "foo" ~ "bar" ~ "baz" ~ "quux" }; say(nqp::time_n() - $time_a); $time_a := nqp::time_n(); while $i < 1000 { $i := $i + 1; nqp::join("", ["foo", "bar", "baz", "quux"]) }; say(nqp::time_n() - $time_a); | ||
camelia | nqp-jvm: OUTPUT«0.0030000209808349610.006999969482421875» | ||
timotimo | nqp-m: my $time_a := nqp::time_n(); my int $i := 1000; while $i > 0 { $i := $i - 1; "foo" ~ "bar" ~ "baz" ~ "quux" }; say(nqp::time_n() - $time_a); $time_a := nqp::time_n(); while $i < 1000 { $i := $i + 1; nqp::join("", ["foo", "bar", "baz", "quux"]) }; say(nqp::time_n() - $time_a); | ||
camelia | nqp-moarvm: OUTPUT«0.0019350.002369» | ||
timotimo | huh. so much for that hypothesis. | ||
nqp-m: my $time_a := nqp::time_n(); my int $i := 10000; while $i > 0 { $i := $i - 1; "foofoo" ~ "barbar" ~ "bazbaz" ~ "quuxquux" }; say(nqp::time_n() - $time_a); | 01:03 | ||
camelia | nqp-moarvm: OUTPUT«0.055504» | ||
01:03
preflex joined,
ChanServ sets mode: +v preflex,
risou_awy is now known as risou
|
|||
timotimo | nqp-m: my $time_a := nqp::time_n(); my int $i := 10000; while $i > 0 { $i := $i - 1; nqp::join("", ["foofoo", "barbar", "bazbaz", "quuxquux"] }; say(nqp::time_n() - $time_a); | 01:03 | |
camelia | nqp-moarvm: OUTPUT«Unable to parse expression in blockoid; couldn't find final '}' at line 2, near "nqp::join("panic» | ||
timotimo | nqp-m: my $time_a := nqp::time_n(); my int $i := 10000; while $i > 0 { $i := $i - 1; nqp::join("", ["foofoo", "barbar", "bazbaz", "quuxquux"]) }; say(nqp::time_n() - $time_a); | ||
camelia | nqp-moarvm: OUTPUT«0.070415» | ||
timotimo | so constructing the list is probably slower? | 01:04 | |
anyway, i'll get some rest | |||
01:08
btyler joined
01:11
berekuk left
01:15
cognominal joined
01:21
risou is now known as risou_awy
|
|||
lue idly wonders if comparing a list to key => key => key => ... => True is more efficient than to [item, item, item, ... item] | 01:26 | ||
comparing to [] takes about 2s per list right now :) | 01:28 | ||
01:29
btyler left,
xenoterracide left
02:00
jnap left
02:34
jeff_s1 joined
02:36
jeff_s2 left
02:45
colomon left
02:47
colomon joined
03:04
risou_awy is now known as risou
03:21
risou is now known as risou_awy
03:30
tipdbmp left
|
|||
dalek | gs.hs: 45cfed0 | au++ | HsSyck/ (3 files): * 0.51, switched to hashtables package. |
03:35 | |
03:40
tipdbmp joined
03:45
SamuraiJack joined
03:54
jeff_s2 joined
03:55
jeff_s1 left
04:17
REPLeffect left
04:24
preflex_ joined,
ChanServ sets mode: +v preflex_
04:25
preflex left,
preflex_ is now known as preflex
04:30
REPLeffect joined
04:36
ingy^ joined
|
|||
timotimo | (can't sleep :( ) | 04:50 | |
just after running perl Configure.pl --backend=parrot,jvm --gen-nqp=master i get "nqp-p is too old", when i "perl Configure.pl" after that, it works fine | 04:51 | ||
i wonder if list literals could be handled better by getting an explicit pre-growing done by the compiler or something | 05:00 | ||
or if that makes any difference at all | |||
but for now i'll try to sleep again | |||
nqp-p: my $time_a := nqp::time_n(); my int $i := 10000; while $i > 0 { $i := $i - 1; my $l := ["foofoo", "barbar", "bazbaz", "quuxquux", "abc", "def", "ghi"]; }; say(nqp::time_n() - $time_a); | 05:02 | ||
camelia | nqp-parrot: OUTPUT«0.0372607707977295» | ||
timotimo | nqp-p: my $time_a := nqp::time_n(); my int $i := 10000; while $i > 0 { $i := $i - 1; my $l := nqp::list("foofoo", "barbar", "bazbaz", "quuxquux", "abc", "def", "ghi"); }; say(nqp::time_n() - $time_a); | ||
camelia | nqp-parrot: OUTPUT«0.0614409446716309» | ||
timotimo | huh | ||
that's interesting. but it also seems to be pretty fast on its own | |||
maybe the former gets a WVal and the latter doesn't? | 05:03 | ||
nqp-p: my $time_a := nqp::time_n(); my int $i := 10000; while $i > 0 { $i := $i - 1; my $l := nqp::list_s("foofoo", "barbar", "bazbaz", "quuxquux", "abc", "def", "ghi"); }; say(nqp::time_n() - $time_a); | |||
camelia | nqp-parrot: OUTPUT«0.0475258827209473» | ||
05:05
risou_awy is now known as risou
|
|||
diakopter | tadzik: you seem sleepy | 05:06 | |
05:10
thou joined
05:21
risou is now known as risou_awy
05:22
[Sno] left
|
|||
lue | diakopter: sure that's not you? ;) | 05:28 | |
05:32
rurban joined
05:33
davecc left
05:36
rurban left
05:55
ingy^ left
06:08
rurban joined
|
|||
moritz | \o | 06:11 | |
06:17
itz_ left
06:21
BenGoldberg left,
itz joined
06:27
kaleem joined
06:32
nnunley left
06:42
[Sno] joined
06:53
rurban left
07:00
darutoko joined
07:06
risou_awy is now known as risou
07:11
raiph left
07:24
risou is now known as risou_awy
|
|||
dalek | ecs: 5e2c420 | larry++ | S03-operators.pod: Adopt quietfanatic++'s suggestion of Less/More The problem is not the sign of the numeric values, which is consistent with common usage in C and Perl. The problem is that the names seemed to be answering the opposite question from the "less, same, or greater" operators, which are asking about the left operand, not the right one. fixes 61 |
07:30 | |
07:30
tobyink joined
07:45
awwaiid left
07:49
cognominal left
07:52
awwaiid joined
07:54
tobyink left,
rurban joined
07:55
cognominal joined
08:01
thou left
08:03
jac50 joined,
brrt joined,
rurban left
08:04
jac50 is now known as lemOn91
08:09
xenoterracide joined
08:10
thou joined
08:11
awwaiid left
08:13
Util_ is now known as Util
|
|||
moritz | .oO( Order::Less? we are orderless! ) |
08:16 | |
08:16
ssutch left
08:18
awwaiid joined
08:22
daniel-s__ left
08:26
cognominal left,
cognominal joined
08:38
zakharyas joined
08:42
lemOn91 left
08:45
brrt left
08:49
cognominal left
08:51
eternaleye left
|
|||
jnthn | .oO( more or less ) |
08:52 | |
09:01
rurban joined
09:03
dmol joined
09:05
eternaleye joined,
eternaleye left,
eternaleye joined
09:07
risou_awy is now known as risou
09:08
hummeleB1 left
09:12
kivutar joined
09:16
rurban left
09:20
kaleem left
09:21
kaleem joined
09:23
risou is now known as risou_awy
09:24
kaleem left
09:40
FROGGS[mobile] joined
09:43
tobyink joined
09:44
kaleem joined
09:54
woosley left
09:55
iSlug joined
10:08
brrt joined
10:11
FROGGS joined
10:12
FROGGS[mobile] left
10:16
daxim_ joined
10:32
fhelmberger joined
|
|||
dalek | Heuristic branch merge: pushed 653 commits to rakudo/sized-arrays by FROGGS | 10:34 | |
Heuristic branch merge: pushed 42 commits to rakudo/sized-arrays by FROGGS | 10:37 | ||
timotimo | oh, cool! are you going to bring that branch up to speed? | 10:38 | |
FROGGS | at least so I can run a spectest :o) | 10:39 | |
dalek | kudo/sized-arrays: 0defacb | (Tobias Leich)++ | perl6-j: removed perl6-j |
||
10:43
kivutar left
10:48
p5eval_ left
10:50
p5eval joined
11:03
denis_boyun joined
11:04
brrt left
11:07
brrt joined,
brrt left,
risou_awy is now known as risou
11:10
pdurbin left,
berekuk joined
|
|||
jnthn | FROGGS++ | 11:15 | |
moritz | uhm, so the pull request github.com/rakudo/rakudo/pull/217 was against another rakudo branch, not nom? | ||
moritz is rather confused | |||
11:20
cognominal joined
11:23
dmol left
11:24
risou is now known as risou_awy
11:33
daxim_ left
11:35
bbkr joined
11:44
denis_boyun left
11:55
kresike joined
|
|||
kresike | hello all you happy perl6 people | 11:55 | |
12:02
berekuk left
|
|||
lizmat | hi kresike! | 12:03 | |
timotimo | hello there | ||
(from a train o/) | |||
12:03
brrt joined
|
|||
timotimo | i was hoping i could get some productivity done from here, since many good commits seem to happen on trains for other perl6ers :) | 12:03 | |
moritz | \o timotimo.train :-) | 12:06 | |
lizmat | .oO( an excellent train of thought ) |
||
fwiw, I'm working on Increase/Decrease -> Less/More transition | 12:08 | ||
moritz | lizmat++ | ||
12:09
daxim_ joined
|
|||
timotimo | nqp-p: my $time := nqp::time_n(); my int $i := 0; while $i < 5000 { $i := $i + 1; nqp::eqat("$foobar", "$", 0) }; say(nqp::time_n() - $time); | 12:11 | |
camelia | nqp-parrot: OUTPUT«Use of undeclared variable '$foobar' at line 2, near "\", \"$\", 0)"current instr.: 'panic' pc 16305 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)» | ||
timotimo | nqp-p: my $time := nqp::time_n(); my int $i := 0; while $i < 5000 { $i := $i + 1; nqp::substr("$foobar", 0, 1) eq '$' }; say(nqp::time_n() - $time); | ||
camelia | nqp-parrot: OUTPUT«Use of undeclared variable '$foobar' at line 2, near "\", 0, 1) e"current instr.: 'panic' pc 16305 (gen/parrot/stage2/NQPHLL.pir:6018) (gen/parrot/stage2/NQPHLL.nqp:426)» | ||
timotimo | derp | ||
nqp-p: my $time := nqp::time_n(); my int $i := 0; while $i < 5000 { $i := $i + 1; nqp::eqat('$foobar', "$", 0) }; say(nqp::time_n() - $time); | |||
camelia | nqp-parrot: OUTPUT«Error while compiling op eqat (source text: "nqp::eqat('$foobar', \"$\", 0)"): No registered operation handler for 'eqat'current instr.: '' pc 58571 (gen/parrot/stage2/QAST.pir:21439) (gen/parrot/stage2/QAST.nqp:3584)» | ||
timotimo | ah, haven't bumped up the NQP_REVISION far enough yet | ||
12:14
berekuk joined
|
|||
timotimo | yay, on parrot, eqat is 3x faster than substr+eq in the case of a 1-length substring | 12:16 | |
FROGGS | cool! | 12:19 | |
timotimo++ | |||
dalek | ast: 3a5af16 | (Elizabeth Mattijsen)++ | S (16 files): Increase/Decrease -> Less/More migration As per recent spec change |
12:20 | |
timotimo | same for longer strings | ||
but it doesn't help terribly much, as it can do a million of those operations in a tenth of a second anyway | |||
now, there's two spots in the regex compiler where it emits substr + eq which i *could* try to turn into eqat instead. sounds like it's worth it? it's for newline-cclass and any literal | 12:21 | ||
i'll definitely have to rebuild the stage0 files for that, though | 12:23 | ||
dalek | kudo/nom: 132a970 | (Elizabeth Mattijsen)++ | src/core/ (2 files): Increase/Decrease -> Less/More migration As per recent spec change. Added Increase/Decrease as DEPRECATED subs. Not sure how I can add Order::Increase/Order::Decrease as DEPRECATED subs :-( |
12:25 | |
moritz | r: our sub Order::Blafu is DEPREACATED('blubb') { }; Order::Blafu | 12:28 | |
camelia | rakudo-jvm 882e33: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.» | ||
..rakudo-parrot 5bd51c: OUTPUT«===SORRY!=== Error while compiling /tmp/x2CN6r3NEOCan't use unknown trait 'is DEPREACATED' in a sub declaration.at /tmp/x2CN6r3NEO:1------>  expecting any of: rw parcel hidden_from_backtrace pure defau…» | |||
moritz | p: our sub Order::Blafu is DEPRECATED('blubb') { }; Order::Blafu | ||
camelia | rakudo-parrot 5bd51c: OUTPUT«Could not find symbol '&Blafu' in method <anon> at gen/parrot/CORE.setting:11984 in any at gen/parrot/Metamodel.nqp:2691 in any find_method_fallback at gen/parrot/Metamodel.nqp:2679 in any find_method at gen/parrot/Metamodel.nqp:946 …» | ||
moritz | p: package Order { our sub Blafu is DEPRECATED('blubb') { } }; Order::Blafu | ||
camelia | rakudo-parrot 5bd51c: OUTPUT«Saw 1 call to deprecated code during execution.================================================================================Sub Blafu (from Order) called at: /tmp/HGh3KsuQCh, line 1Please use blubb instead.-----------------------------…» | ||
moritz | p: package Order { our sub Blafu is DEPRECATED('blubb') { } }; Order::Blafu; say Order::Increase | 12:29 | |
camelia | rakudo-parrot 5bd51c: OUTPUT«Could not find symbol '&Increase' in method <anon> at gen/parrot/CORE.setting:11984 in any at gen/parrot/Metamodel.nqp:2691 in any find_method_fallback at gen/parrot/Metamodel.nqp:2679 in any find_method at gen/parrot/Metamodel.nqp:946…» | ||
moritz | ah, that overrides the namespace, so no good | ||
jnthn | p: Order::<&Blafu> = anon sub Blafu() is DEPRECATED { 1 }; say Order::Blafu | 12:30 | |
camelia | rakudo-parrot 5bd51c: OUTPUT«1Saw 1 call to deprecated code during execution.================================================================================Sub Blafu (from GLOBAL) called at: /tmp/cy9D01nkSH, line 1Please use something else instead.---------------…» | ||
jnthn | "use somethign else"? :) | 12:31 | |
timotimo | well ... cloning moarvm over a super thin phone connection .... :( | ||
jnthn | p: Order::<&Blafu> = anon sub Blafu() is DEPRECATED('your mom') { 1 }; say Order::Blafu | ||
camelia | rakudo-parrot 5bd51c: OUTPUT«1Saw 1 call to deprecated code during execution.================================================================================Sub Blafu (from GLOBAL) called at: /tmp/_MpLD6MQMh, line 1Please use your mom instead.---------------------…» | ||
jnthn | ah, k | ||
timotimo | i'm glad i got all the data i'll need for the next minutes | 12:34 | |
jnthn | timotimo: Just hope there ain't too many tunnels :) | 12:35 | |
timotimo | oh there are. | ||
i know this line already. this is from my home to my parent's home | |||
at least i got an ICE for the biggest part of the yo^H^Hjourney :) | 12:36 | ||
ICEs are nice | |||
in theory there's a wifi hotspot in this one, but i'm pretty sure it's very expensive | |||
jnthn | .oO( ICE ICE baby... ) |
||
moritz | yes, you have to sell your soul to t-online | ||
jnthn | The Swedish train I was only the other day had free wifi, but only 'cus they're testing out a new wifi instatllation. | 12:37 | |
One that uses 4G. | |||
The latency did feel a bit lower. | 12:38 | ||
btw, is the r-j evalbot running latest? I'd hoped that yesterday's fixes to help evalserver would make ti more rreliable | 12:39 | ||
timotimo | hm. if the substr+eq part of 'literal' and newline actually get 3x faster, maybe it'll make a noticable difference in setting parse time. that would be awesome :) | ||
i don't really have a good system do^H^Hto do time measurements on though | |||
brrt | dutch trains have free wifi too, rather slow, and also provided by t-mobile | ||
dalek | kudo/nom: c31f307 | (Elizabeth Mattijsen)++ | src/core/Order.pm: Add signatures to Increase/Decrease |
12:40 | |
ast: e4d9c67 | (Elizabeth Mattijsen)++ | S02-types/deprecations.t: Add deprecation tests for Increase/Decrease |
12:41 | ||
jnthn | lizmat: While I don't know of anything immediately better, the subs will parse as listops as opposed to the term that Increase used to parse as | ||
lizmat: Oh, maybe we can actually do it as a term... | |||
timotimo | turns out my moarvm is 522 commits behind >_> | 12:42 | |
jnthn | r: sub term:<Blah>() is DEPRECATED('a dugong') { 1 }; say Blah | ||
camelia | rakudo-parrot 5bd51c: OUTPUT«1» | ||
..rakudo-jvm 882e33: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.» | |||
lizmat | jnthn: is DEPRECATED doesn't work in settings | 12:43 | |
jnthn | lizmat: huh? | ||
timotimo | /usr/bin/ld: 3rdparty/sha1/libsha1.a(sha1.o): relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC - is there something i must do differently? | ||
jnthn | I thought that's where you'd been using it? | ||
timotimo tried reconfiguring | |||
jnthn | timotimo: Try a realclean | ||
FROGGS | timotimo: make realclean | ||
timotimo | thanks | ||
lizmat | jnthn: I call the DEPRECATED sub inside the Increase sub | ||
jnthn | lizmat: oh... | 12:44 | |
lizmat: but my example above wasn't int he setting. | |||
lizmat | that's the "is DEPRECATED" work horse | ||
FROGGS | because your 3rdparty libs are built without -fPIC, and won't be rebuild when they are there | ||
lizmat | jnthn: I think it just gets ignored on terms ? | ||
jnthn | p: sub infix:<wtf>(*@a) { say @a.join('wtf') }; say 'omg' wtf 'bbq' | ||
lizmat | ah, ok, I get your pount | ||
camelia | rakudo-parrot 5bd51c: OUTPUT«omgwtfbbqTrue» | 12:45 | |
jnthn | p: sub infix:<wtf>(*@a) is DEPRECATED('a toaster') { @a.join('wtf') }; say 'omg' wtf 'bbq' | ||
camelia | rakudo-parrot 5bd51c: OUTPUT«omgwtfbbqSaw 1 call to deprecated code during execution.================================================================================Sub infix:<wtf> (from GLOBAL) called at: /tmp/qOYk38w3mr, line 1Please use a toaster instead.------…» | ||
FROGGS | >.< | ||
12:45
risou_awy is now known as risou
|
|||
jnthn | p: sub term:<wtf>() is DEPRECATED('a dancing hamster') { 'wtf' }; say wtf | 12:46 | |
camelia | rakudo-parrot 5bd51c: OUTPUT«wtf» | ||
jnthn | o.O | ||
lizmat | maybe terms don't have phasers ? | ||
jnthn | oh, I wonder... | ||
p: sub term:<wtf>() is DEPRECATED('a dancing hamster') { say 'DON'T INLINE ME'; 'wtf' }; say wtf | |||
camelia | rakudo-parrot 5bd51c: OUTPUT«===SORRY!=== Error while compiling /tmp/VY8Cc4OHgdTwo terms in a rowat /tmp/VY8Cc4OHgd:1------> RECATED('a dancing hamster') { say 'DON'⏏T INLINE ME'; 'wtf' }; say wtf expecting any of: post…» | ||
jnthn | p: sub term:<wtf>() is DEPRECATED('a dancing hamster') { say 'DO NOT INLINE ME'; 'wtf' }; say wtf | 12:47 | |
camelia | rakudo-parrot 5bd51c: OUTPUT«DO NOT INLINE MEwtfSaw 1 call to deprecated code during execution.================================================================================Sub term:<wtf> (from GLOBAL) called at: /tmp/jmqp2rKFtx, line 1Please use a dancing hamst…» | ||
jnthn | Bah | ||
The inliner had better check for lack of phasers :) | |||
Or we jsut have another phase-order problem again in routine_def. | |||
Probably the latter | |||
lizmat | well | ||
jnthn | Anyway, that wants an RT. | ||
lizmat | in any case, I think I can fix Increase/Decrease | 12:48 | |
moritz | p: sub term:<wtf>() { LEAVE { say 'not here anymore' } 42 }; say wtf | ||
camelia | rakudo-parrot 5bd51c: OUTPUT«===SORRY!=== Error while compiling /tmp/OAVRLfMkHWTwo terms in a rowat /tmp/OAVRLfMkHW:1------> f>() { LEAVE { say 'not here anymore' } ⏏42 }; say wtf expecting any of: postfix sta…» | ||
moritz | p: sub term:<wtf>() { LEAVE { say 'not here anymore' }; 42 }; say wtf | ||
camelia | rakudo-parrot 5bd51c: OUTPUT«not here anymore42» | ||
jnthn | moritz: The ENTER is added by a trait; I guess that's the "issue". | 12:49 | |
lizmat | ah, I see what you mean | ||
ok, will follow up on that | |||
jnthn | I can probably fix it quite easily, but not from teaching | ||
lizmat | you have plenty of other things to fix :-) | 12:50 | |
lemme see if I can fix this | |||
timotimo | it's time for me to get a new laptop with a stronger processor ... | ||
jnthn | .oO( Like, the naming of EVERYTHING in src/vm/jvm/core/Threading.pm :P ) |
||
timotimo | this build is taking forever | 12:51 | |
granted, three backends, but still! | |||
jnthn | timotimo: So I heard you're building Perl 6 on rails... | ||
:P | |||
lizmat | jnthn: if you want, I can have a go at that... | ||
jnthn | lizmat: Go for it! :) | ||
timotimo | :) | 12:52 | |
i've been ogling a friend's t440s for a bit, that seems like a really great device | |||
jnthn | lizmat: Tehre's also tests in t/spec/S17-concurrency that may help, though will also want an update | ||
lizmat | jnthn: would it be an idea to create a Promise.pm c.s for parakudo ? | 12:53 | |
that would just fail ? | |||
12:54
SmokeMachine left
|
|||
jnthn | lizmat: japhb suggested a single-threaded emulation even | 12:58 | |
lizmat: It *will* deadlock | 12:59 | ||
lizmat: If you do certain things | |||
lizmat: But may make some things work | |||
lizmat | maybe we need an "is EMULATED" ? | ||
jnthn | Just call it is BROKEN :P | ||
lizmat | hehe | 13:00 | |
timotimo | parrot and jvm builds finished, now for some moar | ||
hoelzro | hehe | ||
moar builds! | |||
lizmat | is there any reason you want to keep that in src/jvm ? | ||
jnthn | timotimo: I have a T430s and it's ncie. Got the wireless hardware bug fixed today too :) | ||
lizmat: What will eventually happen is we'll separate out the VM-specific from the VM-independent. But I'm not really ready for that yet. | 13:01 | ||
lizmat | ok, I'll just focus on renaming | ||
jnthn | And we may end up with none of it VM-specific some day and nqp:: ops for stuff | 13:02 | |
We'll see :) | |||
lizmat | indeed :-) | ||
jnthn: would you mind putting classes into their own files yet? or is that too soon as well? | 13:03 | ||
jnthn | lizmat: Oh, I'm +1 to splitting up the huge Threading.pm :) | ||
It's misnamed and huge. | |||
lizmat | that was my feeling as well | 13:04 | |
jnthn | Just hadn't go around to it yet :) | ||
And no reason I have to do it :) | |||
timotimo | jnthn: how many things are still missing for moar-support to land? | ||
jnthn | timotimo: dunno :) | 13:05 | |
The next big thign is basic sig binding :) | |||
timotimo | huh^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^Hdamn, i can't build nqp-moar at the moment | ||
Unable to parse expression in method_def; couldn't find final ')' at line 4328, near "MAST::Node" | |||
is that something known? | |||
jnthn | I thought we'd fixed all those... | 13:06 | |
timotimo | hm. maybe something i have is out of date? | ||
jnthn | That or we've a leftover bug | 13:07 | |
timotimo | i don't want to have fresh stage0 for parrot and jvm, but not for moar :( | ||
13:07
pernatiy joined
|
|||
jnthn | Why are you making a fresh stage0, ooc? | 13:08 | |
timotimo | i guess i can develop it on parrot only for the moment | 13:09 | |
also, the constant stage0 updates are making the nqp repo prohibitively big | |||
jnthn | eeks, I have the first talk of the morning! act.yapc.eu/npw2013/schedule | ||
timotimo: Yes, that's why I was asking you why you're doing another one :) | |||
13:09
kivutar joined
|
|||
moritz | timotimo: make m-bootstrap-files ? | 13:10 | |
timotimo | you were? | ||
moritz: won't work if i can't get nqp-moar to compile in the first place ;) | 13:11 | ||
moritz | timotimo: right :-) | ||
timotimo | jnthn: the fresh stage0 is supposed to have eqat, so that i can use it in several places (like the implementation of literal or the cclass for newline in the regex compiler might help performance at least a tiny bit) | ||
13:12
benabik left
|
|||
moritz | you only need that if you use it in nqp source code, not if you use it in generated code | 13:12 | |
timotimo | ah, ok. but i'm still using it in some places to replace combinations of substr + eq | 13:13 | |
in the same compiler, for example | |||
and in the grammar, actions, module loader, ... | 13:14 | ||
now i'm going through a lot of tunnels :| | 13:16 | ||
ooc, how hard could it possibly be to make enumcharlist use ranges instead of huge amounts of values when you have big character classes? | 13:17 | ||
moritz | timotimo: I've long wanted to use bitmaps for the first 255 codepoints, and skiplists for the rest | 13:18 | |
timotimo | that sounds good | ||
i can re^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^Hi can freely re-use registers in pir code, right? | 13:20 | ||
moritz | yes | 13:21 | |
lizmat | pir? | ||
*shudder* | 13:22 | ||
:-) | |||
13:25
denis_boyun joined
|
|||
lizmat | jnthn: alas, putting sub term:<Increase> into settings, doesn't work :-( | 13:26 | |
timotimo | hehe | ||
what's the simplest way to negate the value in a register? (0/1 based) | |||
lizmat | only works outside of settings :-( | ||
reverting to ordinary sub :-( | 13:27 | ||
moritz | nqp: say(nqp::not(1)) | 13:28 | |
camelia | nqp-parrot: OUTPUT«Error while compiling op not (source text: "nqp::not(1)"): No registered operation handler for 'not'current instr.: '' pc 58571 (gen/parrot/stage2/QAST.pir:21439) (gen/parrot/stage2/QAST.nqp:3584)» | 13:29 | |
..nqp-moarvm: OUTPUT«Error while compiling op not (source text: "nqp::not(1)"): No registered operation handler for 'not'frame_name_1109» | |||
..nqp-jvm: OUTPUT«Method 'type' not found for invocant of class 'NQPMu' in coerce (gen/jvm/stage2/QAST.nqp:4097) in as_jast (gen/jvm/stage2/QAST.nqp:2981) in (gen/jvm/stage2/QAST.nqp:3678) in compile_all_the_stmts (gen/jvm/stage2/QAST.nqp:3666) in as_jast (gen/jvm…» | |||
moritz | nqp: say(nqp::neg(1)) | ||
camelia | nqp-parrot: OUTPUT«Error while compiling op neg (source text: "nqp::neg(1)"): No registered operation handler for 'neg'current instr.: '' pc 58571 (gen/parrot/stage2/QAST.pir:21439) (gen/parrot/stage2/QAST.nqp:3584)» | ||
..nqp-moarvm: OUTPUT«Error while compiling op neg (source text: "nqp::neg(1)"): No registered operation handler for 'neg'frame_name_1109» | |||
..nqp-jvm: OUTPUT«Method 'type' not found for invocant of class 'NQPMu' in coerce (gen/jvm/stage2/QAST.nqp:4097) in as_jast (gen/jvm/stage2/QAST.nqp:2981) in (gen/jvm/stage2/QAST.nqp:3678) in compile_all_the_stmts (gen/jvm/stage2/QAST.nqp:3666) in as_jast (gen/jvm…» | |||
timotimo | i went with $ops.push_pirop('lt', %*REG<fail>, 1, %*REG<fail>); | ||
13:31
ajr joined,
ajr is now known as Guest13104,
Guest13104 is now known as ajr_
|
|||
FROGGS | nqp-p: say(nqp::neg_i(1)) | 13:33 | |
camelia | nqp-parrot: OUTPUT«-1» | ||
FROGGS | nqp-p: say(nqp::neg_i(0)) | ||
camelia | nqp-parrot: OUTPUT«0» | ||
FROGGS | nqp-p: say(nqp::neg_i(-1)) | ||
camelia | nqp-parrot: OUTPUT«1» | ||
FROGGS | nqp-p: say(nqp::bitneg_i(1)) | 13:34 | |
camelia | nqp-parrot: OUTPUT«error:imcc:syntax error, unexpected IREG, expecting '(' ('$I5003') in file '(file unknown)' line 51114903» | ||
moritz | nqp-p: say(1-1) | ||
camelia | nqp-parrot: OUTPUT«0» | ||
moritz | nqp-p: say(1-0) | ||
camelia | nqp-parrot: OUTPUT«1» | ||
moritz | if it's always 0 or 1, 1 - $reg works fine :-) | ||
13:38
colomon left
|
|||
timotimo | uaii'm not very good at this pir thing | 13:39 | |
error:imcc:The opcode 'nqp_string_equal_at_ic_s_sc_i' (nqp_string_equal_at<4>) was not found. Check the type and number of the arguments | |||
FROGGS | nqp-p: say( Q:PIR { $I100 = 0$I101 = not $I100say $I101 } ) | 13:43 | |
camelia | nqp-parrot: OUTPUT«1» | ||
FROGGS | nqp-p: say( Q:PIR { $I100 = 1$I101 = not $I100say $I101 } ) | ||
camelia | nqp-parrot: OUTPUT«0» | ||
13:45
woolfy left
|
|||
FROGGS | nqp-p: say( Q:PIR { $I100 = 7$I101 = not $I100say $I101 } ) | 13:45 | |
camelia | nqp-parrot: OUTPUT«0» | ||
13:45
woolfy joined
|
|||
timotimo | so, i must be doing this wrong | 13:46 | |
13:46
colomon joined
|
|||
timotimo | $ops.push_pirop('nqp_string_equal_at', %*REG<fail>, %*REG<tgt>, $litpost, %*REG<pos>); | 13:47 | |
why would it ever have the first parameter be ic? that's the register i'm trying to write to | |||
13:49
denis_boyun left
|
|||
timotimo | ah, finally a bit of network ... hopefully | 13:49 | |
moritz: you mucked about with the rxcompiler recently. do you have an idea? | 13:53 | ||
FROGGS | timotimo: can you paste the generated pir line? | 13:54 | |
13:55
dmol joined,
berekuk left
|
|||
timotimo | nqp_string_equal_at rx85_fail207, rx85_tgt, ucs4:"_", rx85_pos | 13:57 | |
13:57
colomon left
|
|||
timotimo | huh, is that really how to put a string literal in there? | 13:57 | |
13:58
berekuk joined
|
|||
jnthn | lizmat: oh, yeah...if you want a term added it also nmeeds to go in the grammar, same like any infix things too | 13:58 | |
timotimo: $ops.push_pirop('lt', %*REG<fail>, 1, | 13:59 | ||
13:59
colomon joined
|
|||
jnthn | timotimo: I'm pretty sure you don't mean fail there | 13:59 | |
14:00
tobyink left
|
|||
moritz | timotimo: where is the op defined? | 14:00 | |
14:01
lizmat left
|
|||
timotimo | moritz: in nqp.ops | 14:01 | |
it's in the current master, too | |||
14:02
lizmat joined
|
|||
timotimo | jnthn: if the node is negated, i want to invert the value of fail, which would at that point contain the result value of my eqat call | 14:02 | |
that's what i thought. is that still wrong? | |||
jnthn | timotimo: but fail is a label, not a register? | ||
timotimo | it ... is? | ||
well, that would explain it then i guess? | |||
jnthn | sure,t hat's why we can goto %*REG<fail> :) | ||
moritz | yes, a label to jump to | 14:03 | |
timotimo | ah, so gt and friends are gotos | ||
jnthn | right | ||
timotimo | that explains it! | ||
jnthn | ;) | ||
timotimo | i'd goto fail if the match doesn't go through, right? | ||
jnthn | yeah | ||
FROGGS | we should totally do more pir in future :o) | 14:04 | |
jnthn | I...uh...no. :P | ||
FROGGS | *g* | ||
14:04
kaleem left
|
|||
timotimo | what op do i use to compare numbers fo requality? | 14:04 | |
FROGGS | I enjoy it somehow | ||
timotimo | eq_i? | ||
FROGGS | AST::Operations.add_core_pirop_mapping('iseq_i', 'iseq', 'Iii' | 14:05 | |
moritz | so iseq | 14:06 | |
timotimo: I think eq jumps to a label if equal, or something funny | |||
lizmat | jnthn: any objection to moving the Promise c.s. exceptions to src/core/Exception ? | 14:07 | |
timotimo | oh, i want to jump | ||
but i thought eq is string equlaity | |||
jnthn | timotimo: nooooooo....don't jump! | 14:08 | |
timotimo: eq depends on regiser type I think | |||
timotimo | ; | ||
ah, ok | |||
jnthn | timotimo: I think iseq is used for getting the result | ||
Like if you don't want to jump | |||
lizmat: I don't really see why to do that... | 14:09 | ||
moritz | ♫ let's do the PIR jump again ♬ | ||
jnthn | lizmat: It puts whem further away from the things they relate to. | ||
timotimo | the code seems to continue compiling past nqphll now | ||
that's a good sign | |||
if i have network coverage (damn you, eplus!) i'll update you on my progress | |||
lizmat | jnthn: well that seems to be the meme of src/core/Exception | ||
stub them, and then define them in src/core/Exception | 14:10 | ||
timotimo | what does c.s mean? :/ | ||
lizmat | cum suis | ||
FROGGS | coffee shop? | ||
ohh | |||
lizmat | and the like ? | ||
jnthn | can't say | ||
moritz | ah, I usually use 'et al' for that :-) | ||
but that's just "and others" | |||
lizmat | hmmm.. oddly enough, this seems to be Dutch :-) | 14:11 | |
FROGGS | "Acronym Finder: CS stands for Cum Suis (Latin: and associates). This definition appears very rarely." | ||
jnthn | Not in lizmat's messages :P | ||
FROGGS | *g* | ||
lizmat | hehe | ||
jnthn | lizmat: Well, I think Threading stuff comes after exceptions, though... | 14:12 | |
FROGGS | the rare stuff happens pretty often here in #perl6 :o) | ||
jnthn | lizmat: We could move 'em there I guess... | ||
timotimo | now that i've figured out (with your help) how to use the fail thing, i get excellent network coverage | ||
lizmat | it's what been done everywhere else in core, afaik | ||
timotimo | what is this >_< | ||
jnthn | lizmat: But it may be more conveneint to keep them near the stuff tehy relate to while we're still going through name changes. | ||
lizmat | yes, I'll keep them close for now | 14:13 | |
we don't want abandoned exceptions hanging around | |||
jnthn | aye | ||
moritz | .oO( dangling exception at line 25 ) |
||
14:13
araujo left
|
|||
jnthn | .oO( exceptional dangling at high line 10 ) |
14:14 | |
14:14
araujo joined,
araujo left,
araujo joined
|
|||
lizmat | who said anything about dangling? | 14:14 | |
:-) | |||
14:14
rurban joined
|
|||
FROGGS .oO( exceptional dumpling at high line 10 ) | 14:15 | ||
moritz | nobody! The IR clogs prove it. DELETE FROM ilbot_lines WHERE line LIKE '%dangling%'; | ||
FROGGS | only her smile remains :o) | ||
timotimo | wow | 14:17 | |
a noticable difference | |||
from 233 seconds to 224 seconds for stage parse | |||
hoelzro | wow | ||
such noticable dffirence | |||
amaze | |||
moritz | timotimo++ | 14:18 | |
FROGGS | wanna have! | ||
timotimo | r: say224/233 | ||
hoelzro | many plus | ||
timotimo | well, it's still a very noisy set of just two data points | ||
camelia | rakudo-jvm 882e33: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.» | ||
..rakudo-parrot c31f30: OUTPUT«===SORRY!=== Error while compiling /tmp/x6PhUXHs0bUndeclared routine: say224 used at line 1» | |||
timotimo | r: say 224/233 | ||
camelia | rakudo-parrot c31f30: OUTPUT«0.961373» | ||
..rakudo-jvm 882e33: OUTPUT«Can't call method "syswrite" on an undefined value at /home/p6eval/jvm-rakudo/eval-client.pl line 32.» | |||
timotimo | 5%, won't knowk that | ||
knock* | |||
14:18
nnunley joined
|
|||
timotimo | i'll upload my code and someone with a beefier machine can do speed measurements for me (please) | 14:18 | |
moritz | j: say 'alive' | 14:19 | |
14:19
Hugh_ joined
|
|||
moritz | timotimo: sure, will do | 14:19 | |
timotimo | this may take a while :( | ||
camelia | rakudo-jvm 882e33: OUTPUT«(timeout)» | ||
timotimo | stage0 through thin phne connection | 14:20 | |
dalek | p/eqat_use: e41972e | (Timo Paulssen)++ | src/vm/ (19 files): update stage0 for parrot and jvm to get eqat op. |
||
p/eqat_use: 1e21ec9 | (Timo Paulssen)++ | src/vm/parrot/QAST/Compiler.nqp: use eqat instead of substr+eq in the parrot qast compiler |
|||
p/eqat_use: 5bf513d | (Timo Paulssen)++ | src/ (5 files): use the new nqp::eqat op in a couple of places |
|||
p/eqat_use: 2608c7a | (Timo Paulssen)++ | src/vm/parrot/QAST/Compiler.nqp: use eqat in the literal regex code on parrot |
|||
FROGGS fetches | |||
moritz builds | 14:22 | ||
14:27
thou left
14:29
kivutar left
|
|||
moritz | dammit, I should have done a reference timing *before* | 14:29 | |
14:30
SmokeMachine joined,
dmol left,
SamuraiJack left
14:31
raiph joined
|
|||
timotimo | know that feel :) | 14:32 | |
moritz | parrot with eqat_use stage parse: 116.610 | ||
will post the other timings when I have them | 14:33 | ||
timotimo | ty | ||
changing trains now | |||
online with my phone | |||
14:34
berekuk left
14:35
johnny5_ left
|
|||
moritz | JVM with eqat_use stage parse: 45.171 | 14:36 | |
14:37
xenoterracide left,
johnny5_ joined
|
|||
timotimo | jvm does not have many changes | 14:37 | |
moritz | now building nqp/master again | ||
lizmat | moritz: 50.270 just now, without these | ||
timotimo | i hope the winnings are for real | 14:38 | |
dalek | kudo/sized-arrays: 3823b87 | moritz++ | tools/lib/NQP/Configure.pm: [Configure] get rid of spurious "NQP too old" messages |
||
moritz | eeks, I was on the wrong branch the whole time :-) | ||
well, shouldn't matter much for relative comparison | |||
14:38
cognominal left
|
|||
moritz | I'll cherry-pick that commit into nom later on | 14:39 | |
timotimo | :) | ||
dalek | kudo/nom: 8e64a83 | (Elizabeth Mattijsen)++ | / (15 files): Split Threading.pm into components No other changes made to content just yet. Keeping the old Threading.pm around for reference for now. |
14:40 | |
14:41
beastd joined
14:43
jnap joined
|
|||
timotimo | fwiw i did not run many tests with my changes | 14:43 | |
soit may be wrong but still succeed in building nqp&raludo | 14:44 | ||
14:47
btyler joined,
bluescreen10 joined
|
|||
moritz | parrot with nqp/master: 116.489 | 14:49 | |
timotimo | aaw | ||
so it was all noise? | 14:51 | ||
moritz | wait for the JVM timing | ||
timotimo | sadface | ||
jvm should not see changes | |||
at least for stage parse | 14:52 | ||
moritz | 44.926 | 14:53 | |
14:53
benabik joined
|
|||
timotimo | that's just noise, yeah | 14:54 | |
it should have done *something* | 14:55 | ||
now I'm disappointed :( | |||
FROGGS | patched parse-p: 124.726 / 123.368 / 122.815 / 118.608 | 14:58 | |
6 seconds difference for the same code? | |||
btw, only xchat, an editor and this is running | |||
timotimo | you think i made the performance less reliable? | 15:00 | |
lizmat | FROGGS: remember ribasushi's talk at YAPC? | ||
timotimo | hehe | ||
15:00
kaare_ joined
|
|||
lizmat | if you want reliable benchmarks, make sure any auto-turbo or de-turbo settings are off | 15:01 | |
timotimo | mhhyes | ||
FROGGS | lizmat: yeah, that might be it... | 15:02 | |
dalek | gs.hs: 281b626 | au++ | HsSyck/ (3 files): * s/Changes/changelog/ for hackage |
||
timotimo | use cpufreq to set the frequency to your machines minimum | ||
FROGGS | no time to do that now though :/ | ||
bbl | |||
timotimo | so do you have unlatched timings? | ||
k | |||
btw, the regex compiler for literal uses lc instead of fc for literals with ignorecase | 15:18 | ||
15:18
rindolf joined,
Ulti joined
|
|||
timotimo | but since fc can changebthe strlen, i'm not one hundred percent sure how to change it | 15:19 | |
i guess I'll need test cases to makebthe change work | |||
diakopter | timotimo: did you have an idea of how many eqat invocations there are? | 15:20 | |
timotimo | not really, no | 15:21 | |
should i measure it? | |||
only for regexes or for everything? | |||
15:22
lizmat left
|
|||
diakopter | or how much time of the parse stage was spent in the things eqat replaced? | 15:22 | |
timotimo | or are you just going to tell me to measure first next time? :) | ||
i did not have sufficient measurement, no | 15:23 | ||
all i knew was eqat is about 3x faster than substr+ eq | |||
andbthen i just replaced those occurrences | 15:24 | ||
diakopter | oh | ||
15:25
cognominal joined
|
|||
diakopter | well if it's only 0.5% of total run time, the max improvement you could see is 0.33% | 15:25 | |
timotimo | yes i know | ||
but it is very hard to figure these things out | 15:26 | ||
diakopter | a routine-level profiler is not far fetched.. I'm working on it for moar | ||
..shouldn't actually be horrible overhead.. | 15:27 | ||
timotimo | maybe i will try perf again | ||
15:28
xinming_ left,
xinming joined
|
|||
timotimo | last time i looked it spent like 30% of time allocating memory or something? | 15:28 | |
15:28
lizmat joined
|
|||
timotimo | notbsure i remember correctly | 15:29 | |
lizmat | new glassfiber connection and/or new FritzBox not as reliable as I would hope | ||
timotimo | that may have been niecza on mono, too? | ||
15:29
ajr_ left,
xenoterracide joined
15:30
ajr joined
15:31
ajr is now known as Guest38107,
Guest38107 is now known as ajr_
15:33
fhelmberger_ joined
15:34
lizmat left,
lizmat joined
|
|||
dalek | kudo/nom: 9d83492 | (Elizabeth Mattijsen)++ | src/vm/jvm/core/ (2 files): select() -> winner() migration |
15:35 | |
lizmat | more later, cycling & dinner& | ||
15:36
fhelmberger_ left,
fhelmberger left
|
|||
jnthn | away for a bit & | 15:42 | |
15:45
To_______ joined
15:46
To_______ is now known as tgt,
tgt left,
brrt left
15:47
To_______ joined,
To_______ is now known as tgt,
tgt left
15:48
tgt joined
16:00
denis_boyun joined
|
|||
timotimo | i've arrived :) | 16:09 | |
diakopter | o_O | ||
16:10
denis_boyun left
16:13
tipdbmp left,
Hugh_ left,
tipdbmp joined
|
|||
kresike | bye folks | 16:15 | |
16:15
kresike left
|
|||
raiph | p5eval: @ar1 = qw(foo bar); @ar2 = qw(a b c d); print scalar (@ar1, @ar2); # blogs.perl.org/users/ovid/2013/11/a...-quiz.html | 16:20 | |
p5eval | raiph: 41 | ||
diakopter | p5eval: @ar1 = qw(foo bar); @ar2 = qw(a b c d); scalar (@ar1, @ar2); | 16:22 | |
p5eval | diakopter: 4 | ||
diakopter | raiph: it auto-prints already | ||
[.. in case you weren't already aware/realized] | |||
raiph | p: my @ar1 = <foo bar>; my @ar2 = <a b c d>; print $(@ar1, @ar2); | 16:23 | |
camelia | rakudo-parrot 8e64a8: OUTPUT«foo bar a b c d» | ||
raiph | diakopter: ovid's post is about a p5 result that's surprising | ||
diakopter: (i did know about the autoprint) | 16:24 | ||
16:25
[Sno] left
16:29
daxim_ left
|
|||
timotimo | i'm glad that kind of stuff is a bit more transparent in perl6 :) | 16:32 | |
diakopter | p: my @ar1 = <foo bar>; my @ar2 = <a b c d>; print item (@ar1, @ar2); | 16:35 | |
camelia | rakudo-parrot 9d8349: OUTPUT«foo bar a b c d» | ||
diakopter | p: my @ar1 = <foo bar>; my @ar2 = <a b c d>; print list (@ar1, @ar2); | ||
camelia | rakudo-parrot 9d8349: OUTPUT«foobarabcd» | 16:36 | |
diakopter | p: my @ar1 = <foo bar>; my @ar2 = <a b c d>; print sink (@ar1, @ar2); | ||
camelia | ( no output ) | ||
16:37
araujo left
|
|||
diakopter | p: my @ar1 = <foo bar>; my @ar2 = <a b c d>; say (sink @ar1, @ar2).WHAT; | 16:37 | |
camelia | rakudo-parrot 9d8349: OUTPUT«Nil» | ||
16:37
araujo joined
|
|||
cxreg | does rakudko-jvm implement most of that heretical S17? | 16:43 | |
timotimo | yes, that's right | ||
cxreg | having written a ton of node.js in the last year it looks so pleasant to work in | 16:44 | |
16:47
denis_boyun joined
16:55
denis_boyun left
17:02
SmokeMachine left
17:09
rurban left
17:11
stevan_ left
17:12
kivutar joined
|
|||
timotimo | i still have no idea how to read (or even interpret) kcachegrind, but it seems like a bunch of time is getting spent in publish_parrot_vtable_handler_mapping or something like that? | 17:14 | |
does that ring any bells? | |||
17:17
denis_boyun joined
|
|||
arnsholt | The squares in the kcachegrind display are scaled so that more time == more area | 17:20 | |
17:21
SmokeMachine joined
|
|||
timotimo | in the callee map, yeah? | 17:21 | |
arnsholt | Yeah | 17:22 | |
17:22
zakharyas left
17:30
ajr joined,
ajr_ left
17:31
ajr is now known as Guest63932,
Guest63932 is now known as ajr_
|
|||
timotimo | it seems like is_narrower gets a fair amount of time | 17:32 | |
huh, that's a very tight routine | |||
17:33
berekuk joined
|
|||
timotimo | ah, wrong is_narrower | 17:33 | |
17:33
ingy^ joined,
jac50 joined
17:37
stevan__ joined
17:41
risou is now known as risou_awy
17:42
risou_awy is now known as risou
17:44
Rotwang joined
17:46
[Sno] joined,
denis_boyun left
17:51
ingy^ left
17:52
pernatiy left
18:00
risou is now known as risou_awy
18:04
jac50 is now known as lemOn91
|
|||
dalek | kudo/nom: cdcb429 | moritz++ | tools/lib/NQP/Configure.pm: [Configure] get rid of spurious "NQP too old" messages |
18:18 | |
18:22
SamuraiJack joined,
ajr_ left,
ssutch joined
18:33
lizmat left,
lizmat joined
18:41
darutoko left
18:47
kivutar left
|
|||
lue | Hello world o/ | 18:55 | |
18:58
dmol joined
18:59
kivutar joined
19:01
SamuraiJack left
19:03
cognominal left
19:04
dmol left
|
|||
tadzik | helue world | 19:06 | |
lue | Why does nqp-j refuse to install to /usr/local like a normal person? :( | 19:10 | |
(looks like it means I can't compile rakudo-p and -j in the same makefile ._.) | 19:13 | ||
19:22
berekuk left
19:23
berekuk joined
19:32
colomon left
|
|||
lizmat is back | 19:40 | ||
woolfy | \o/ | ||
lizmat | quelle surprise! | 19:41 | |
timotimo | yay, i just ordered my new laptop :) | 19:42 | |
19:42
risou_awy is now known as risou
19:48
zakharyas joined
19:50
berekuk left
19:51
kivutar left
19:53
rindolf left
|
|||
moritz | lue: what did you try, what went wrong? | 19:56 | |
tadzik | oh, what will it be? | ||
lue | moritz: just, for some reason in nqp `perl Configure.pl --backend=parrot' will install to /usr/local upon "sudo make install", and `perl Configure.pl --backend=jvm` doesn't. | 19:57 | |
19:58
ingy^ joined
|
|||
moritz | lue: both install to ./install without any given --prefix | 19:58 | |
19:58
denisboyun joined
|
|||
moritz | lue: maybe you had some remnant of auld days when you configured with a different prefix | 19:59 | |
... left in your build dir | |||
20:00
stevan__ left
|
|||
lue | moritz: nope. I can assure you nqp-p configure goes to /usr/local . I've run plenty of git clean -dfx, but can do it again and run configure and look at the makefile | 20:00 | |
20:00
risou is now known as risou_awy
|
|||
moritz | lue: maybe if it dound a prrot configured with prefix /usr/local | 20:00 | |
*found | |||
lue | moritz: that would likely be it. I'm not a --gen user, after all. | 20:01 | |
20:01
colomon joined,
tobyink joined
|
|||
lizmat | jnthn: in src/vm/jvm/core/Threading.pm, line 784, there is an assignment to $ssn that is never used | 20:02 | |
seems to me something is amiss there | |||
same on line 806, BTW | 20:04 | ||
20:06
berekuk joined
20:07
FROGGS left
20:09
ingy^ left
|
|||
lizmat | jnthn: perhaps $lock.protect could take additional parameters to be passed to the code to protect? | 20:12 | |
timotimo has on the table in front of him: a nintendo 64 expansion pak | 20:14 | ||
4 megabytes. with heatsink thingie on the side | 20:15 | ||
just wow | |||
20:16
berekuk left
20:17
lizmat left
20:19
denisboyun left
|
|||
lue | timotimo: 4 MB with 9b/B, IIRC :) | 20:19 | |
timotimo | wow, seriously? | 20:20 | |
20:20
stevan_ joined
|
|||
timotimo | is that for error correction or something? | 20:20 | |
lue | z-depth info, I believe /me sees if he can double-check | 20:22 | |
timotimo | didn't see anything about it on the wikipedia article | ||
20:22
lizmat joined
|
|||
dalek | kudo/nom: 0eb6a26 | (Elizabeth Mattijsen)++ | src/vm/jvm/core/ (5 files): Some more Concurrency to spec migrations Subscribable -> Supply Lock.run -> Lock.protect *.subscribe -> *.tap *.subscriptions -> *.tappers |
20:23 | |
timotimo | The Nintendo console utilized 4 MB RDRAM running with a 500 MHz clock on a 9-bit bus, providing 500 MB/s bandwidth. | ||
20:23
raiph left
|
|||
lue | en.wikipedia.org/wiki/Nintendo_64_...ons#Memory (but seems you found it :D) | 20:24 | |
timotimo: Maybe I read the "z-depth" bit [;)] from the super-illegal-to-have-had-in-possession-to-read-so-certainly-i-didn't technical docs. | 20:25 | ||
timotimo | hah :D | ||
yeah, 8 bits of z-depth would be very little | |||
lue | (fun fact: the N64 SDK came with stuff for Windows and SGI workstations. SGI ≈ Unix) | 20:26 | |
lizmat | jnthn: src/vm/jvm/core/asyncops.pm, lines 52,57,58 use an array @waiting that doesn't seem to be actually used anywhere | ||
was that left behind from some debugging ? | |||
timotimo | yeah, at that time sgi was big for graphics development, no? | 20:29 | |
i think the wipeout people developed for sgi first and then had to downscale the game quite a bit for it to run on the playstation | |||
dalek | ast: 9603768 | (Elizabeth Mattijsen)++ | S17-concurrency/su (2 files): Another part of Subscribable -> Supply migration |
20:30 | |
20:30
berekuk joined
20:31
FROGGS joined
|
|||
lue | Wow. What took 100 entries 91.7576215s to process on Parrot takes just 21.618s on JVM :) | 20:31 | |
tadzik | timotimo, timotimo | 20:34 | |
what's that laptop gonna be? | |||
timotimo | t440s | 20:38 | |
fullhd, 12 gigs of ram, SSD+HDD :D | |||
lizmat | timotimo | ||
timotimo | lizmatlizmat | ||
lizmat | .oO( felt a Sheldon like urge after tadzik's double timotimo ) |
||
timotimo | :D | ||
dalek | kudo/nom: 42960c4 | (Elizabeth Mattijsen)++ | src/vm/jvm/core/ (3 files): More Concurrency up-to-specness *.run -> *.start Please note that Thread already had a .start method: renamed that to jvm_start. |
20:43 | |
20:44
Hellcat joined
20:45
Hellcat is now known as Guest25321,
Guest25321 left,
Guest25321 joined
20:46
Guest25321 left,
Guest25321 joined
|
|||
timotimo | wow, the entirety of get-local-timezone-offset on my laptop takes 0.1 seconds | 20:48 | |
that seems a tad excessive | |||
20:49
Guest25321 left
|
|||
lue | "Your timezone offset appears to be UTC-8.00002777777" | 20:50 | |
20:52
p5eval left
|
|||
perigrin | there was a pretty awful doc bug in that version of UTC. | 20:53 | |
timotimo | $date eq any(tai-utc::leap-second-dates) - this could be slow | 20:56 | |
lue | r: say any(tai-utc::leap-second-dates); # worth a shot | ||
timotimo | was about to print that :) | ||
camelia | rakudo-parrot cdcb42, rakudo-jvm 882e33: OUTPUT«any(1972-06-30, 1972-12-31, 1973-12-31, 1974-12-31, 1975-12-31, 1976-12-31, 1977-12-31, 1978-12-31, 1979-12-31, 1981-06-30, 1982-06-30, 1983-06-30, 1985-06-30, 1987-12-31, 1989-12-31, 1990-12-31, 1992-06-30, 1993-06-30, 1994-06-30, 199…» | ||
timotimo | r: say tai-utc::leap-second-dates.elems; | 20:57 | |
camelia | rakudo-parrot cdcb42, rakudo-jvm 882e33: OUTPUT«25» | ||
timotimo | no, i was wrong. that only gets touched if there's a second >= 60 | ||
lue wonders how many timezones you could divide the Earth into before it gets too silly to keep track. | 20:58 | ||
20:58
denis_boyun joined,
Mouq left
|
|||
geekosaur | by some arguments that's anything over 1... | 20:59 | |
timotimo | :) | 21:02 | |
dalek | kudo/nom: 186b451 | (Elizabeth Mattijsen)++ | src/vm/jvm/core/ (2 files): Still more S17-Concurrency up-to-specness keeper -> vow |
||
timotimo | i don't think infix:«>» knows to automatically assume modulo-60 arithmetics if the lhs is called $!seconds ;) | ||
the next thing that may be slow is the when blocks with any-junctions | 21:04 | ||
lue | timotimo: I'm not entirely sure you should worry about .1s :) | 21:09 | |
timotimo | cool, i can teach the optimizer to do junctions in when-blocks, too! | 21:10 | |
21:21
Eg0N|2 joined
21:26
kaare_ left,
Eg0N|2 left
|
|||
lizmat wonders whether Sockets shouldn't be doing Supply | 21:27 | ||
tadzik | isn't supply something that may lose data? | 21:28 | |
they could be UDP then :P | |||
lizmat | .oO( deja vu ) |
||
geekosaur | .oO { I could tell you a joke about UDP, but... } | 21:29 | |
21:29
Hellcat joined
|
|||
dalek | kudo/nom: 6f360f5 | (Elizabeth Mattijsen)++ | src/vm/jvm/core/Supply.pm: Supply.untap should be Supply.close |
21:30 | |
21:30
Hellcat is now known as Guest39759
21:31
BenGoldberg joined
|
|||
tadzik | should sockets support compile-time tapping? I know a government or two which may be interested in that | 21:31 | |
dalek | kudo/nom: 6da29b2 | (Elizabeth Mattijsen)++ | src/vm/jvm/core/Thread (2 files): Unrename internal Thread.run->Thread.start This seems to refer to something called "run" in the JVM bowels, of which I know nothing about. |
||
ast: 7999141 | (Elizabeth Mattijsen)++ | S17-concurrency/ (4 files): Bring S17-concurrency tests up to spec |
21:32 | ||
21:34
Guest39759 left
21:36
jnap left
|
|||
lizmat | preflex: tell jnthn src/vm/jvm/core should be up to spec again | 21:36 | |
preflex | Consider it noted. | ||
tadzik | aawesome | 21:38 | |
lizmat++ | |||
moritz | ... and all the examples from the slides broken :-) | ||
lizmat | not all, I don't think, but many, yes | ||
preflex: tell jnthn please let me know if I should fix your slides as well | 21:39 | ||
preflex | Consider it noted. | ||
21:44
benabik left
21:47
denis_boyun left
21:53
zakharyas left
|
|||
dalek | ecs: d0b6770 | (Elizabeth Mattijsen)++ | S17-concurrency.pod: s/Supply/Publish/ where needed Supply was both a role and a class. Publish is a class that does Supply. Well, at least, that's how it's implemented now. |
21:54 | |
21:56
bluescreen10 left,
bluescreen10 joined
21:59
denis_boyun joined,
tgt left
|
|||
diakopter | . | 22:05 | |
lizmat | .oO( do what again? ) |
||
diakopter | . | ||
geekosaur | resting? | 22:10 | |
timotimo | huh, i really can't pinpoint why get-local-timezone-offset would be so slow | 22:11 | |
dalek | ecs: d68bb65 | (Elizabeth Mattijsen)++ | S99-glossary.pod: Add CAS |
22:12 | |
lue | timotimo: I'm confused now. .1s isn't slow for much to me. Or did you get a worse time...? | 22:14 | |
22:15
dmol joined
|
|||
diakopter | lizmat: did jnthn mention about the cas nqp ops? | 22:16 | |
lizmat | you mean in the spec ? | ||
timotimo | 0.1s for constructing three datetime objects and converting from unix time twice and to unix time once? | ||
lizmat | no, not as NQP op | ||
diakopter | anytime | ||
did he mention cas? | 22:17 | ||
22:17
btyler left
|
|||
timotimo | (though now i've removed a debug-say that may have taken a big chunk of time due to IO being IO) | 22:17 | |
lizmat | the spec mentions CAS, read it :-) | ||
anyway, earlier today, he said that a lot of the features now in src/vm/jvm/core would become nqp::ops once we know what we need | 22:18 | ||
diakopter | well I'm curious how much it matches what jnthn and I discuused/designed/planned extensively in kiev | ||
lizmat realizes she missed the Scheduler.schedule -> cue migration | |||
timotimo | lue: that's really enough stuff to do to justify 0.1s? | 22:19 | |
22:20
BenGoldberg left
|
|||
timotimo | running the empty program takes about 1.1s and apparently 10% of that is calculating the timezone interval that isn't used in 99.99% of all one liners | 22:20 | |
22:21
BenGoldberg joined
|
|||
lizmat | feels like something that should be lazy :-) | 22:22 | |
tadzik | :o | ||
diakopter | lizmat: I don't understabd what happened to the huge expanse of things jnthn and I discussed in Kiev | ||
22:23
jnap joined
|
|||
lizmat neither: I was in Kiev, but not at those discussions, was I ? | 22:23 | ||
timotimo | tadzik: good news, i found out how to make the empty program take 10% less time! ;) | ||
diakopter | this cas section makes no sense | ||
22:24
berekuk left
|
|||
diakopter | you can't implement cas in Perl 6 | 22:24 | |
22:25
ssutch left,
berekuk joined
22:26
denis_boyun left
|
|||
lizmat | I think the spec is more to explain the idea, | 22:26 | |
22:27
denis_boyun joined
|
|||
diakopter | it doesn't explain the idea | 22:29 | |
timotimo | how is such a lazy thing like $PROCESS::TZ best handled? with a proxy that caches the value upon first access? | ||
lizmat | it probably needs to be done as an nqp op, I agree, but I still don't see why we could not have a cas() exposed at Perl6 level | ||
timotimo: except that that probably doesn't work that early in settings ? | 22:30 | ||
diakopter | we can, but it needs to have locks at some level, hopefully the nqp cas oo | ||
op | |||
the cas sub, I mean | |||
lizmat | wonders whether we need an "on access" attribute on variables | ||
diakopter | also, this doesn't work for lvalues deeply | 22:31 | |
22:32
bluescreen10 left
|
|||
diakopter | the idea is i want to cas an array slot | 22:32 | |
lizmat | I would say: patches welcome ? | 22:33 | |
diakopter | but they're not | 22:35 | |
timotimo | oh my. the vast majority of the time is spent inside DateTime.new(now).posix.Int | 22:42 | |
as in 0.088 out of 0.1s | |||
timotimo gets more time resolution to figure out if .new or .posix.Int is to blame | 22:43 | ||
these build times on my old laptop are pretty prohibitive ... | 22:44 | ||
r: my $time = nqp::time_n(); get-local-timezone-offset(); say nqp::time_n() - $time; | 22:45 | ||
camelia | rakudo-jvm 882e33: OUTPUT«(timeout)» | ||
..rakudo-parrot 6da29b: OUTPUT«0.0676708221435547» | |||
timotimo | okay, on a faster machine that may not be terribly much time saved | ||
i wonder how fast camelia runs the empty program, all in all | |||
22:46
lemOn91 left
|
|||
timotimo | p: my $time = nqp::time_n(); now; say nqp::time_n() - $time; | 22:53 | |
camelia | rakudo-parrot 6da29b: OUTPUT«0.0195190906524658» | ||
timotimo | p: my $time = nqp::time_n(); DateTime.new(now); say nqp::time_n() - $time; | ||
camelia | rakudo-parrot 6da29b: OUTPUT«0.04715895652771» | ||
timotimo | p: my $time = nqp::time_n(); DateTime.new(now).posix; say nqp::time_n() - $time; | ||
camelia | rakudo-parrot 6da29b: OUTPUT«0.0777351856231689» | ||
timotimo | p: my $time = nqp::time_n(); DateTime.new(now).posix.Int; say nqp::time_n() - $time; | ||
camelia | rakudo-parrot 6da29b: OUTPUT«0.0484480857849121» | ||
timotimo | oh wow, that's a noisy measurement | 22:54 | |
lue considers working on perl6/book ... | 22:55 | ||
timotimo | that would be cool | ||
note that parts of the book are reproduced in possibly slightly altered form in the p6doc repo as well | |||
classtut and friends | |||
lue | timotimo: yeah, but book form is still nice :) | 22:57 | |
timotimo | yeah, just saying there's an almost 1:1 copy of the text in another repo as well | ||
lue wants to start by undoing the seemingly silly use of nonfree fonts he can't find in portage, and isn't motivated to hunt for :P | 22:58 | ||
At least so I can compile the book, that is. | |||
timotimo | p: say now.WHAT | 22:59 | |
camelia | rakudo-parrot 6da29b: OUTPUT«(Instant)» | ||
22:59
tobyink left
|
|||
timotimo | p: say now.to-posix | 22:59 | |
camelia | rakudo-parrot 6da29b: OUTPUT«1383951594.255217 False» | ||
lue | I'd probably start a modernize branch if/when I decide to act on that class of urges :) (Pod6, all XeLaTeX, etc. ...) | 23:00 | |
timotimo | p: my Instant $n = now; say now.to-posix; say DateTime.new(now).posix; | ||
camelia | rakudo-parrot 6da29b: OUTPUT«1383951623.037775 False1383951623» | ||
timotimo | oh man, leap seconds ... | ||
tomorrow i'll try to give the new method that turns an Int into a DateTime native int arithmetics and see if that helps at all | 23:02 | ||
for now i'll sleep | |||
& | |||
23:02
iSlug left
|
|||
lizmat | gnight, timotimo | 23:02 | |
23:06
sftp left,
beastd left
|
|||
lue | I'm not sure if the formatting mixups are caused by my font changes or not, and I don't have the nonfree fonts to test this :P | 23:07 | |
timotimo | questhub.io/realm/perl/quest/527d67...604d0000ca - i'd love somebody to comment there, or tell me here, why the sub is the way it is, because i'm not sure i get it. | ||
lue | Huh. Something is messing up the rendering, and I don't think it's just my font choice... | 23:14 | |
23:18
sftp joined
23:21
aindilis left
|
|||
lue | .oO(Our lovely perl5 scripts are introducing mojibake. /me kinda wishes a book veteran was around.) |
23:21 | |
lizmat | timotimo: having been there, I don't think there is an easier way | 23:22 | |
unless you can prevent the craation of the DateTime | |||
23:30
Shellcat joined
23:36
FROGGS left
|
|||
dalek | kudo/nom: d2cc298 | (Elizabeth Mattijsen)++ | src/vm/jvm/core/ (3 files): Hopefully final Concurrency up-to-specness .schedule -> .cue .schedule_in -> .cue( :in ) .schedule_every -> .cue( :every ) -> .cue( :at ) Alas, there seems to be a MMD bug preventing this from working: Ambiguous call to 'cue'; these signatures all match: :(ThreadPoolScheduler : &code, Mu *%_) Leaving this to jnthn++ to figure out why |
23:43 | |
ast: 8b42d46 | (Elizabeth Mattijsen)++ | S17-concurrency/scheduler.t: Adapt test to .schedule* -> .cue migration |
23:44 | ||
23:48
ssutch joined,
FROGGS joined
|
|||
dalek | kudo/nom: 405e482 | (Elizabeth Mattijsen)++ | src/vm/jvm/core/ (2 files): Too many proto's may spoil the broth |
23:50 | |
23:58
denis_boyun left
|