Archived
3
0

Readme: link to the new Zig implementation.

This commit is contained in:
Philippe Pittoli 2023-02-05 06:00:30 +01:00
parent 48a727bf19
commit a6e1609fe6

View File

@ -1,4 +1,10 @@
# OBSOLETED BY
This project was obsoleted by the [new Zig implementation][zigimpl].
Code is smaller, simpler and safer to use.
Packet format and API are a bit simpler, too.
# libipc # libipc
libipc - Simple, easy-to-use IPC library libipc - Simple, easy-to-use IPC library
@ -7,9 +13,6 @@ See the introductory man page in `man/libipc.7`.
See the presentation in [docs/libipc.md](docs/libipc.md). See the presentation in [docs/libipc.md](docs/libipc.md).
> This library is a work in progress, but is already used intensively in production.
> It works, but we provide no warranty.
# Compilation # Compilation
`make` `make`
@ -22,9 +25,9 @@ See the presentation in [docs/libipc.md](docs/libipc.md).
For performance improvements within `libipc`: For performance improvements within `libipc`:
- `libipc` will be rewritten in Zig -- **DONE!**
- `libipc` shouldn't use realloc for each event (new client, new message, etc.) but by batch of a few thousand elements - `libipc` shouldn't use realloc for each event (new client, new message, etc.) but by batch of a few thousand elements
- `libipc` should use better internal structures, unrequiring the use of loops (over the whole list of messages or connections) for each action - `libipc` should use better internal structures, unrequiring the use of loops (over the whole list of messages or connections) for each action
- `libipc` will be rewritten in Zig
# Planning for 0.9 # Planning for 0.9
@ -37,10 +40,4 @@ For performance improvements within `libipc`:
- `libipc` should have usable bindings in several languages - `libipc` should have usable bindings in several languages
[zigimpl]: https://git.baguette.netlib.re/Baguette/libipc
# Implementation design
## Memory management
1. Prefer stack over mallocs.
2. Basic functions (such as *usock_*) should not handle memory allocation.