|| ||Christian Hergert <chris-AT-dronelabs.com> |
|| ||gnome-announce-list-AT-gnome.org |
|| ||ANNOUNCE: iris-0.1.0 concurrency kit |
|| ||Wed, 22 Apr 2009 16:04:12 -0700|
|| ||Article, Thread
* 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.
- 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
- Bindings for Vala
- GObject Introspection
* Iris 0.1.0
- Initial release
- Plenty of leaks, will eat your babies
* Where can I get it?
- glib-2.0 >= 2.16
- vala >= 0.7
Christian Hergert <email@example.com>
gnome-announce-list mailing list
to post comments)