* What is it? -------------------- Iris is a library for developing asynchronous and concurrent applications. It is a follow up to GTask and provides many new and desired features such as message passing, work-stealing, and lock-free data structures. The name has changed as we were beginning to collide with GLib namespaces. Iris is implemented in C and is not API or ABI compatible with GTask. * Features: -------------------- - API for asynchronous tasks with a similar feel to NSOperation - Callbacks and Errbacks for tasks similar to Python Twisted - Concurrency and message passing similar to CCR - A Work-stealing scheduler providing as much as 8x performance over threads sharing a GAsyncQueue for work items - Task dependencies for complex decisions such as "Go do these 3 things in parallel and notify me when complete" - A set of lock-free data structures such as stack and queue - A dynamic scheduler manager that can migrate threads between schedulers that need them based on demand - Coordination of message passing that arbitrate when messages can be delivered - Bindings for Vala - GObject Introspection * Iris 0.1.0 -------------------- - Initial release - Plenty of leaks, will eat your babies * Where can I get it? -------------------- Home page: http://github.com/chergert/iris Issues: http://github.com/chergert/iris/issues Source code: http://ftp.dronelabs.com/sources/iris/0.1/iris-0.1.0.tar.gz Documentation: http://docs.dronelabs.com/iris/api/ http://audidude.com/blog/?p=124 http://audidude.com/blog/?p=150 Iris requires: - glib-2.0 >= 2.16 Vala bindings: - vala >= 0.7 -- Christian Hergert <chris dronelabs com>
Attachment:
signature.asc
Description: This is a digitally signed message part