Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2016-03-16

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

All times shown according to UTC.

Time Nick Message
01:05 pochi joined #moarvm
02:38 vendethiel joined #moarvm
03:36 cognominal joined #moarvm
06:45 domidumont joined #moarvm
06:49 domidumont joined #moarvm
07:26 domidumont joined #moarvm
07:31 FROGGS joined #moarvm
07:39 domidumont1 joined #moarvm
07:59 domidumont joined #moarvm
08:04 domidumont joined #moarvm
08:39 zakharyas joined #moarvm
09:06 mojca joined #moarvm
10:25 dalek MoarVM/heap-profiler: 60db2be | jnthn++ | / (5 files):
10:25 dalek MoarVM/heap-profiler: Sketch in heap profiler data structures.
10:25 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/60db2befb9
10:25 dalek MoarVM/heap-profiler: b7b62cb | jnthn++ | src/ (5 files):
10:25 dalek MoarVM/heap-profiler: Refactor to prepare for multiple profilers.
10:25 jnthn (force-pushed rebase)
10:26 dalek joined #moarvm
10:26 nwc10 OMG you killed dalek
10:26 jnthn I'm a b... :P
10:27 jnthn Let's see if I can get his heap snapshot thingy to actually spew out some data
10:31 nwc10 I'm sure that part is easy
10:31 nwc10 but can you make it spew out *useful* data
10:33 jnthn Easy in the sense of "as hard as implementing a GC mark" :)
10:34 jnthn Though in reality easier 'cus it doesn't need doing in parallel :)
10:42 jnthn yay, my meat delivery just came \o/
10:42 domidumont1 joined #moarvm
10:43 zakharyas joined #moarvm
10:49 domidumont joined #moarvm
10:57 dalek MoarVM/heap-profiler: 53b3f23 | jnthn++ | src/gc/collect.c:
10:57 dalek MoarVM/heap-profiler: We don't need to mark tc->cur_frame twice.
10:57 dalek MoarVM/heap-profiler:
10:57 dalek MoarVM/heap-profiler: Was harmless, and not a big waste 'cus its mark generation would have
10:57 dalek MoarVM/heap-profiler: already been set to the current collection. But still, a waste of a
10:57 dalek MoarVM/heap-profiler: few lines of code.
10:57 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/53b3f23e76
10:57 dalek MoarVM/heap-profiler: d15aee7 | jnthn++ | src/gc/ (2 files):
10:57 dalek MoarVM/heap-profiler: Move thread object mark into thread root mark.
10:57 dalek MoarVM/heap-profiler:
10:57 dalek MoarVM/heap-profiler: No reason for it to specially be mentioned in collect.c.
10:57 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/d15aee74c1
11:02 dalek MoarVM/heap-profiler: f9b85f2 | jnthn++ | src/profiler/heapsnapshot.h:
11:02 dalek MoarVM/heap-profiler: Add one more kind of root source.
11:02 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/f9b85f28bd
11:02 dalek MoarVM/heap-profiler: f647934 | jnthn++ | src/profiler/heapsnapshot.c:
11:02 dalek MoarVM/heap-profiler: Todo list of root sources for heap snapshot.
11:02 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/f64793481f
12:38 dalek MoarVM/heap-profiler: b6f03ff | jnthn++ | src/profiler/heapsnapshot.h:
12:38 dalek MoarVM/heap-profiler: A few heap snapshot data structure clean-ups.
12:38 dalek MoarVM/heap-profiler:
12:38 dalek MoarVM/heap-profiler: Size tweaking, name tweaking.
12:38 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/b6f03ffbfc
12:38 dalek MoarVM/heap-profiler: 3d5f4dc | jnthn++ | src/profiler/heapsnapshot.c:
12:38 dalek MoarVM/heap-profiler: Sketch in snapshot worklist processing.
12:38 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/3d5f4dc7b3
12:40 FROGGS joined #moarvm
13:35 domidumont joined #moarvm
15:15 dalek MoarVM/heap-profiler: 46f2f2b | jnthn++ | src/profiler/heapsnapshot. (2 files):
15:15 dalek MoarVM/heap-profiler: Start recording names of root relations.
15:15 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/46f2f2b28b
15:15 dalek MoarVM/heap-profiler: f32209d | jnthn++ | src/profiler/heapsnapshot.c:
15:15 dalek MoarVM/heap-profiler: Set collectable kind field.
15:15 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/f32209d3f6
15:15 dalek MoarVM/heap-profiler: 34e6672 | jnthn++ | src/profiler/heapsnapshot.c:
15:15 dalek MoarVM/heap-profiler: Clear up strings.
15:15 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/34e6672ef2
15:27 dalek MoarVM/heap-profiler: 032a5e6 | jnthn++ | src/profiler/heapsnapshot.c:
15:27 dalek MoarVM/heap-profiler: Turn collected data into MoarVM objects.
15:27 dalek MoarVM/heap-profiler:
15:27 dalek MoarVM/heap-profiler: Done once we've collected all snapshots, so it doesn't influence them.
15:27 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/032a5e6ec9
15:46 dalek MoarVM/heap-profiler: cee52dd | jnthn++ | src/ (3 files):
15:46 dalek MoarVM/heap-profiler: Refactor to expose heap snapshot state.
15:46 dalek MoarVM/heap-profiler:
15:46 dalek MoarVM/heap-profiler: We'll need it to be API.
15:46 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/cee52dd91e
15:58 dalek MoarVM/heap-profiler: 4f01eb1 | jnthn++ | src/ (5 files):
15:58 dalek MoarVM/heap-profiler: Add permanent roots into the heap snapshot.
15:58 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/4f01eb171a
16:16 dalek MoarVM/heap-profiler: 279e57c | jnthn++ | src/profiler/heapsnapshot.c:
16:16 dalek MoarVM/heap-profiler: Fix thinko in "should we free this" string flags.
16:16 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/279e57cb22
16:16 dalek MoarVM/heap-profiler: 8a509f1 | jnthn++ | src/profiler/heapsnapshot.c:
16:16 dalek MoarVM/heap-profiler: Cheating handling of objects, STables, frames.
16:16 dalek MoarVM/heap-profiler:
16:16 dalek MoarVM/heap-profiler: Doesn't actually walk their references yet.
16:16 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/8a509f1a18
16:31 dalek MoarVM/heap-profiler: 1327f65 | jnthn++ | src/ (4 files):
16:31 dalek MoarVM/heap-profiler: Add instance roots to heap snapshot.
16:31 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/1327f655f7
16:46 dalek MoarVM/heap-profiler: 5486585 | jnthn++ | src/profiler/heapsnapshot.c:
16:46 dalek MoarVM/heap-profiler: Make heap snapshots aware of multiple threads.
16:46 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/548658587f
16:57 dalek MoarVM/heap-profiler: 71f28f1 | jnthn++ | src/ (5 files):
16:57 dalek MoarVM/heap-profiler: Add temporary C stack roots to heap snapshot.
16:57 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/71f28f1b3b
16:57 diakopter jnthn: will it ever try to clean up the C strings alloc'd by the various printf formats in the low level exception error messages?
16:59 jnthn diakopter: We already do in many (most?) cases, I think
16:59 jnthn grep for "waste"
17:03 diakopter ohhh
17:12 dalek MoarVM/heap-profiler: 6065388 | jnthn++ | src/ (4 files):
17:12 dalek MoarVM/heap-profiler: Add thread context roots to heap snapshot.
17:12 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/606538812f
17:12 dalek MoarVM/heap-profiler: 271b763 | jnthn++ | src/profiler/heapsnapshot.c:
17:12 dalek MoarVM/heap-profiler: Add the current frame to the snapshot.
17:12 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/271b763c82
17:12 vendethiel joined #moarvm
17:13 jnthn Well, that's us adding all of the roots into it.
17:14 jnthn Time for a break, me thinks :)
17:45 zakharyas joined #moarvm
18:35 Ven joined #moarvm
18:51 Ven_ joined #moarvm
19:04 Ven joined #moarvm
19:23 FROGGS joined #moarvm
19:31 patrickz joined #moarvm
19:35 Azry joined #moarvm
19:49 brrt joined #moarvm
19:51 rubio_terra joined #moarvm
19:55 brrt good * #moarvm
19:55 diakopter hiii
19:58 brrt hi diakopter
19:59 jnthn o/ brrt
20:01 brrt good fix jnthn :-)
20:01 brrt subtle, too
20:12 Azry Hi! I'm currently looking in p6 for a method to create a filehandle from a file descriptor. I can see that nqp oplist does the reverse, which corresponds to the "fileno_fh" line in the oplist. Is it planned to add such a method to p6/nqp in the future ?
20:13 jnthn Azry: Not planned yet, but if there's demand for it, it should be possible to do.
20:16 lizmat jnthn: if we could do that, could we get rid of special casing STDIN/STDOUT/STDERR ?
20:16 Azry well, i'm trying to port io::pty to p6 and posix_openpt() gives me a file descriptor, so i would need it to create a proper IO::Handle. I don't know if that is a good enough reason
20:20 jnthn Azry: Sounds reasonable enough to me
20:20 Azry cool =)
20:21 jnthn Azry: Not sure, without thinking about it some more
20:22 jnthn oops
20:22 jnthn lizmat: ^^
20:22 lizmat jnthn: yeah, just pointing out maybe another benefit  :-)
20:22 Azry ah ok lol
20:22 Azry :(
20:24 Azry ah, uh now i feel dumb
20:24 jnthn Azry: Heh, no, I meant your request sounds reasonable enough, I was being unsure about lizmat's suggestion :)
20:24 Azry =)
20:24 * jnthn stops confusing folks and goes back to writing the heap profiler...
20:24 Ven joined #moarvm
20:24 lizmat .oO( that'd be confusing enough :-)
20:26 jnthn It's a bit like writing a garbage collector that doesn't bother to collect :)
20:29 Azry so, do i have to register an issue on github, or something ?
20:30 jnthn Azry: I'd file it in the Perl 6 RT (that is, as a Perl 6 feature request)
20:31 jnthn That's where "full stack" things tend to go
20:32 Azry okay i'll to it, thank you =)
20:43 dalek MoarVM/heap-profiler: a8caa75 | jnthn++ | src/profiler/heapsnapshot.c:
20:43 dalek MoarVM/heap-profiler: Offer own/const/dup options for snapshot strings.
20:43 dalek MoarVM/heap-profiler:
20:43 dalek MoarVM/heap-profiler: We'll need all three of them.
20:43 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/a8caa7564c
20:43 dalek MoarVM/heap-profiler: 5d64386 | jnthn++ | src/profiler/heapsnapshot.h:
20:43 dalek MoarVM/heap-profiler: Simplify the types table.
20:43 dalek MoarVM/heap-profiler:
20:43 dalek MoarVM/heap-profiler: These will just be references into the strings heap. Keeps things a
20:43 dalek MoarVM/heap-profiler: lot simpler.
20:43 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/5d6438670e
20:54 dalek MoarVM/heap-profiler: af15fbc | jnthn++ | src/profiler/heapsnapshot.c:
20:54 dalek MoarVM/heap-profiler: Annotate MVMCollectables with type.
20:54 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/af15fbc3a7
20:54 dalek MoarVM/heap-profiler: b93ca4f | jnthn++ | src/profiler/heapsnapshot.c:
20:54 dalek MoarVM/heap-profiler: Add type table to output.
20:54 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/b93ca4f0c4
21:00 dalek MoarVM/heap-profiler: 8c144c4 | jnthn++ | src/profiler/heapsnapshot.c:
21:00 dalek MoarVM/heap-profiler: Add object's STables into the heap snapshot.
21:00 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/8c144c444d
21:16 dalek MoarVM/heap-profiler: bd38593 | jnthn++ | src/profiler/heapsnapshot.c:
21:16 dalek MoarVM/heap-profiler: Include SC reference into heap snapshot.
21:16 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/bd385937d2
21:31 mojca joined #moarvm
21:43 dalek MoarVM/heap-profiler: 40a212c | jnthn++ | src/ (3 files):
21:43 dalek MoarVM/heap-profiler: Add a seen hash for collectables/frames.
21:43 dalek MoarVM/heap-profiler:
21:43 dalek MoarVM/heap-profiler: So that we don't duplicate them in the snapshot, and can handle
21:43 dalek MoarVM/heap-profiler: ciruclar data structures.
21:43 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/40a212c03d
21:47 dalek MoarVM/heap-profiler: 902d23f | jnthn++ | src/profiler/heapsnapshot.c:
21:47 dalek MoarVM/heap-profiler: Fix copy-pasta.
21:47 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/902d23fbd8
21:49 dalek MoarVM/heap-profiler: faca3aa | jnthn++ | src/profiler/heapsnapshot. (2 files):
21:49 dalek MoarVM/heap-profiler: Use gc_mark to walk heap objects.
21:49 dalek MoarVM/heap-profiler:
21:49 dalek MoarVM/heap-profiler: In the longer run, we'll add an optional REPR API to enable more
21:49 dalek MoarVM/heap-profiler: detailed output (including attribute names, for example).
21:49 dalek MoarVM/heap-profiler: review: https://github.com/MoarVM/MoarVM/commit/faca3aae20
21:49 jnthn That last commit gets us really doing serious volumes of data collection :)
21:55 jnthn We're missing walking STables and frames still
21:55 jnthn But, enough for today :)
22:00 jnthn Even with some stuff missing, 1.4MB of profile output for an empty NQP already. And over 100,000 inter-object references.
22:01 jnthn And that's for a run with a single snapshot. :)
22:04 jnthn 'night
22:04 lizmat good night, jnthn
22:07 timotimo gnite jnthn
22:18 ilbot3 joined #moarvm
22:18 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
23:25 timotimo i don't know how exactly jnthn is testing the heap profiler stuff
23:25 timotimo nqp doesn't yet have a branch for dumping that, i think
23:26 timotimo i suppose he's just gdbing the data
23:27 timotimo .o( we could totally be building nqp-gdb-m and nqp-valgrind-m launchers )
23:50 timotimo yay
23:51 timotimo {"types":"", "strings":[], "snapshots":[]}
23:56 geekosaur joined #moarvm

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