Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-04-19

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

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

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary