Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-131831

Benchmark multi-valued QFuture / QtConcurrent vs. single-valued QFuture / std::future

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P2: Important
    • None
    • None
    • None

    Description

      Multi-valued QFutures (otherwise known as channels) are an extension over std::future. In order to compare QFuture with std::future performance, we need to add a parallel mode where each work item's result is reported through a separate future.

      Extend the framework developed in QTBUG-131828 to run the same work sets not only in sequential and QtConcurrent-parallel mode, but also QTheadPool-parallel mode, where each work item reports its result through a separate future. Add the tests for QFuture/QPromise as well as std::future/std::shared_future/std::promise.

      If QTBUG-131829 was implemented: this tasks makes the benchmark results a 4d scalar field, so the visualization probably needs to be extended to create slices in the data set, e.g. comparing single-value QFuture vs std::future instead of 1...N-parallelism.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              cnn Qt Core & Network
              mmutz Marc Mutz
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes