Details
-
Task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
-
None
Description
To boot the epic, create a tst_bench_qtconcurrent with building blocks for later extension.
This first benchmark should allow to configure (or run a range of) work items of different (CPU, no I/O) duration: e.g.
- FP addition
- FP sqrt
- atomic int increase
- memcpy of different sized buffers
- ...
- QString::toLower() of differently-sized strings
- ...
- QImage::transform() (note this may use QThreadPool under the hood) of differently-sized images
- ...
And the total number of these items to run. This defines the working set for the benchmark runs.
The first actual benchmark should then compare the wall-clock execution time for running the working set in
- sequential
- parallel with multi-valued QFuture (resultAt) using 1..N threads
This is already a 3d data set, so one might want to visualize it in some clever way.
Attachments
Issue Links
- is required for
-
QTBUG-131830 Benchmark QFuture / QtConcurrent vs. Parallel STL
- Open
-
QTBUG-131831 Benchmark multi-valued QFuture / QtConcurrent vs. single-valued QFuture / std::future
- Open
-
QTBUG-131829 Visualize the results of the new QFuture / QtConcurrent benchmark
- Open