01:48
ilbot3 joined
05:20
domidumont joined
05:25
domidumont joined
|
|||
Geth | MoarVM: b34c374865 | (Samantha McVey)++ | src/strings/unicode_ops.c [unicode-grant] unicmp_s can now reverse any of the collation levels This changes the collation_mode argument to the unicmp_s op. It soon became clear that there was no way to reverse the sorting of certain collation levels. To solve this, the collation_mode argument had to be changed. ... (16 more lines) |
05:51 | |
MoarVM: cc27eebf2e | (Samantha McVey)++ | src/strings/unicode_ops.c [unicode-grant] handle additional possible cases in collation This change should handle cases where the a collation value and b collation values match, and make sure we properly continue through the string. We also make sure to handle matching strings except for length. If we have reversed quaternary enabled, we want to return the 1 if string a is longer than string b. |
|||
06:11
domidumont joined
07:39
domidumont joined
07:43
zakharyas joined
07:51
Voldenet joined
08:10
Voldenet joined
08:11
Voldenet joined
08:41
domidumont joined
|
|||
jnthn | morning o/ | 08:44 | |
08:46
domidumont joined
|
|||
Geth | MoarVM/even-moar-jit: bc9d818d00 | (Bart Wiegmans)++ | 2 files Assign register types to live ranges Because a live range can describe multiple nodes, we check if their register types match. |
08:51 | |
nwc10 | good *, jnthn | 08:52 | |
*now* it's next week? | |||
jnthn | Apparently so | 08:53 | |
09:34
brrt joined
09:46
domidumont joined
10:05
zakharyas joined
|
|||
brrt | good *! | 10:24 | |
nwc10 | good *, brrt | 10:26 | |
jnthn | o/ brrt | 10:28 | |
10:32
lizmat joined
10:33
AlexDaniel joined
|
|||
samcv | good *(next week/thisweek) | 10:36 | |
good week | |||
brrt | ohai samcv | ||
and nwc10, jnthn | |||
samcv | hey! | ||
Geth | MoarVM: b334565164 | (Jonathan Worthington)++ | 2 files Handle value use decrements in instruction delete. Rather than having them done ad-hoc in a couple of places, and forgotten about in others. |
10:54 | |
11:01
AlexDaniel joined
|
|||
Geth | MoarVM: 0837bd3257 | (Jonathan Worthington)++ | 3 files When deleting a BB, decrement instruction usages. So that we may be able to delete more instructions. |
11:08 | |
MoarVM: 9ece693fb8 | (Jonathan Worthington)++ | src/spesh/optimize.c Move instruction deletion later. So that more usage counts might have gone to zero, allowing further deletions. |
|||
jnthn | Still not nailing all we could, but moving it after second_pass causes explosions that will need some debugging. | 11:11 | |
lizmat wonders what jnthn's thoughts are on my answer to stackoverflow.com/questions/446239...que-arrays | |||
jnthn | When I read the question I actually thought of either some wrapper around Array or some subclass of it :) | 11:13 | |
The mixin does that fine | |||
With the caveat that WHICH is still a bit in flux | 11:14 | ||
lunch; bbiab | 11:15 | ||
samcv | oh guys did you ever figure out what that segfault was. and is it related to my segfault? | 11:19 | |
brrt, any idea ? it seems to die in garbage collectiong gist.github.com/samcv/9f7d8820cb9e...9aaf88b6e2 | 11:20 | ||
and it only crashes if MoarVM is compiled with debugging | |||
actually now i have it crashing with debugging off :P | 11:24 | ||
in any case there is a bug :P | |||
and it always crashes after the exact same number of seconds of running | 11:25 | ||
brrt | well, that's something | ||
lizmat | if there's a way to have your processor run slower, does it still crash at the same time? | ||
brrt | i really haven't looked at it tbh | ||
have you tried making it crash under lldb / gdb | 11:26 | ||
lizmat | that would rule out time based bug vs number of instructions executed bug | ||
brrt | $your-favorite-debugger | ||
samcv | you can reproduce it easily | ||
brrt | are you on linux or on mac? | ||
samcv | just clone github.com/samcv/perl6-Font-QueryInfo | ||
linux | |||
brrt | hmm, so, i'm not | ||
samcv | clone the project. then run ./examples/*.p6 | ||
brrt | not here anyway | ||
samcv | would be curious if it happens on os x | 11:27 | |
brrt | sure, i'll try it out | ||
samcv | command line arg is a folder with 30+ fonts in it | ||
just pick the system font folder or whatever. though i'm not sure the layout of them. i have /usr/share/fonts with several folders in it, and just picked one with a lot of fonts in it | |||
gets through 72-73 font files before crashing | 11:28 | ||
even if they're not the same font folders etc, though it shouldn't matter since it uses run to start an external program. there's no start blocks, just Proc using run | 11:29 | ||
so at least that is nice, how reproducible it is for me | |||
brrt | uhuh | 11:30 | |
i'll try it out :-) | |||
i need to get my rakudo up to date again, though | |||
samcv | how old is it? | ||
brrt | i'm often a month behind or so | 11:32 | |
because it's inconvenient to merge in master in between my own series of commits | 11:33 | ||
samcv | well you can try it | ||
it may crash | |||
brrt | buidling now | 11:34 | |
samcv | k | ||
jnthn | m: say 10133107324 - 9989918603 | 12:13 | |
camelia | 143188721 | ||
lizmat | 143M, not bad :-) | ||
jnthn | Yeah, that's off the million lines benchmark | 12:14 | |
And arising from the optimizations I committed earlier today | |||
dogbert17_ | is the program quicker than P5 now? | 12:17 | |
jnthn | Not quite | 12:18 | |
But it's rather close | |||
Perl 5 uses 9,111,729,472 instructions to our 9,989,918,603 | 12:19 | ||
There may be further things we can get out of it, but I'm turning my attention to the output side of things now | 12:23 | ||
timotimo | that's like 8% or so! | ||
dogbert17_ | it's almost within the margin of error :) | 12:24 | |
jnthn | (In fact, I *know* there's quite a bit more we can squeeze out of it. :)) | ||
(But they need spesh work and I want to figure out the bigger picture direction of spesh first.) | |||
timotimo | dogbert17_: except instruction counts are rather precise | ||
jnthn | They're precise, but they aren't everything :) | 12:25 | |
timotimo | so the margin of error is a lot tighter than when you use wallclock timing or cpu timing | ||
of course | |||
this is only about instructions executed, but different instructions can have wildly different costs | |||
on top of the different access times for the different levels of cache | |||
jnthn | Anyway, next up is looking into getting output sped up | 12:26 | |
(I'll look at proc stuff a little later in the week.) | 12:27 | ||
nwc10 | one might win from this starting point just by making sure all the structs don't have holes | ||
and (second order churn creation) whether the hot things are close enough to be on the same cache line | |||
samcv | i gotta go to bed all. night o/ | ||
jnthn | 'night, samcv o/ | 12:28 | |
nwc10 | the latter part of that sounds like crazy premature optimisation talk | ||
jnthn | Putting things that are related to each other next to each other in structs is generally good for code quality too :) | ||
12:32
zakharyas joined
|
|||
brrt | samcv: can reproduce | 12:34 | |
pointer to past fromspace | |||
dogbert17_ | are there any cheap wins to be had on the output side of things? | ||
jnthn | dogbert17_: Yes :) | 12:37 | |
But first I need to do some refactors so we can get them. :) | |||
dogbert17_ | cool | 12:43 | |
m: say (((1,2,3),(4,5,6)),((7,8,9),(10,11,12))).tree(*.self, *.reverse, *.rotate) # TimToady on a roll | 12:44 | ||
camelia | (((5 6 4) (2 3 1)) ((11 12 10) (8 9 7))) | ||
samcv | jnthn, we can just add a new op. it's called yes | ||
jnthn | :P | ||
samcv | brrt, what does pointer to past fromspace mean? it has an incorrect pointer? | 12:45 | |
anyway i should be asleep :P night | |||
jnthn | Yeah, that tends to mean an outdated pointer was found | 12:46 | |
brrt | uhuh | ||
don't ask me to debug it further, i don't know :-) | 12:47 | ||
jnthn | Usually due to a missing MVMROOT | ||
Though there can be other causes | |||
timotimo | can we please add an nqp::quine op? writing a quine in perl6 is too many characters :P | 12:55 | |
13:56
domidumont joined
|
|||
[Coke] | My only request is that any new nqp ops must have docs. :P | 13:58 | |
14:02
domidumont joined
14:47
geekosaur joined
15:31
domidumont joined
15:55
zakharyas joined
15:57
zakharyas joined
16:19
brrt joined
16:23
brrt1 joined
16:38
dogbert17 joined
16:57
ilmari joined
18:10
dogbert11 joined
18:14
ilmari_ joined
18:15
sivoais_ joined
18:23
timotimo joined,
JimmyZ joined
19:04
domidumont joined
19:16
AlexDaniel joined
19:44
synopsebot6 joined
|
|||
samcv | morning | 20:49 | |
[Coke]++ on new ops having docs | |||
21:10
nwc10 joined
21:21
arnsholt joined
|
|||
lizmat | and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/06/19/...l-6-books/ | 21:26 | |
21:26
yoleaux joined
|
|||
jnthn | \o/ | 21:28 | |
lizmat++ | |||
samcv | well i figured out how i'm going to fix reversing certain collation levels and making sure secondary/tertiary levels don't override primary | 21:43 | |
and will be easier than I thought. i thought i'd have to add some logic to do it in stages, but in fact i can just reverse the collation values for string a and string b for that codepoint | |||
so instead of: 750 + 24 + 5 (normal) let's say we reverse the secondary level: 750 - 24 + 5 | 21:44 | ||
jnthn | I'm not on the perl6-users mailing list, but re the question on SIGPIPE being ignored by default, commit 2c5974bc11938 did it and the message explains why. | ||
samcv | so that can cause a case where we end up ignoring the primary level, if the primary level of string a and string b are similar for that codepoint. so all i'm going to do is just *reverse* the collation values. put the values for a onto b and b onto | 21:45 | |
always nice when you think of simple solutions | |||
21:45
yoleaux joined
|
|||
jnthn | :-) | 21:45 | |
Simpicity takes time and effort | |||
samcv | :-) | 21:46 | |
i will have to now figure out how to get the values into the correct places. but that's often the issue is it not | 21:47 | ||
places at the right time etc | |||
err actually that won't work. but it will be okay. this should at least help me get to the next stage aka collation extreme mode | 22:02 | ||
still helped me think of something else | 22:03 | ||
Geth | MoarVM: bd2576e824 | (Samantha McVey)++ | src/strings/unicode_ops.c [unicode-grant] store collation levels in an array not a single value This fixes a bug where reversing secondary and tertiary levels could cause the primary level to be overridden as a result. The Unicode Collation Algorithm makes it very clear that this is not acceptable functionality. The bug could cause ‘1’ to be sorted below the ‘a’ due to their primary collation values being similar; ... (10 more lines) |
22:55 | |
MoarVM: ee49c831d0 | (Samantha McVey)++ | src/strings/unicode_ops.c [unicode-grant] handle if quaternary is both enabled and reversed If quaternary is both enabled AND reversed, then we must make sure that these two cancel each other out and we return 0 if all the collation values are so far equal. |
|||
samcv | yay. that's nice and fixed | ||
jnthn | samcv++ | 23:02 | |
'night o/ |