Michael Fabian 'Xaymar' Dirks d6e6ec96c4 windows: Rewrite onto IOCompletionPorts
IOCompletionPorts are the modern way to handle asynchronous IO without affected the system too much. Synchronization, work allocation and spreading, etc is all handled by the OS for us, which reduces the work we have to do in order to be NUMA aware. While this is far from perfect, it should perform better than a naive threaded approach.

ToDo:
- Add documentation generation
- Add Github Actions integration
- Write tests for everything.
- Update 'benchmark' sample to work again.
- Figure out a useful way to deal with connect/disconnect/error events.
- Figure out the broken pipe error, caused by an additional connected event where none should have been.
2020-06-22 00:43:06 +02:00
2019-01-06 11:10:29 +01:00
2020-01-23 01:14:38 +01:00
2019-01-08 03:42:58 +01:00

DataPath

DataPath is a high performance low impact Inter-Process Communication (IPC) library written in C++. It is designed to be lightweight, asynchronous and only keep data around the user actively references.

Features

  • Cross-Platform IPC API.
  • Lightweight on CPU and Memory usage.
  • High performance, Send->Recv->Send->Recv 99.9%ile is <=100µs.
  • Asynchronous with Events.

Platforms

  • Windows

Future Platforms

  • Linux
  • Android
  • MacOS
  • iOS
S
Description
[Archived] Failed attempt at a cross-platform high bandwidth low latency IPC library. Worked on Windows at some point.
Readme AGPL-3.0 160 KiB
Languages
C++ 87.6%
CMake 12.4%