libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
dataflow_full_transfer_performance.cpp File Reference
#include "stdafx.h"
#include <boost/test/included/unit_test.hpp>
#include <boost/mpl/list.hpp>
#include "core/thread_pool_sequential.hpp"
#include "core/thread_pool_workers.hpp"
#include <boost/graph/graphviz.hpp>
#include <chrono>
#include <random>
Include dependency graph for dataflow_full_transfer_performance.cpp:

Go to the source code of this file.

Classes

struct  erew_normal_fifo_t< Db, Sz, Jn, Mdl, PoolSize, GSSk >
 
struct  erew_normal_lifo_t< Db, Sz, Jn, Mdl, PoolSize, GSSk >
 
struct  erew_priority_queue_t< Db, Sz, Jn, Mdl, PoolSize, GSSk >
 
struct  crew_normal_fifo_t< Db, Sz, Jn, Mdl, PoolSize, GSSk >
 
struct  crew_normal_lifo_t< Db, Sz, Jn, Mdl, PoolSize, GSSk >
 
struct  crew_normal_lifo_lockfree_t< Db, Sz, Jn, Mdl, PoolSize, GSSk >
 
struct  crew_priority_queue_t< Db, Sz, Jn, Mdl, PoolSize, GSSk >
 
struct  trivial_work
 
struct  recusive_work< PT >
 
struct  pool_1ctx_work< PT >
 

Macros

#define BOOST_TEST_MODULE   libjmmcg_tests
 

Typedefs

using timed_results_t = ave_deviation_meter< unsigned long long >
 
typedef boost::mpl::list< erew_normal_fifo_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >, erew_normal_lifo_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >, crew_normal_fifo_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >, crew_normal_lifo_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >, crew_normal_lifo_lockfree_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >, crew_normal_lifo_lockfree_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::thread_owns_queue< pool_traits::work_distribution_mode_t::queue_model_t::stealing_mode_t::random > >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1 >> dataflow_ps1_test_types
 
typedef boost::mpl::list< erew_normal_fifo_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 12 >, erew_normal_lifo_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 12 >, crew_normal_fifo_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 12 >, crew_normal_lifo_t< pool_traits::work_distribution_mode_t::worker_threads_get_work< pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 12 >> dataflow_ps12_test_types
 

Functions

 BOOST_AUTO_TEST_CASE_TEMPLATE (single_vertical_dataflow_operations_rate, T, dataflow_ps1_test_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (vertical_dataflow_operations_rate, T, dataflow_ps12_test_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (horizontal_dataflow_transfers_rate, T, dataflow_ps12_test_types)
 

Macro Definition Documentation

◆ BOOST_TEST_MODULE

#define BOOST_TEST_MODULE   libjmmcg_tests

Definition at line 21 of file dataflow_full_transfer_performance.cpp.

Typedef Documentation

◆ dataflow_ps12_test_types

typedef boost::mpl::list< erew_normal_fifo_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 12>, erew_normal_lifo_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 12>, crew_normal_fifo_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 12>, crew_normal_lifo_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 12>> dataflow_ps12_test_types

Definition at line 226 of file dataflow_full_transfer_performance.cpp.

◆ dataflow_ps1_test_types

typedef boost::mpl::list< erew_normal_fifo_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>, erew_normal_lifo_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>, crew_normal_fifo_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>, crew_normal_lifo_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>, crew_normal_lifo_lockfree_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::pool_owns_queue>, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>, crew_normal_lifo_lockfree_t<pool_traits::work_distribution_mode_t::worker_threads_get_work<pool_traits::work_distribution_mode_t::queue_model_t::thread_owns_queue<pool_traits::work_distribution_mode_t::queue_model_t::stealing_mode_t::random> >, pool_traits::size_mode_t::fixed_size, generic_traits::return_data::joinable, heavyweight_threading, 1>> dataflow_ps1_test_types

Definition at line 218 of file dataflow_full_transfer_performance.cpp.

◆ timed_results_t

using timed_results_t = ave_deviation_meter<unsigned long long>

Definition at line 37 of file dataflow_full_transfer_performance.cpp.

Function Documentation

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [1/3]

BOOST_AUTO_TEST_CASE_TEMPLATE ( horizontal_dataflow_transfers_rate  ,
,
dataflow_ps12_test_types   
)

\xrefitem test 26. \xrefitem test 176.

Definition at line 499 of file dataflow_full_transfer_performance.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [2/3]

BOOST_AUTO_TEST_CASE_TEMPLATE ( single_vertical_dataflow_operations_rate  ,
,
dataflow_ps1_test_types   
)

\xrefitem test 23. \xrefitem test 173.

Definition at line 318 of file dataflow_full_transfer_performance.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [3/3]

BOOST_AUTO_TEST_CASE_TEMPLATE ( vertical_dataflow_operations_rate  ,
,
dataflow_ps12_test_types   
)

TODO

\xrefitem test 24. \xrefitem test 25. TODO \xrefitem test 174. \xrefitem test 175.

Definition at line 422 of file dataflow_full_transfer_performance.cpp.