00:12
Unavowed_ joined
00:54
colomon joined
01:00
pochi_ joined
01:05
geekosaur joined
01:13
colomon joined
01:21
colomon joined
02:25
dalek joined,
harrow` joined
03:06
mojca joined
03:09
geekosaur joined
04:42
geekosaur joined
06:59
domidumont joined,
FROGGS joined
|
|||
nwc10 | I missed this (and thanks Google for always redirecting me to this TLD): morepypy.blogspot.co.at/2016/03/py...eased.html | 07:00 | |
version number acceleration - presumably 7.0 is pretty soon and their version numbers will be in ℵ not long after that | 07:01 | ||
a commentator wondered where pypy3 5.0 is(n't), and no commentator there wondered where their STM work has got to | 07:02 | ||
but I'm wondering this. | |||
07:04
domidumont joined
|
|||
moritz suspects that STM is a *hard* problem, and probably needs years to mature | 07:43 | ||
nwc10 isn't even sure if a solution is useful in the general case. | 07:44 | ||
One of jnthn's talks demonstrated a program that concurrently processed images and uploaded them | 07:45 | ||
you can't do that with STM, because the "upload" side of it has actions that can't be rolled back | |||
er you can't do that *concurrently* with STM | |||
the pypy folks seem to have a design that lets them detect things that can't be run in a transaction, and ensure that they they never need to be rolled back | |||
(that's cool) | 07:46 | ||
but you can't do more than one of those things concurrently | |||
(not so cool, and rather defeats the aim of having STM) | |||
upshot - I'm not betting on STM being of practical use to me in the foreeable future. | |||
other approaches will be | 07:47 | ||
moritz | it's kinda the antithesis to the GIL | 07:50 | |
the GIL works fine if you're IO bound, but not if you're CPU bound | |||
STM seems to be a good approach for things that stay in the CPU and memory, but not good for IO bound workloads | |||
nwc10 | I'd never thought of it that way. That's a nice way of looking at it | ||
moritz is proud to have some self-discovered insight at last :-) | 07:53 | ||
08:17
Unavowed joined
08:18
zakharyas joined
|
|||
lizmat | in the original S17 draft I worked on in 2005, I saw STM as something that required cooperation of objects | 08:39 | |
in the current world I would say, they would need to have a role STM mixed in | |||
if an object didn't have that role mixed in and was changed during a transaction, it would bomb | 08:40 | ||
given this, I still think it would be relatively easy to implement STM in Perl 6 | 08:41 | ||
but there are more urgent matters now :-) | |||
FROGGS | could be an interesting experiment at least | 08:57 | |
that might also be a good spot where Perl 6 can become useful in studies, given it has proper meta models etc | 08:58 | ||
studies/schools in general* | |||
lizmat | I guess it would be similar in approach as the debugger | 09:00 | |
09:36
diakopter____ joined
10:23
donaldh joined,
zakharyas joined
11:25
domidumont1 joined
12:36
zakharyas joined
|
|||
hoelzro | o/ #moarvm | 12:44 | |
jnthn | o/ hoelzro | ||
hoelzro | o/ jnthn | 12:45 | |
nwc10 | good *, #moarvm | 12:46 | |
hoelzro | o/ nwc10 | ||
jnthn | On STM: it tries to make mutating shared state more manageable, but in Perl 6 we've kinda encouraged people to not have shared state and instead exchange messages. In no small part because the latter will scale better. | 12:48 | |
It's not an accident that things that are centered around mutable shared state management are in the ecosystem rather than in core (OO::Monitors for example) | 12:49 | ||
nwc10 | when I read "scale better" I assumed you meant to more CPU cores | 13:26 | |
but the next utterances suggest's it's equally about scaling to more wetware | |||
jnthn | It's both, I think :) | 13:27 | |
13:33
synopsebot6 joined
14:12
FROGGS joined
17:35
zakharyas joined
17:56
domidumont joined
19:06
lizmat joined
19:08
FROGGS joined
|
|||
timotimo | jnthn: what kind of questions does one want to answer by using a heap profiler? | 19:19 | |
i'm imagining you'd want to know how much memory in total a given object/root/frame/whatever directly and indirectly references, for example? | 19:20 | ||
and i suppose you'd want to follow links from any given object through the whole object graph? | |||
jnthn | timotimo: Well, first of all I want to find out why we can't GC EVAL'd things :) | 19:22 | |
timotimo | i imagine diffing between heap snapshots could prove extremely difficult | 19:23 | |
what with objects moving around in the nursery and spaces in the gen2 being re-usable, and objects not being uniquely identified in the heap snapshot | 19:24 | ||
jnthn | Yeah, though you can find trends more easily | ||
timotimo | at least the permanent roots are ... permanent :) | ||
and unlikely to change | |||
i already have a local change for rakudo to make its extension libs use the new API for gc perma roots, but i don't know how to properly #if to make the code backwards-compatible | 19:26 | ||
so pushing that'll only happen to a branch, or after the heap profiler has been merged and we can bump | |||
i imagine building the frontend in perl6 isn't very plausibly a good idea, given how much data we're talking about here ... | 19:28 | ||
it'd probably also be hard to build it in JS ... the profiler already has big problems when its data files reach past a megabyte | |||
so perhaps it's a job for C++ and Qt | |||
jnthn | timotimo: D'oh...I'll probably have to keep the existing API and add a new one too, since Moar is menat to keep working | 19:30 | |
With older Rakudos | 19:31 | ||
We'd probably get away with it at the moment, though. :) | |||
timotimo | mhm | ||
jnthn | On frontends: I'll likely build one that serves my immediate needs, and will, as with most things I built, encourage others to build other frontends too :) | 19:32 | |
19:39
zakharyas joined
19:41
Ven joined
19:43
vendethiel joined
19:47
mojca joined
|
|||
arnsholt | For truly massive things, I guess there's always the old standby of dumping things to kcachegrind format and using that as a frontend | 20:00 | |
20:19
lizmat joined
20:24
vendethiel joined
|
|||
timotimo | good point | 20:44 | |
i've never used kcachegrind for memory profiling at all | 20:45 | ||
arnsholt | I've not used it for that either, but I'm pretty sure there's a bit of it for that | 20:56 | |
22:48
vendethiel joined
|