Python Benchmark: multi-thread vs multi-process
Project description
python-benchmark-thread-vs-process
A benchmark on speed evaluation between multi-thread and multi-process in Python
- PyPI: https://pypi.org/project/python-benchmark-thread-vs-process/
- Github: https://github.com/minhng-info/python-benchmark-thread-vs-process
Installation
sudo pip3 install python_benchmark_thread_vs_process
Note: this package only supports Python 3.
Install package and run test in one command:
sudo pip3 install python_benchmark_thread_vs_process && python_benchmark_thread_vs_process
Usage
Run benchmarking with the following command:
python_benchmark_thread_vs_process
Note: It takes up to 15 minutes to finish the test. Please be patient!
Benchmarking Results
Try to keep your CPUs usage free as much as possible before benchmarking.
For latest benchmarking result, please checkout @ https://github.com/minhng-info/python-benchmark-thread-vs-process
Num CPUs | CPU Model | Current CPU Freq (MHz) | Multi-Thread Time (s) | Multi-Process Time (s) | Total Test Operation | Contributor |
---|---|---|---|---|---|---|
1 | Intel(R) Xeon(R) CPU E5-2680 v3 @ 2.50GHz | 2500 | 11.7581 | 12.0673 | 100 | @minhng92 |
4 | ARM Cortex A53 | 1512 | 289.2922 | 64.5466 | 400 | @johnhlaj |
4 | Intel(R) Core(TM) i5-2500 CPU @ 3.30GHz | 2474 | 55.3840 | 8.8589 | 400 | @minhng92 |
4 | Intel(R) Core(TM) i7-6500U CPU @ 2.50GHz | 2683 | 20.9098 | 10.9195 | 400 | @minhng92 |
16 | Intel(R) Xeon(R) Silver 4208 CPU @ 2.10GHz | 822 | 106.3637 | 12.3538 | 1600 | @minhng92 |
16 | Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz | 2597 | 98.6584 | 7.1033 | 1600 | @minhng92 |
24 | Intel(R) Xeon(R) CPU E5-2630 v2 @ 2.60GHz | 1331 | 372.3926 | 18.5923 | 2400 | @minhng92 |
32 | Intel(R) Xeon(R) Silver 4108 CPU @ 1.80GHz | 809 | 478.8115 | 15.0538 | 3200 | @minhng92 |
72 | Intel(R) Xeon(R) Gold 5220S CPU @ 2.70GHz | 1016 | 550.4936 | 11.6759 | 7200 | @minhng92 |
72 | Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz | 1003 | 545.8076 | 10.6285 | 7200 | @minhng92 |
Contributing
Benchmarking
To contribute to our benchmark table, please follow these steps:
- Step 1: Install package:
pip install python-benchmark-thread-vs-process
- Step 2: Run benchmarking on your machine / server with the command:
python_benchmark_thread_vs_process
- Step 3: If your system information has not been included in the benchmarking results, please create a new issue ticket (with
enhancement
label) and submit your benchmarking result. Your submission is welcome! - Step 4: We'll review and update the benchmarking results.
Code development
- Step 1. Fork on master branch.
- Step 2. Install pre-commit on the local dev environment.
pip install pre-commit
pre-commit install
- Step 3. Write unit-test (if any).
- Step 4. Write code to pass the tests.
- Step 5. Make sure that the new code passes all the pre-commmit conditions.
sh pre_commit.sh
- Step 6. Create pull request.
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
Built Distribution
File details
Details for the file python_benchmark_thread_vs_process-0.1.5.tar.gz
.
File metadata
- Download URL: python_benchmark_thread_vs_process-0.1.5.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4cf33ca208226a0ae7c3bb23f91f5f90caab11adf6cf233ea14f5553b6584ec |
|
MD5 | 90c92295fc3144c59077506efd14e4a3 |
|
BLAKE2b-256 | 115e692998a619d519ec003de8339939f56a0bd322212937c62e469ded0d38e8 |
File details
Details for the file python_benchmark_thread_vs_process-0.1.5-py2.py3-none-any.whl
.
File metadata
- Download URL: python_benchmark_thread_vs_process-0.1.5-py2.py3-none-any.whl
- Upload date:
- Size: 11.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c7e69d29211ded8324ef840497f150c37f3a0f18b368a821cd80880a96c06db |
|
MD5 | 27a4a35666a1d12f70889c9d66674076 |
|
BLAKE2b-256 | b858fc5e59cab64d23d2fbd2f7a21c00a77815802d41409bca8948f18d88d92e |