Skip to content

Commit

Permalink
Added extra compile time args and small edits (#16)
Browse files Browse the repository at this point in the history
  • Loading branch information
tushartk authored Jun 30, 2020
1 parent 21422b6 commit 70d9fff
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@

# faster-fifo

Faster alternative to Python's standard multiprocessing.Queue (IPC FIFO queue). Up to 30x faster in some configurations. (**requires Python 3.6 or newer and runs on MacOS or Linux**)
Faster alternative to Python's standard multiprocessing.Queue (IPC FIFO queue). Up to 30x faster in some configurations.

Implemented in C++ using POSIX mutexes with PTHREAD_PROCESS_SHARED attribute. Based on a circular buffer, low footprint, brokerless.
Completely mimics the interface of the standard multiprocessing.Queue, so can be used as a drop-in replacement.

Adds `get_many()` method to receive multiple messages at once on a consumer for the price of a single lock.

## Requirements

- Linux or MacOS
- Python 3.6 or newer
- GCC 4.9.0 or newer


## Installation

```pip install faster-fifo```
Expand Down
2 changes: 1 addition & 1 deletion pip_pkg_builder_linux/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ and the docker image comes pre-installed with 3.5, 3.6, 3.7 and 3.8.
6. Run the following command to build the ```linux_x86_64``` wheel which is written to the ```output``` folder:
```/opt/python/cp37-cp37m/bin/pip wheel /src -w /output```
7. The ```linux_x86_64``` wheel can now be converted into a ```manylinux2014``` wheel with the following command and writes it to the same ```output``` folder:
```auditwheel repair /src/package_name-version-cp37-cp37m-linux_x86_64.whl -w /output```
```auditwheel repair /output/package_name-version-cp37-cp37m-linux_x86_64.whl -w /output```
8. Next copy this manylinux wheel from the docker to any folder perhaps say ```manylinux_wheel``` with the following command:
```docker cp manylinux_d:/output/package_name-version-cp37-cp37m-manylinux2014_x86_64.whl path-to-package/manylinux_wheel/```
9. Also copy the ```package_name.tar.gz``` file from ```dist``` folder into the ```manylinux_wheel``` folder. This can be created by running the following command:
Expand Down
3 changes: 2 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
name='faster_fifo',
sources=['faster_fifo.pyx', 'cpp_faster_fifo/cpp_lib/faster_fifo.cpp'],
language='c++',
extra_compile_args=['-std=c++14'],
include_dirs=['cpp_faster_fifo/cpp_lib'],
),
]
Expand All @@ -17,7 +18,7 @@
setup(
# Information
name='faster-fifo',
version='1.0.6',
version='1.0.7',
url='https://github.com/alex-petrenko/faster-fifo',
author='Aleksei Petrenko & Tushar Kumar',
license='MIT',
Expand Down

0 comments on commit 70d9fff

Please sign in to comment.