Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
00:07 reportable6 left 00:08 reportable6 joined 01:38 evalable6 left, linkable6 left 01:40 linkable6 joined, evalable6 joined 03:50 evalable6 left, linkable6 left 03:52 evalable6 joined, linkable6 joined 04:52 nativecallable6 left, bloatable6 left, committable6 left, unicodable6 left, tellable6 left, coverable6 left, statisfiable6 left, releasable6 left, greppable6 left, bisectable6 left, sourceable6 left, linkable6 left, evalable6 left, reportable6 left, shareable6 left, benchable6 left, notable6 left, quotable6 left, sourceable6 joined, coverable6 joined, evalable6 joined 04:53 releasable6 joined, notable6 joined, nativecallable6 joined, bloatable6 joined 04:54 linkable6 joined, unicodable6 joined, shareable6 joined, benchable6 joined, tellable6 joined, greppable6 joined, committable6 joined, reportable6 joined 04:55 quotable6 joined, statisfiable6 joined, bisectable6 joined 06:07 reportable6 left 06:10 reportable6 joined 08:36 linkable6 left, evalable6 left 08:37 linkable6 joined 08:38 evalable6 joined 10:47 notable6 left, committable6 left, releasable6 left, shareable6 left, bisectable6 left, quotable6 left, nativecallable6 left, statisfiable6 left, evalable6 left, tellable6 left, unicodable6 left, greppable6 left, benchable6 left, linkable6 left, coverable6 left, sourceable6 left, bloatable6 left, reportable6 left, reportable6 joined, statisfiable6 joined 10:48 benchable6 joined, tellable6 joined, committable6 joined, unicodable6 joined, releasable6 joined 10:49 sourceable6 joined, bloatable6 joined, notable6 joined, nativecallable6 joined, evalable6 joined, greppable6 joined, bisectable6 joined, quotable6 joined 10:50 shareable6 joined, linkable6 joined, coverable6 joined 10:51 sena_kun joined 11:51 linkable6 left, evalable6 left 11:52 linkable6 joined 11:53 evalable6 joined 12:06 reportable6 left 12:07 reportable6 joined 14:01 evalable6 left, committable6 left, notable6 left, sourceable6 left, bisectable6 left, bloatable6 left, unicodable6 left, linkable6 left, benchable6 left, reportable6 left, greppable6 left, shareable6 left, tellable6 left, quotable6 left, statisfiable6 left, releasable6 left, nativecallable6 left, coverable6 left 14:02 benchable6 joined, releasable6 joined, committable6 joined, notable6 joined, statisfiable6 joined, bisectable6 joined 14:03 evalable6 joined, tellable6 joined, bloatable6 joined, unicodable6 joined, linkable6 joined, reportable6 joined 14:04 greppable6 joined, sourceable6 joined, shareable6 joined, nativecallable6 joined, quotable6 joined, coverable6 joined
Kaiepi i tried using uv_timer_t to sleep(0) instead of yielding, but apparently that api forks? 16:46
i did manage to get sleep(0e0)/nanosleep(0) to work given recent changes, but it's rather slow
17:27 evalable6 left, linkable6 left 17:29 linkable6 joined, evalable6 joined
jnthn Kaiepi: What's the original goal here? Semaphore (along with similar classes) were really intended to expose the primitive kernel-supported locks/sempahores; if you want something a bit different and are willing to depend on yield and atomics, there's no reason to put it in MoarVM, because those are all available in Raku. 17:41
tellable6 2022-07-22T07:39:31Z #moarvm <Kaipii> jnthn, do you have any suggestions on how to benchmark semaphore ops reliably?
jnthn No yield/sleep/whatever is going to be as effective for longer waits as something where the OS schedule is aware of it. 17:42
Kaiepi jnthn, to get an implementation of Semaphore with some equivalent to sem_getvalue 17:54
so we can get a serializable, thread-safe counter for the MOP 17:55
(or at least a more efficient one) 17:56
18:07 reportable6 left, reportable6 joined
jnthn Counter? Is an atomic integer not enough? 19:17
Kaiepi an atomic integer requires a container 19:18
jnthn Not quite, just a reference to an integer lexical/attribute/array elemnt
And if the concern is performance, one can create that reference once and use it many times 19:19
Ah, and if it's for the MOP, and nobody got around to it yet, there might be a little setup work to do to make those available in NQP 19:20
github.com/rakudo/rakudo/blob/a7e9....nqp#L1899 is a place to look at how the setup is done if wanting to do it for NQP 19:22
20:49 sena_kun left 21:53 releasable6 left, greppable6 left, quotable6 left, committable6 left, linkable6 left, sourceable6 left, evalable6 left, tellable6 left, benchable6 left, reportable6 left, nativecallable6 left, unicodable6 left, coverable6 left, bisectable6 left, notable6 left, statisfiable6 left, bloatable6 left, shareable6 left, shareable6 joined, bloatable6 joined 21:54 sourceable6 joined, reportable6 joined, notable6 joined, unicodable6 joined 21:55 coverable6 joined, releasable6 joined, benchable6 joined, evalable6 joined, committable6 joined, tellable6 joined, statisfiable6 joined, linkable6 joined 21:56 greppable6 joined, quotable6 joined, nativecallable6 joined, bisectable6 joined 22:56 evalable6 left, linkable6 left, evalable6 joined 22:58 linkable6 joined