IPython magic for parallel profiling
Project description
A tool for measuring serial and parallel execution, and comparing the results. Provides an IPython magic %ptime. This can be useful for measuring the benefits of parallelizing code, including measuring the effect of the Global Interpreter Lock (GIL).
Example
In [1]: %load_ext ptime
In [2]: import numpy as np
In [3]: x = np.ones((5000, 10000))
In [4]: %ptime x + x
Total serial time: 0.42 s
Total parallel time: 0.25 s
For a 1.67X speedup across 2 threads
In [5]: %ptime -n4 x + x # use 4 threads
Total serial time: 0.82 s
Total parallel time: 0.31 s
For a 2.60X speedup across 4 threads
In [6]: res = %ptime -o x + x # Get the result
Total serial time: 0.41 s
Total parallel time: 0.25 s
For a 1.66X speedup across 2 threads
In [7]: res.speedup
Out[7]: 1.6610825669011922
In [8]: %%ptime # Use as a cell magic
...: x = np.ones((5000, 10000))
...: y = x + x
...:
Total serial time: 0.72 s
Total parallel time: 0.47 s
For a 1.54X speedup across 2 threads
Install
This package is available via pip:
pip install ptime
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ptime-0.0.1.tar.gz
(2.8 kB
view details)
File details
Details for the file ptime-0.0.1.tar.gz
.
File metadata
- Download URL: ptime-0.0.1.tar.gz
- Upload date:
- Size: 2.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 753fe7862bf081bb61391c59aa41e159a8e77bc5a7b091bf7e137c4f90739e6d |
|
MD5 | dd087d9742adb706ad0f744b7c9898bf |
|
BLAKE2b-256 | 0ba9f7bce9926eac778faa994cff43eb91816f83a3db40104922dbccb38503da |