buggable | 🎺🎺🎺 It's time for the monthly Accidental /win Lottery 😍😍😍 We have 2 ballots submitted by 2 users! DRUM ROLL PLEASE!... | 00:00 | |
And the winning number is 4! Congratulations to AlexDaniel-! You win a can of WD40! | |||
samcv | buggable, i want to win | ||
timotimo | you need to accidentally write a /win 123 command in the chat | 00:09 | |
but it better be a legitimate accident! | |||
samcv | /win 123 | 00:32 | |
buggable | samcv, Thank you for entering Accidental /win Lottery! The next draw will happen in -1 weeks, 6 days, 23 hours, 27 minutes, and 22 seconds | ||
samcv | oops | ||
nice | |||
timotimo | you have more than a hundred irc windows open? :o | 00:33 | |
samcv | no | 02:40 | |
<timotimo> you need to accidentally write a /win 123 command in the chat | |||
02:56
ilbot3 joined
04:13
TimToady joined
07:08
AlexDaniel joined
07:58
Util joined
08:21
mtj_ joined
08:30
releasable6 joined
08:52
zakharyas joined
09:27
Ven joined
09:30
robertle joined
10:04
brrt joined
|
|||
lizmat | good *, #moarvm! | 11:00 | |
timotimo: glad to see you got home safely | |||
brrt | good * lizmat | ||
lizmat | jnthn: if I have a a :degree(X) on a hyper, can the number of general-workers ever exceed that or not ? | 11:01 | |
assuming nothing else is going on | |||
jnthn | Yes, because batching/joining are also scheduled tasks | 11:07 | |
lizmat | ok, just checking :-) | ||
jnthn | The degree is interpreted as the degree of parallelism of the stages that we can distribute, but excludes infrastructural things. | ||
lizmat | hmmm... if I run the snapper with 0.001 (as in 10x as much as the supervisor) | 11:09 | |
11:10
avar joined
|
|||
lizmat | usually the period is about 1350 microseconds | 11:10 | |
but sometimes it is 7-8x as much, between 10K and 12K microseconds, but not additional CPU usage | 11:11 | ||
I guess that's either libuv or GC kicking in, at that level ? | |||
jnthn | GC can take some miliseconds | ||
lizmat | yeah, looks like that | 11:12 | |
BTW, is there a way to find out how many GC's have been done ? | |||
is there an nqp:: op for that ? | |||
jnthn | --profile | ||
lizmat | I mean, while executing :-) | ||
jnthn | Not without using the profiler, no | ||
lizmat | would it be easy to expose this as an nqp::op ? | ||
jnthn | "it depends" | 11:13 | |
lizmat | hehe, I'm not sure I'm going to like the answer :-) | ||
jnthn | In that yes, there's a number we can easily expose | ||
But what about other backends? | |||
lizmat | on other backends it will always be 0 | ||
and I'd settle for some #?if moar code for now, as to not have to burden the other backends at this time | 11:14 | ||
jnthn | I guess the thing thing is whether one number (how many GC runs) is useful :) | 11:37 | |
I guess maybe it is. | |||
We don't currently count (unless profiling) the number of full GCs | |||
The only reason we have the number of GC runs is because we use it as a sequence number | 11:38 | ||
To check if somnething was seen in this GC run, as well as for debug output | |||
lizmat | well, I'd like to be able to crossreference it with other numbers | 11:42 | |
to see patterns | |||
12:08
Ven joined
|
|||
timotimo | see the "vmhealth" branch for an example op that counts - among other things - how many GC runs have happened sofar | 12:34 | |
lizmat | jnthn: sanity check: Worker.run-one is supposed to run 1 job every time it is called, right ? | 12:40 | |
12:46
Ven_ joined
|
|||
lizmat | jnthn: from what I can see, this does not appear to be the case :-( | 12:52 | |
12:53
zakharyas joined
|
|||
jnthn | Not sure what "job" means in this context, but it's called once per queue item | 13:03 | |
If the numbers you're asking about are those timing ones, then see my comment on #perl6-dev as to why they'll be wrong | 13:11 | ||
lizmat | "task" then ? | ||
jnthn | Well, consider: start { ...stuff...; await blah; ...stuff... } | 13:12 | |
lizmat | if I want to process 200 items in a hyper, with a :64batch, that would be 4 tasks (64,64,64,8) ? | ||
jnthn | If blah isn't ready and it does a non-blocking await there, then this will show up twice in Worker, once before the await and once after | ||
Yes | |||
So at a user level you might say that start block is one task, but it'll either be 1 or 2 entries in the queue over its lifetime depending on that await | 13:13 | ||
lizmat | if the work is all CPU bound, that's not likely to happen, is it ? | ||
jnthn | No, but note that the bathcer and the joiner use non-blocking awaits | 13:14 | |
*batcher | |||
iirc, the joiner will spend most of it's life awaiting, but it's a single task, so the way you'd put those time things in, you'd measure its who lifetime, but it's actually only occupying a worker for a fraction of that time | 13:15 | ||
*its whole | 13:16 | ||
lizmat | suppose I replace the current $!total setting code with a ++$!total just before the $!working = 0 in Worker!run-one | ||
should that count the number of tasks completed ? | |||
jnthn | It'd count the number of queue items completed | ||
If you want to count directly scheduled stuff, I guess you'd want to do it in .cue | |||
lizmat | which in the case of ^200 .hyper would be 4, right ? | ||
jnthn | But that'd miss events from the outside world | 13:17 | |
Well, but as I mentioned, the batch/join workers are probably a call to .cue each too | |||
lizmat | ok, so it could be *more*, it shouldn't be less, right ? | ||
jnthn | Right | 13:18 | |
lizmat | hmmm... | ||
ok, lemme do some more research and grokking :-) | |||
jnthn | fwiw github.com/rakudo/rakudo/blob/mast...ipeline.pm is where all the hyper/race-related starts happen | 13:23 | |
13:27
ilmari joined
14:37
AlexDaniel joined
14:41
Ven joined
14:48
zakharyas joined
15:50
domidumont joined
15:57
domidumont joined
16:08
brrt joined
16:33
Ven joined
17:01
domidumont joined
17:08
zakharyas joined
17:12
releasable6 joined
17:16
eater joined
17:23
domidumont joined
18:15
Ven joined
|
|||
timotimo | jnthn: any progress on CStructArray? | 18:52 | |
jnthn | timotimo: No, between $dayjob, trying to get a Cro release out this week, and a rotten cold, I didn't get to it yet | 19:23 | |
19:24
Ven joined
|
|||
timotimo | ugh. i'm returning to my sick roommate tomorrow to care for her, but i'm assuming i'll also be catching something bad real soon | 19:24 | |
btw, cro now installs without --/test on latest rakudo after i did a two-line patch in yamlish | 19:25 | ||
jnthn | Oh, nice :) | ||
(About Cro, not about catching a cold soon.) | |||
timotimo | of course | 19:26 | |
jnthn | Mine is...not bad, I just feel tired all the time, and generally under the weather | ||
timotimo | it looks like it also succeeded just fine on 2017.09 | ||
anyway, i wish you a swift recovery of course :) | 19:50 | ||
20:54
evalable6 joined
21:49
Ven joined
22:01
colomon joined
22:03
colomon joined
|
|||
Geth | MoarVM: 11ab1dcbe5 | (Samantha McVey)++ | src/strings/ops.c join: factor code into join_get_str_from_pos() function Function returns the string by two methods depending on if the array is an object array or a string array. |
23:25 | |
MoarVM: 4136ae2565 | (Samantha McVey)++ | src/strings/ops.c speed up join of longer strings by a significant amount Here we concat multiple times for >300 graphemes per string or if there's <4 pieces and >150 graphemes per string. This can be up to 10x faster for joining very long strings. The conditions were created after extensive testing of joining strings with a separator. |
|||
MoarVM: 8c1584bc5c | (Samantha McVey)++ (committed using GitHub Web editor) | src/strings/ops.c Merge pull request #743 from samcv/join-concat Speed up concat of longer strings by a significant amount |
|||
Zoffix | MoarVM build fails on Windows: ci.appveyor.com/project/rakudo/rak...igxmox1gy6 | 23:39 | |
The ASM preprocessor or whatever it is inserts these `#line` things, but the paths in them have backslashes that aren't escaped. This is one of the results: gist.github.com/zoffixznet/a7bc53d...74733222d0 | 23:40 | ||
Oh wait. It just warns about that stuff | |||
jnthn | Yeah, that's just a warning | 23:41 | |
The actual error looks further on | |||
I tried to figure out how to fix dynasm once, 'cus it spewed a gazillion of those warnings | |||
Then got fed up and stuck the warning pragma in | |||
To disable the warning in that file | 23:42 | ||
So now it does one warning, 'cus I didn't manage to get it to spit out the pragma earlier than that :P | |||
(It probably just needs somebody more patient than me to fiddle with dynasm.) | |||
Zoffix | Oh damn | 23:43 | |
Neveeerr mind. This fail is from a month ago 'cause PR was subitted a month ago -_- | |||
This was the MIN macro issue | 23:44 | ||
jnthn | oh | ||
phew :) | |||
Sleep time o/ | 23:54 |