libjmmcg  release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
dataflow_full_algos_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_algos_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 >
 

Namespaces

namespace  __cxxabiv1
 

Macros

#define BOOST_TEST_MODULE   libjmmcg_tests
 

Typedefs

using timed_results_t = ave_deviation_meter< double >
 
typedef boost::mpl::list< 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::sequential, generic_traits::return_data::joinable, sequential_mode >, 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_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, 2 >, 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, 4 >, 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, 8 >, 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 >> finite_fifo_test_types
 
typedef boost::mpl::list< 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::sequential, generic_traits::return_data::joinable, sequential_mode >, 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_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, 2 >, 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, 4 >, 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, 8 >, 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 >> finite_lifo_test_types
 

Functions

void gen_bt_terminate ()
 
void __cxxabiv1::__cxa_pure_virtual (void)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (accumulate, T, finite_lifo_test_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (merge, T, finite_lifo_test_types)
 
 BOOST_AUTO_TEST_CASE_TEMPLATE (sort_unsorted, T, finite_lifo_test_types)
 

Macro Definition Documentation

◆ BOOST_TEST_MODULE

#define BOOST_TEST_MODULE   libjmmcg_tests

Definition at line 21 of file dataflow_full_algos_performance.cpp.

Typedef Documentation

◆ finite_fifo_test_types

typedef boost::mpl::list< 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::sequential, generic_traits::return_data::joinable, sequential_mode>, 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_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, 2>, 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, 4>, 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, 8>, 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>> finite_fifo_test_types
Todo:
Does not seem to be perf tested...?
Todo:
Does not seem to be perf tested...?

Definition at line 222 of file dataflow_full_algos_performance.cpp.

◆ finite_lifo_test_types

typedef boost::mpl::list< 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::sequential, generic_traits::return_data::joinable, sequential_mode>, 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_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, 2>, 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, 4>, 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, 8>, 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>> finite_lifo_test_types

Definition at line 233 of file dataflow_full_algos_performance.cpp.

◆ timed_results_t

using timed_results_t = ave_deviation_meter<double>

Definition at line 37 of file dataflow_full_algos_performance.cpp.

Function Documentation

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [1/3]

BOOST_AUTO_TEST_CASE_TEMPLATE ( accumulate  ,
,
finite_lifo_test_types   
)

\xrefitem test 12. \xrefitem test 162.

Definition at line 278 of file dataflow_full_algos_performance.cpp.

References gen_bt_terminate().

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [2/3]

BOOST_AUTO_TEST_CASE_TEMPLATE ( merge  ,
,
finite_lifo_test_types   
)

\xrefitem test 13. \xrefitem test 163.

Definition at line 337 of file dataflow_full_algos_performance.cpp.

◆ BOOST_AUTO_TEST_CASE_TEMPLATE() [3/3]

BOOST_AUTO_TEST_CASE_TEMPLATE ( sort_unsorted  ,
,
finite_lifo_test_types   
)

\xrefitem test 14. \xrefitem test 164.

Definition at line 407 of file dataflow_full_algos_performance.cpp.

◆ gen_bt_terminate()

void gen_bt_terminate ( )