00:57
nwc10 joined
00:59
geekosaur joined
04:01
AlexDaniel joined
05:01
AlexDaniel joined
05:30
brrt joined
|
|||
brrt | good * #moarvm | 06:05 | |
samcv | good ** | 06:23 | |
brrt | :-) | 06:25 | |
06:29
lizmat_ joined
07:54
zakharyas joined
|
|||
timotimo | o/ | 09:15 | |
dogbert17_ | o/ timotimo, had your morning coffee yet? | 09:20 | |
timotimo | i don't drink coffee :) | 09:22 | |
dogbert17_ | tea? | ||
timotimo | not very often | ||
dogbert17_ | Red Bull :) | ||
timotimo | hardly ever | ||
dogbert17_ | how do you manage to stay sharp then ? | 09:23 | |
dogbert17_ wouldn't survive without coffee | |||
timotimo | have you ever seen me be sharp? :D | ||
dogbert17_ | sure | 09:24 | |
timotimo: have you also noticed that [Tux]'s code have gotten slower recently? | 09:26 | ||
timotimo | i didn't pay close attention, but i noticed it went below 5 and then above 5 again | 09:27 | |
dogbert17_ | I wonder why, perhaps time to profile again | 09:35 | |
this code takes 5.6 s on my machine: 'for i in $(seq 1 10000); do echo 'hello,","," ",world,"!"'; done > /tmp/hello.csv; time perl6 -Ilib -MText::CSV test-t.pl </tmp/hello.csv' | 09:48 | ||
Geth | MoarVM/master: 5 commits pushed by (Timo Paulssen)++ | 10:40 | |
10:54
domidumont joined
|
|||
timotimo | aaw, annotations on spesh bytecode instructions have had 32bits of payload data until now ... but i want to introduce a filename/linenumber annotation, which requires 64bit | 10:55 | |
11:00
domidumont joined
11:03
brrt joined
11:29
AlexDaniel joined
|
|||
timotimo | i could also just keep the original pc around, then i could grab the line number out when i actually need it. though i need to walk the annotations data anyway to find the right instructions that actually have annotations for 'em | 11:33 | |
fantastic, got something that seems to work | 11:37 | ||
oh, snap. now i'll have to measure more precisely how many slots have to go into the line_report_store :\ | 11:43 | ||
brrt | ohai timotimo | 11:52 | |
timotimo | ohai brrt | ||
how are you today? | 11:55 | ||
Geth | MoarVM/line_coverage_precision: ca26c9a65f | (Timo Paulssen)++ | 6 files keep around line number annotations in spesh this ought to decrease the number of lines considered uncovered even though lines immediately before them are covered and there's no clear way those could have been skipped. |
12:03 | |
timotimo | d'oh | 12:06 | |
brrt | working :-) | ||
Geth | MoarVM/line_coverage_precision: 8176035477 | (Timo Paulssen)++ | 6 files keep around line number annotations in spesh this ought to decrease the number of lines considered uncovered even though lines immediately before them are covered and there's no clear way those could have been skipped. |
||
timotimo | force-pushed %) | ||
brrt | how are you | 12:09 | |
timotimo | i'm all right | ||
i finally tackled this task that i've been putting off for so long | 12:10 | ||
MasterDuke_ | nice | 12:25 | |
timotimo: should 2baad5f706 make profiling faster? | 12:30 | ||
timotimo | it could | ||
Geth | MoarVM/line_coverage_precision: 3f2d62ffb7 | (Timo Paulssen)++ | src/instrument/line_coverage.c fix off-by-one and uninitialized read |
12:33 | |
timotimo | i imagine entries in the list it uses to hold the nodes to visit might be smaller than stack frames for the recursive function | 12:35 | |
but there's some overhead from reallocing and such | |||
huh | 12:37 | ||
MasterDuke_ | btw, speaking of telemetry. i know where i saw it demoed before. in one of jonathan blow's videos he was using it to talk about the performance of his compiler. the view was pretty slick | 12:43 | |
Geth | MoarVM/line_coverage_precision: 71f3d57982 | (Timo Paulssen)++ | src/instrument/line_coverage.c use the right pair of vars in skip check |
||
timotimo | ah yeah, i'd expect jonblow to know of telemetry | ||
and yeah, the real secret sauce isn't in what we've got in moar now | 12:44 | ||
MasterDuke_ | oh also, i get a lot of warnings when compiling moar | 12:45 | |
timotimo | oh yeah | 12:46 | |
now that i put the header file in it actually knows what the first argument to the interval ops is | |||
i should def fix that | |||
MasterDuke_ | there are also a couple printf format ones | ||
timotimo | mhh | ||
why can't i just pass a pointer to an intptr_t argument :| | 12:47 | ||
JimmyZ | timotimo: I think it misses MVM_ prefix in telemeh.h | 12:49 | |
timotimo | oh, yeah, i put it into moar.h | 12:50 | |
i should def rename it to fit | |||
Geth | MoarVM: eb9ae8ddc1 | (Timo Paulssen)++ | 16 files rename telemetry stuff to fit mvm naming conventions |
12:54 | |
MoarVM: 45bbbb3d99 | (Timo Paulssen)++ | 4 files make threadId MVMThreadContext*, and cast to intptr_t otherwise |
12:56 | ||
timotimo | MasterDuke_: what are those warnings? | ||
MasterDuke_ | i'll rebuild with your most recent changes | 12:57 | |
src/main.c:198:14: warning: implicit declaration of function āgetpidā [-Wimplicit-function-declaration] | |||
timotimo | oh, yes | 12:58 | |
i had something for that, didn't i?! | |||
MasterDuke_ | format warnings gist.github.com/MasterDuke17/a08c5...f6ebc5170b | ||
timotimo | ah | 12:59 | |
only in moar.c | |||
Geth | MoarVM: 4e82051102 | (Timo Paulssen)++ | src/main.c get includes for getpid and _getpid into main.c as well |
||
timotimo | what's the problem with ' ' on %x? | 13:02 | |
Geth | MoarVM: 46f9034d53 | (Timo Paulssen)++ | 4 files uintptr makes more sense than intptr. |
13:03 | |
MoarVM: e0de50213c | (Timo Paulssen)++ | src/profiler/telemeh.c get moar.h for MVMThreadContext |
13:04 | ||
MoarVM: 31ffb9eb2d | (Timo Paulssen)++ | src/profiler/telemeh.c use proper format code for long long int. |
|||
timotimo | what's it look like now? | 13:05 | |
MasterDuke_ | just the %x one, which i don't understand either | ||
timotimo | oh yikes | ||
travis is very unhappy about my atomic stuff | 13:06 | ||
Geth | MoarVM: c280bad6c7 | (Timo Paulssen)++ | src/profiler/telemeh.c make c89 happy with for loop variable |
||
timotimo | let's see it catch up | 13:07 | |
it's a bit problematic that travis won't tell us up front when things get borken. i wonder why that is? | 13:10 | ||
did we mess up the irc report options or something? | |||
MasterDuke_ | yeah, it hasn't reported in a while | ||
timotimo | it could have told me my code won't compile | 13:11 | |
also, i'm confused: why did it compile locally even though there was a for(unsigned int i;...) in the code? | |||
i thought we put a --std in our makefile? | |||
MasterDuke_ | nope | 13:12 | |
timotimo | huh. | ||
i'll do some errands-y stuff instead of watching travis do its thing ā¦ | |||
MasterDuke_ | build/check.mk.in:53: gcc -fsyntax-only -std=c99 -Werror -Wall -Wextra $(NOGCC:%=-Wno-%) $(CFLAGS) $(CINCLUDES) $< | 13:15 | |
timotimo | huh | ||
okay, AFK for now | |||
but how does travis get the c89 one and we get the c99 one?! | 13:16 | ||
i think i need someone to replace the __ATOMIC stuff with stuff from libatomic_ops | 13:17 | ||
at least i'm getting travis emails | 13:47 | ||
MasterDuke_ | oh yeah, i just started getting them the past day or two | 13:48 | |
timotimo | we might want to consider removing the "install latest llvm" stuff when we're setting CC=gcc | 13:49 | |
or maybe only do that for coverage | |||
that wasn't so hard ... | 13:59 | ||
(or maybe i broke it) | 14:02 | ||
Geth | MoarVM: c113b2b8d8 | (Timo Paulssen)++ | src/profiler/telemeh.c use libatomic_ops instead of __atomic and friends |
14:08 | |
MoarVM: f8303a3039 | (Timo Paulssen)++ | src/core/nativecall_libffi.c missed one uintptr_t cast. thanks, travis! |
|||
timotimo | this ought to make travis happy | ||
samcv: the first 1m20s are spent on all jobs updating llvm, even if we're using gcc to build ... | 14:11 | ||
why do we have apple configs with gcc? | 14:45 | ||
ah, the exclusion was apparently b0rked | 14:48 | ||
Geth | MoarVM: c01b48efc1 | (Timo Paulssen)++ | src/profiler/telemeh.c old clang versions don't have __rdtscp. stub it in that case. |
14:54 | |
timotimo | d'oh | 14:56 | |
Geth | MoarVM: 532d24e6c9 | (Timo Paulssen)++ | src/profiler/telemeh.c add missing #endif |
||
timotimo | oh, hmm. i also have to put in a check that it only gets tried at all if it's x86 architecture | 15:11 | |
ugh. clang doesn't set __has_builtin(__rdtscp) | 15:20 | ||
15:20
domidumont joined
|
|||
timotimo | so i'll have to check clang versions m( | 15:20 | |
Geth | MoarVM: 2ffe729763 | (Timo Paulssen)++ | src/profiler/telemeh.c use the builtin name clang actually recognizes for rdtscp |
15:23 | |
MoarVM: 3c99ffba92 | (Timo Paulssen)++ | src/profiler/telemeh.c put in a fallback for __rdtscp on non-x86 platforms |
15:39 | ||
MoarVM: 1e5fc5b696 | (Timo Paulssen)++ | src/profiler/telemeh.c use PRI constant for uintptr, kick out " ", is undef behaviour. |
|||
15:40
nwc10 joined
|
|||
timotimo | ugh, mac osx doesn't have clock_gettime | 15:48 | |
Geth | MoarVM: d8c45cfd53 | (Timo Paulssen)++ | src/profiler/telemeh.c correct check for rdtsc to rdtscp both should be always be either available or not, but be correct about it. |
15:55 | |
MoarVM: 75fff20a09 | (Timo Paulssen)++ | src/profiler/telemeh.c use libuv to get highres monotonic time since mac osx doesn't have clock_gettime |
|||
timotimo | man, this was about 100x more work than i initially thought | 15:56 | |
MasterDuke_ | heh, but you seem to be making quick work of it | 15:58 | |
timotimo | *shrug* | 16:00 | |
only because a friend is helping me | |||
why do i keep pushing code without trying to compile first | 16:01 | ||
i wish i had kept it in a branch for longer, then i could amend and forcepush ā¦ | |||
Geth | MoarVM: 526c5512e4 | (Timo Paulssen)++ | src/profiler/telemeh.c remove accidentally remaining timespec struct stuff |
16:12 | |
timotimo | well, travis is green across the board | 17:02 | |
so that's good | |||
17:39
spebern joined
|
|||
spebern | hi, did anyone have some time to look at my code regarding the new native call representation for storing structs in a single memory block? I'm pretty sure there could be some improvement | 18:00 | |
yoleaux | 20 Mar 2017 01:03Z <timotimo> spebern: i didn't see anyone suggest it, but here's how to have an array of structs: github.com/jonathanstowe/NativeHelpers-Array | ||
18:00
MasterDuke_ joined
|
|||
spebern | timotimo: thanks for that suggestion, I will take a look | 18:01 | |
jnthn | spebern: It looked interesting, I'm just a tad overloaded still | 18:04 | |
So didn't get to give it a close look yet, sorry | |||
spebern | no problem, there certainly are more important things | 18:05 | |
are there any plans of having arrays with fixed size/shape? | 18:06 | ||
samcv | so many failing modules jnthn :( | 18:34 | |
just woke up | |||
jnthn | samcv: How many is "so many"? | 18:35 | |
samcv | uh | ||
327? | |||
jnthn | samcv: I suspect in some cases the bit rot goes back over a year | ||
Zoffix | Also: how of them haven't been updated since before Dec 2015 :) | ||
*how many | |||
samcv | go here and search hack.p6c.org/~samcv/install_log_live.txt āĀ»Ā» (FAILā | ||
or timeout works too i guess. but for ones only failing | 18:36 | ||
well. still we shouldn't have failing modules in any cose | |||
it's a bad experience | |||
Zoffix | Yes, people do crack jokes about half of our ecosystem being broken | ||
samcv | it... may not be wrong | ||
TimToady | there's a joke about omelets in there somewhere | ||
samcv | they're delicious? | 18:37 | |
:P | |||
TimToady | I do wonder what percentage of those modules are broken due to reliance on untested "features" | ||
it's quite likely that we were right back at the beginning when we said we'd eventually need about 4 times as many spectests as we have... | 18:38 | ||
Zoffix | I see a lot of failures with ===> Install [FAIL] ... ... no such file or directory | 18:39 | |
And just checked one of the modules and it has .pm in the provides META, but the actual file is .pm6 | |||
geekosaur | ...showing your age? I don't think I;ve seen that saying in anything newer than the 30s | ||
:p | |||
TimToady | my 30s were a long time ago, fershure | 18:40 | |
timotimo | huh, 30 seconds ago? | 18:41 | |
geekosaur | maybe he's moving at 0.9999c | 18:42 | |
Zoffix | $ grep -FR '===> Install [FAIL]' install_log_live.txt | wc -l | ||
25 | |||
I bet 24 of those are due to incorrect `provides` sections in META | |||
timotimo | feels good when so many dists have probably not been installed once :) | 18:43 | |
samcv | i count 327 | ||
using 'Ā»Ā» (FAIL' | |||
instead of ===> Install [FAIL] | |||
way more than 25 failing modules | 18:44 | ||
Zoffix | My hypothesis holds so far :) Will send PRs fixing all `provides` in MEAT | ||
*META | |||
samcv | yes that will be very good :) anything that makes less fail is very double plus good | 18:45 | |
timotimo | TOFU.json | ||
Zoffix | .tell Util there are some unmerged PRs that've been marinating for months. Do you mind merging them? github.com/MattOates/Text--Homoglyph/pulls | 18:46 | |
yoleaux | Zoffix: I'll pass your message to Util. | ||
timotimo | samcv: do you know of any way to make the "apt" section of the travis.yml only run for some builds? | 18:48 | |
samcv | YES | ||
is this to speed up our builds? | 18:49 | ||
jnthn | Zoffix: I think MattOates is Ulti, not Util | ||
samcv | it is possible. i will look at it after i get my tea | ||
brb | |||
[Coke] chuckles at MEAT.provides | |||
timotimo | the gcc builds take about 3min 30s maybe? and the first 1m 10s of that is mostly apt stuff | 18:50 | |
Zoffix | oops | 18:51 | |
.seen Ulti | |||
yoleaux | I saw Ulti 15 Apr 2017 06:22Z in #perl6: <Ulti> you can specify the release but I rarely have problems building head | ||
Zoffix | .tell Ulti there are some unmerged PRs that've been marinating for months. Do you mind merging them? github.com/MattOates/Text--Homoglyph/pulls | ||
yoleaux | Zoffix: I'll pass your message to Ulti. | ||
Zoffix | .tell Util sorry, mistaken identity. :) | ||
yoleaux | Zoffix: I'll pass your message to Util. | ||
jnthn | I use the pun "ulti-matt" to remember which is which :P | ||
Zoffix | :D | ||
heh, oops, one of the failures is my module RT::REST::Client. I didn't even know it was failing | 18:58 | ||
I... didn't even know I made a Perl 6 RT::REST::Client :S | |||
"Latest commit d6eba88 on Jul 31, 2016"... that was before I quit drinking... | 18:59 | ||
jnthn | Does that explain making an RT::REST::Client in the first place, or forgetting about it? :) | 19:00 | |
Zoffix | I guess forgetting about it :) | ||
timotimo | was probably for perl6.fail? | 19:01 | |
Zoffix | Probably, but I ended up writing it in Perl 5. Forget why | 19:03 | |
I guess Mojolicious | |||
timotimo | ok, mayhaps | 19:04 | |
Zoffix | I lied. I submitted what I could, but this is boring. Dists with INSTALL FAIL that I didn't look at gist.github.com/zoffixznet/8bc1bc2...3cf7759a5d | 19:24 | |
The boring part is realizing half these dists are abandoned | |||
We need mst PAN | 19:25 | ||
shadow.cat/blog/matt-s-trout/mstpan-1/ | |||
timotimo | yeah :| | 19:26 | |
19:41
lizmat joined
19:52
AlexDaniel joined
|