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