00:48
lee_ joined
01:17
rurban_ joined
07:21
FROGGS joined
08:12
FROGGS joined
08:28
odc joined
11:05
_sri joined
11:26
donaldh joined
11:31
donaldh joined
11:37
lizmat joined
|
|||
nwc10 | good *, #MoarVM | 11:47 | |
timotimo | hello you! :) | ||
12:55
tgt joined
13:28
colomon joined
13:35
JimmyZ_ joined,
dagurval_ joined,
cxreg2 joined
13:39
eternaleye_ joined
13:46
woolfy1 joined
13:48
_sri joined,
lue joined
14:09
colomon joined
14:14
jnap joined
|
|||
hoelzro | is there a tool for dumping moarvm bytecode into some human-readable format? | 14:18 | |
timotimo | there is moar --dump foo.moarvm | 14:20 | |
hoelzro | thanks timotimo | ||
timotimo | that reminds me i wanted to build a perl6 script that syntax-highlights and otherwise improves the display of the bytecode dump | 14:27 | |
one thought i had was to put four colored blocks in front of everything that refers to something that comes up again and use the hash of the name to determine the colors) | |||
:) | 14:28 | ||
hoelzro | that's a neat idea | 14:29 | |
I just looked at the dump | |||
and I have no idea where to start on this null object thing =/ | |||
is there a place I can put a bounty on a bug? =) | 14:31 | ||
I understand that the moar-conch stuff is cool, but I'd like to see a working URI | |||
timotimo | dunno, but there is gittip, which is kind of the opposite approach :P | ||
hoelzro | heh | 14:34 | |
hoelzro .oO( QuestHub idea: tipping for quests ) | |||
17:05
lizmat joined,
FROGGS joined,
tokuhirom joined,
nwc10 joined
17:06
colomon joined,
eternaleye joined,
JimmyZ joined,
rurban_ joined,
lee_ joined
17:29
japhb_ joined
17:44
ggoebel1117 joined,
ingy1 joined
17:48
colomon joined
17:59
FROGGS joined
|
|||
FROGGS | hoelzro: you are trying to hunt #121298 down, right? | 18:09 | |
(RT #121298) | |||
ohh, synopsebot is not here | |||
rt.perl.org/Ticket/Display.html?id=121298 | |||
tadzik | I should send it here, maybe | 18:12 | |
FROGGS | please do :o) | ||
tadzik: have you seen the PR to panda btw= | 18:13 | ||
s/=/?/ | |||
tadzik | FROGGS: nope. Will look at it tomorrow, going to a concert now | ||
18:14
synopsebot joined
|
|||
tadzik | synopsebot is here :) | 18:14 | |
FROGGS | \o/ | ||
tadzik++ | |||
18:39
tgt joined
|
|||
nwc10 | www.google-melange.com/gsoc/org2/g...oc2014/tpf | 19:03 | |
[Coke] | \O/! | 19:09 | |
timotimo | hoelzro: have you tried reverse-debugging yet? | 19:10 | |
or "backwards debugging" or whetver it's called | 19:12 | ||
FROGGS | nwc10: we are on that list?? | 19:19 | |
nwc10 | let me try that again: www.google-melange.com/gsoc/org2/g...oc2014/tpf | 19:20 | |
[Coke] | please consider volunteering as a mentor for the moar/perl6 projects. | 19:23 | |
FROGGS | indeed we are on that list! | 19:24 | |
done. | 19:28 | ||
timotimo | FROGGS: please take out at least the peephole optimizer idea, too. jnthn said it's a bad idea | ||
and i'm not sure the JIT idea was received well as well? but i'm not sure | |||
FROGGS | k | 19:29 | |
done | |||
19:30
ashwinik_ joined
|
|||
timotimo | the whole string_offset and compare_offset thing confuses me a tiny bit, i have to admit | 19:44 | |
do i really have to subtract the compare_offset of the first string from the compare_offset of the second string? | 19:48 | ||
hm, i suppose that makes sense | |||
if the compare_offsets are in "rope-string-coordinates" | |||
aaw, my fast path is not being hit | 19:58 | ||
20:00
tgt joined
|
|||
timotimo | meeeeeh, somehow strings are getting corrupted or something :( | 20:13 | |
20:18
tgt joined
|
|||
masak | nwc10++ # tpf | 20:21 | |
timotimo | valgrind: the 'impossible' happened: | 20:24 | |
Killed by fatal signal | |||
dalek | arVM/flatten_fastpath: 40738ed | (Timo Paulssen)++ | src/strings/ops.c: implement a fast-path for 2-strand int32 string flattening |
20:30 | |
arVM/flatten_fastpath: 72a1339 | (Timo Paulssen)++ | src/strings/ops.c: fix & precedence and 32bit address calculations |
|||
timotimo | jnthn: spectests on flatten_fastpath are clean. should i merge? | 20:48 | |
nwc10 | I'm only the messenger | 20:50 | |
and really only "first post" | |||
timotimo | nwc10: huh? | ||
nwc10 | what masak said | ||
"Said" | |||
timotimo | ah | 20:51 | |
masak | nwc10: I see. still, very nice. | 20:55 | |
nwc10 | IIRC "blame" mdk and Leto | ||
jnthn | timotimo: Wait for feedback from lue first? | ||
timotimo | will do | ||
it's hard to benchmark these things without pushing the commits up first :P | 20:56 | ||
that's why i'm trying to teach perl6-bench to do parameterized builds | |||
i did a small local test that gave me about 10x faster on ~32000 concats | |||
nwc10 | I found perl6-bench a lot easier to read with the release names. Which I take it are tags | ||
timotimo | yeah, i also want to teach it to alias commits to user-specified names | 20:57 | |
nwc10 | that would be awesome | ||
the graphs were showing a pleasing speedup for MoarVM for the for tests, I thought | |||
timotimo | i also want a TUI interface to perl6-bench to make running the tests much less hassle-y | 20:58 | |
rurban_ | I'm also working on some perl6-bench improvements this week. more perl5 implementations | 21:02 | |
And I don't like the alias test | |||
timotimo | seems like rakudo-m is only 2x slower at concating a string with a single char 32768 times than rakudo-p is | 21:03 | |
as in: appending a single character to the accumulation string at a time | 21:04 | ||
oh wow | 21:05 | ||
it uses 2 gigabytes of ram for that, though | |||
jnthn | Whee | 21:06 | |
Well, it's 'cus it won't go collecting the buffers until the next GC run. | 21:07 | ||
timotimo | probably :\ | ||
jnthn | And the buffers aren't chewing through the nursery itself | ||
timotimo | it doesn't contribute to .. yeah | ||
jnthn | Which normally is a good thing :) | ||
Since it means we don't have to collect anything like so often. | |||
timotimo | aye | 21:08 | |
jnthn | Anyway, there's a lot of things that can help with that. | ||
nwc10 | that reminds me a lot of a parrot GC bug | ||
IIRC it was that Strings didn't trigger GC runs | 21:09 | ||
PMC exhaustion did | |||
jnthn | nwc10: Right. Same thing here. | ||
nwc10 | (and GC runs collected both Strings and PMCs) | ||
or something like that | |||
result was if the code was String heavy, it could chew a lot of resouces | |||
timotimo | mhm | ||
jnthn | Yeah. It's a trade-off. | 21:10 | |
For this particular benchmark, proper ropes can mitigate it. | |||
timotimo | i'm glad it's not something i messed up | ||
jnthn | Heck, if I can ever be convinced to do OSR, then escape analysis can too... | ||
timotimo | that'd be great | ||
nwc10 | OSR? | 21:11 | |
timotimo | then we could even cheat more heavily | ||
jnthn | In fact, the specializer will be a little unhelpful for a lot of p6bench without OSR... | ||
nwc10: "On stack replacement" | |||
nwc10: Optimizing code when the callframes are already on the stack. | |||
nwc10: Which is...evil. :) | 21:12 | ||
timotimo | we need different benchmarks anyway; the current microbenchmarks are pretty unhelpful in any case | ||
except for hunting very specific regressions and performance bugs | |||
jnthn | Well, they serve a purpose, but yeah, we need a broader range, for sure. | 21:13 | |
timotimo | fo' sho' | ||
jnthn | (I've nothing against OSR, it's just a little fun to implement.) | ||
timotimo | okay, so lue isn't benefiting from the patch very much | 21:15 | |
but the benchmark still is | |||
21s before patch, 1.4s after patch | |||
jnthn | uh, yeah, that's a win :) | 21:16 | |
lue | I wonder if starting up a new instance of perl6-m for each synopsis is what's causing the most pain in the process... | ||
timotimo | startup time of moarvm-rakudo is pretty excellent. how many synopsis files are you actually working with? | 21:17 | |
FROGGS | hmmmm, I don't think that matters much | ||
lue | There are 36 synopses in the specs repo (that's counting both S17s) | 21:18 | |
timotimo | nah, that should contribute about 60 seconds or so :P | ||
21:19
d4l3k_ joined
|
|||
timotimo | jnthn: should i try for a fast path in subst, repeat or join? | 21:25 | |
hm. there is wmemset for wchar_t, but that's 16bit, not 32bit :( | 21:27 | ||
so a super fast fastpath for repeat of single characters wouldn't be easy | 21:28 | ||
well, except for when we have 8bit strings working properly | |||
nwc10 | does any standard mandate that wchar_t is 16 bit? | 21:29 | |
I've generally avoided the wide char stuff because it seemed to be under documented and less than reliably portable | |||
I might be wrong | |||
timotimo | fair enough, i should see about that | ||
wmemset is specced for C99, though | 21:30 | ||
which we don't have, thanks to MSVC | |||
seems like on windows it's 16bit, on linux it's 32bit | 21:31 | ||
or rather "modern unix-like systems" | |||
"The width of wchar_t is compiler-specific and can be as small as 8 bits. Consequently, programs that need to be portable across any C or C++ compiler should not use wchar_t for storing Unicode text. The wchar_t type is intended for storing compiler-defined wide characters, which may be Unicode characters in some compilers." | |||
that sucks | |||
jnthn | timotimo: A tight loop and a good compiler might well end up doing simd code-gen anyway. | 21:32 | |
timotimo | fair enough. | ||
21:44
d4l3k_ joined
|
|||
timotimo | jnthn: what was your opinion on a JIT project for MoarVM GSoC? | 21:53 | |
FROGGS | my guess is that jnthn++ wants to do it alone :o) | 21:54 | |
timotimo | well, that or at least do the design decisions himself | ||
jnthn | I don't feel any real need to write the code, but yeah, I need to be in on the design. | 21:55 | |
We need the specializer in place first I think, since JIT will want to re-use lots of that infrastructure. | 21:56 | ||
[Coke] | specializer? | ||
jnthn | [Coke]: Thing that takes bytecode + runtime information and produces specialized bytecode out of it. | 21:57 | |
timotimo | things like "if this parameter to the function is always a vanilla Str object, we can inline methods and stuff" | ||
jnthn | Right. | ||
22:01
colomon joined
23:15
colomon joined
|