STXXL  1.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
defines.h
Go to the documentation of this file.
1 /***************************************************************************
2  * include/stxxl/bits/defines.h
3  *
4  * Document all defines that may change the behavior of stxxl.
5  *
6  * Part of the STXXL. See http://stxxl.sourceforge.net
7  *
8  * Copyright (C) 2008-2010 Andreas Beckmann <[email protected]>
9  *
10  * Distributed under the Boost Software License, Version 1.0.
11  * (See accompanying file LICENSE_1_0.txt or copy at
12  * http://www.boost.org/LICENSE_1_0.txt)
13  **************************************************************************/
14 
15 #ifndef STXXL_DEFINES_HEADER
16 #define STXXL_DEFINES_HEADER
17 
18 //#define STXXL_HAVE_MMAP_FILE 0/1
19 //#define STXXL_HAVE_SIMDISK_FILE 0/1
20 //#define STXXL_HAVE_BOOSTFD_FILE 0/1
21 //#define STXXL_HAVE_WINCALL_FILE 0/1
22 //#define STXXL_HAVE_WBTL_FILE 0/1
23 #define STXXL_HAVE_AIO_FILE 0 // only available on the kernelaio branch
24 // default: 0/1 (platform and type dependent)
25 // used in: io/*_file.h, io/*_file.cpp, mng/mng.cpp
26 // affects: library
27 // effect: enables/disables some file implementations
28 
29 //#define STXXL_CHECK_BLOCK_ALIGNING
30 // default: not defined
31 // used in: io/*_file.cpp
32 // effect: call request::check_alignment() from request::request(...)
33 
34 //#define STXXL_CHECK_FOR_PENDING_REQUESTS_ON_SUBMISSION 0/1
35 // default: 1
36 // used in: io/*_queue*.cpp
37 // affects: library
38 // effect: check (and warn) for multiple concurrently pending I/O requests
39 // for the same block, usually causing coherency problems on
40 // out-of-order execution
41 
42 //#define STXXL_DO_NOT_COUNT_WAIT_TIME
43 // default: not defined
44 // used in: io/iostats.{h,cpp}
45 // effect: makes calls to wait time counting functions no-ops
46 
47 //#define STXXL_WAIT_LOG_ENABLED
48 // default: not defined
49 // used in: common/log.cpp, io/iostats.cpp
50 // effect: writes wait timing information to the file given via environment
51 // variable STXXLWAITLOGFILE, does nothing if this is not defined
52 
53 //#define STXXL_PRINT_TIMESTAMP_ALWAYS
54 // default: not defined
55 // used in: common/verbose.cpp
56 // affects: library
57 // effect: prefix all MSG/ERRMSG/VERBOSE with elapsed time since program start
58 
59 //#define STXXL_SORT_OPTIMAL_PREFETCHING 0/1
60 // default: 1
61 // used in: algo/*sort.h, stream/sort_stream.h
62 // effect if defined to 0: does not reorder prefetch requests to a disk
63 // optimal schedule (Hutchinson, Sanders, Vitter: Duality between
64 // prefetching and queued writing on parallel disks, 2005)
65 
66 //#define STXXL_CHECK_ORDER_IN_SORTS 0/1
67 // default: 0
68 // used in: algo/*sort.h, stream/sort_stream.h, containers/priority_queue.h
69 // effect if set to 1: perform additional checking of sorted results
70 
71 //#define STXXL_NO_WARN_RECURSIVE_SORT
72 // default: not defined
73 // used in: algo/sort_base.h
74 // affects: programs
75 // effect if defined: does not print error messages about possibly inefficient
76 // recursive merging
77 
78 //#define STXXL_HACK_SINGLE_IO_THREAD
79 // default: not defined
80 // used in: io/disk_queues.h
81 // affects: programs
82 // effect if defined: uses only a single I/O thread instead of one per disk
83 // used e.g. by EcoSort which puts input file, output file and
84 // scratch on a single disk (RAID0)
85 
86 //#define STXXL_MNG_COUNT_ALLOCATION 0/1
87 // default: 1
88 // used in: mng/block_manager.h
89 // effect if defined: counts current, total and maximum allocation of bytes in
90 // block manager. The numbers are exported via block_manager's get_
91 // functions. This can be used to determine the maximum disk space required by
92 // an application.
93 
94 //#define STXXL_NO_DEPRECATED 0/1
95 // default: 0
96 // used in deprecated.h
97 // turns off deprecated warnings for some forced template instantiations
98 
99 #endif // !STXXL_DEFINES_HEADER