Skip to main content

Queue using boost's locking API

Project description

Introduction
============

boost_queue.cpp contains a queue class which follows the API from Queue.Queue of
the Python stdlib. The main difference is how the underlying locking is done. In
Python-2.X Queue.Queue uses a busy loop in case of a blocking operation.
This queue implementation uses condition variables from Boost to avoid the busy
loop.

concurrent_queue.hpp contains the Python independent C++ Queue

Changelog
=========

0.3 - March 03, 2012
--------------------

* Fix a memory leak
* Release the GIL less often. Now the GIL is only released if the queue needs to wait.
In the versions before the GIL was released on *every* get/put operation which led
to a lot of unneeded context switches. This change leads to a significant
performance improvement if you work heavily on the queue.

0.2 - February 27, 2012
-----------------------

Let boost_queue.Empty and boost_queue.Full exceptions inhert from Queue.Empty and
Queue.Full. This allows other code to pass around the boost_queue.Queue object without
too many changes in old code.

0.1 - February 02, 2012
----------------------

- Initial release

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boost_queue-0.3.tar.gz (8.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page