-
Notifications
You must be signed in to change notification settings - Fork 31
Description
Hello, I would like to suggest two of my libraries: aiologic and culsans. Their purpose is to combine three worlds: the world of threads, the world of greenlets and the world of asynchronous tasks. Despite their novelty and "alpha" development status, their theoretical component is taken seriously, so their reliability is quite good.
aiologic
provides thread-safe synchronization and communication primitives: locks, semaphores, queues, etc. These primitives are designed without using existing synchronization primitives, so they can show incredible results in performance tests. Their primary purpose is to work with threads without ever (at any point in time) blocking the event loop, but they also sometimes surpass regular primitives such as threading.Semaphore
.
culsans
is built on aiologic
, and provides its own queues, which differ from aiologic
queues in that they provide interfaces compatible with standard queues, which is useful when working with legacy code. It departs from the lock-free style of aiologic
by using sync-only mutex in its methods, but retains other properties such as high efficiency and fairness.
Unfortunately, because these libraries solve "unpopular" problems (solutions to which are generally considered either difficult, impossible, or requiring reinvention of the wheel), very few people are aware of their existence. That's why they have so few stars and installations, and why I'm asking you to add these libraries to your list.
Categories: Performance
.