photon v0.7.0 with Windows support(!)

Dmitry Olshansky dmitry.olsh at gmail.com
Tue Apr 23 19:05:48 UTC 2024


On Tuesday, 23 April 2024 at 17:15:13 UTC, Sönke Ludwig wrote:
> Am 21.04.2024 um 21:01 schrieb Dmitry Olshansky:
>> Photon is a minimalistic multi-threaded fiber scheduler and 
>> event loop that works transparently with traditional blocking 
>> I/O C/C++/D/Rust libraries w/o degrading performance.
>> 
>> It took somewhat longer than I wanted but I'm pleased to 
>> announce that Photon now supports Windows. In particular basic 
>> socket API that is used by the likes of std.socket is 
>> transparently converted to overlapped I/O with I/O completion 
>> port event loop. The last obstacle was, of course, accept 
>> syscall that is only blocking on Windows. Now that 
>> transparently goes to a dedicated Windows's native threadpool 
>> so as to not block our precious fibers.
>> 
>> Explore some basic examples here (not all examples can be run 
>> on Windows): 
>> https://github.com/DmitryOlshansky/photon/tree/master/tests
>> 
>> --
>> Dmitry Olshansky
>> CEO @ Glowlabs
>> https://olshansky.me
>
> That's really nice! How would you judge supporting other kinds 
> of handles, such as files or events, on Windows?

Going to be tricky but timers for one thing should work with the 
threadpool I got in there.

> I guess that the Darwin support will be restricted to freely 
> distributed macOS applications, as calling `__syscall` surely 
> is a private API that cannot be used in any AppStore 
> application, right?

You tell me;)
API looks just like any other libc function.

> In that case it would inevitably put it in a non-consumer 
> application niche, but certainly wouldn't make it any less 
> interesting for more server oriented tasks.

My main angle is being able to develop servers / clients on MacOS 
deploying to other platforms such as Linux server.

—
Dmitry Olshansky
CEO @ Glowlabs
https://olshansky.me



More information about the Digitalmars-d-announce mailing list