diff options
author | Bastien Montagne <b.mont29@gmail.com> | 2019-11-25 13:58:09 +0300 |
---|---|---|
committer | Bastien Montagne <b.mont29@gmail.com> | 2019-11-25 13:58:09 +0300 |
commit | f9028a3be1f77c01edca44a68894e2ba9d9cfb14 (patch) | |
tree | d6cbefef7d19c292af1a85d2b8853d83042e5667 /doc/python_api/rst_from_bmesh_opdefines.py | |
parent | 85cf56ecbc62dc8d77ba177d01b32065e63166cc (diff) |
BLI_task: Add pooled threaded index range iterator.
This code allows to push a set of different operations all based on
iterations over a range of indices, and then process them all at once
over multiple threads.
This commit also adds unit tests for both old un-pooled, and new pooled
`task_parallel_range` family of functions, as well as some basic
performances tests.
This is mainly interesting for relatively low amount of individual
tasks, as expected.
E.g. performance tests on a 32 threads machine, for a set of 10
different tasks, shows following improvements when using pooled version
instead of ten sequential calls to `BLI_task_parallel_range()`:
| Num Items | Sequential | Pooled | Speed-up |
| --------- | ---------- | ------- | -------- |
| 10K | 365 us | 138 us | 2.5 x |
| 100K | 877 us | 530 us | 1.66 x |
| 1000K | 5521 us | 4625 us | 1.25 x |
Differential Revision: https://developer.blender.org/D6189
Diffstat (limited to 'doc/python_api/rst_from_bmesh_opdefines.py')
0 files changed, 0 insertions, 0 deletions