Photon v0.13.0 with offload
IchorDev
zxinsworld at gmail.com
Fri Sep 5 16:05:16 UTC 2025
On Wednesday, 3 September 2025 at 07:32:59 UTC, Dmitry Olshansky
wrote:
> The fact those symbols even exist in the first place is because
> the
> initial plan was to wrap the D runtime entry point into the
> following:
> [...]
> But convincing people to try use custom druntime is perishable.
Indeed. It's like convincing people to use Tango.
> It used to start eventloop, now it doesn't so I'd scrap the
> name altogether.
>
> It actually does going right away it's just that "root" fibers
> wait until we start the scheduler. All subsequent fibers are
> run exactly in the style of Go lang.
Ah, fair enough.
> Sync what? :) It's a horrible functionality and has a horrible
> name to fit.
> go starts fiber on *some* core, goOnSameThread runs on the same
> core that it's called from.
'Sync' as in using (the same) one thread. I guess when mixing
`go` and `goOnSameThread` it could end up being more confusing.
If you want a hideous name idea, I was originally going to
suggest `scheduleSynchronously`, but I thought it was a bit too
ugly.
> runScheduler might be better.
Yep, that sounds great!
> Mostly in unittests. It's something I've been looking into but
> for now I've made startloop idempotent on reinitialization. The
> fact that photon is tied to globals such as file descriptors
> and syscalls on these makes it somewhat less amenable to
> deinitialize.
Hmm... that's difficult then.
Question: is there any way to help Photon recognise blocking
calls that it doesn't hook into? I ask because (correct me if I'm
wrong) I don't think Photon hooks into blocking GPU API calls?
(e.g. in OpenGL, Vulkan, etc.)
More information about the Digitalmars-d-announce
mailing list