# compiletime_settings.h File Reference

## Detailed Description

Defines on options concerning debugging and performance, at compile-time. This file is a GNU parallel extension to the Standard C++ Library.

Definition in file compiletime_settings.h.

Go to the source code of this file.

## Defines

- #define _GLIBCXX_ASSERTIONS
- #define _GLIBCXX_CALL(n)
- #define _GLIBCXX_MULTIWAY_MERGESORT_COPY_LAST
- #define _GLIBCXX_RANDOM_SHUFFLE_CONSIDER_L1
- #define _GLIBCXX_RANDOM_SHUFFLE_CONSIDER_TLB
- #define _GLIBCXX_SCALE_DOWN_FPU
- #define _GLIBCXX_VERBOSE_LEVEL

## Define Documentation

#define _GLIBCXX_ASSERTIONS

Switch on many _GLIBCXX_PARALLEL_ASSERTions in parallel code. Should be switched on only locally.

Definition at line 67 of file compiletime_settings.h.

Referenced by __gnu_parallel::multiway_merge_loser_tree_unguarded(), and __gnu_parallel::qsb_local_sort_with_helping().

#define _GLIBCXX_CALL | ( | n |  | ) |

Macro to produce log message when entering a function.

Parameters:

  | n | Input size.

See also:
  _GLIBCXX_VERBOSE_LEVEL

Definition at line 50 of file compiletime_settings.h.

Referenced by __gnu_parallel::for_each_template_random_access_workstealing(), __gnu_parallel::merge_advance(), __gnu_parallel::multiseq_partition(), __gnu_parallel::multiseq_selection(), __gnu_parallel::multiway_merge(), __gnu_parallel::multiway_merge_3_combined(), __gnu_parallel::multiway_merge_3_variant(), __gnu_parallel::multiway_merge_4_combined(), __gnu_parallel::multiway_merge_4_variant(), __gnu_parallel::multiway_merge_bubble(), __gnu_parallel::multiway_merge_loser_tree(), __gnu_parallel::multiway_merge_loser_tree_combined(), __gnu_parallel::multiway_merge_loser_tree_sentinel(), __gnu_parallel::multiway_merge_loser_tree_unguarded(), __gnu_parallel::multiway_merge_sentinel(), __gnu_parallel::parallel_multiway_merge(), __gnu_parallel::parallel_nth_element(), __gnu_parallel::parallel_partial_sum(), __gnu_parallel::parallel_partition(), __gnu_parallel::parallel_random_shuffle_drs(), __gnu_parallel::parallel_set_operation(), __gnu_parallel::parallel_sort(), __gnu_parallel::parallel_sort_mwms(), __gnu_parallel::parallel_sort_qs(), __gnu_parallel::parallel_sort_qsb(), __gnu_parallel::parallel_unique_copy(), __gnu_parallel::prepare_unguarded(), __gnu_parallel::prepare_unguarded_sentinel(), and __gnu_parallel::search_template().

#define _GLIBCXX_MULTIWAY_MERGESORT_COPY_LAST

First copy the data, sort it locally, and merge it back (0); or copy it back after everything is done (1).

Recommendation: 0

Definition at line 88 of file compiletime_settings.h.

#define _GLIBCXX_RANDOM_SHUFFLE_CONSIDER_L1

Switch on many _GLIBCXX_PARALLEL_ASSERTions in parallel code. Consider the size of the L1 cache for __gnu_parallel::parallel_random_shuffle().

Definition at line 74 of file compiletime_settings.h.

#define _GLIBCXX_RANDOM_SHUFFLE_CONSIDER_TLB

Switch on many _GLIBCXX_PARALLEL_ASSERTions in parallel code. Consider the size of the TLB for __gnu_parallel::parallel_random_shuffle().

Definition at line 80 of file compiletime_settings.h.

#define _GLIBCXX_SCALE_DOWN_FPU

Use floating-point scaling instead of modulo for mapping random numbers to a range. This can be faster on certain CPUs.

Definition at line 61 of file compiletime_settings.h.

#define _GLIBCXX_VERBOSE_LEVEL

Determine verbosity level of the parallel mode. Level 1 prints a message each time a parallel-mode function is entered.

Definition at line 43 of file compiletime_settings.h.