File: parameter_files.rst

package info (click to toggle)
pytables 3.10.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 15,228 kB
  • sloc: ansic: 82,212; python: 65,296; cpp: 753; sh: 394; makefile: 100
file content (159 lines) | stat: -rw-r--r-- 4,074 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
.. _parameter_files:

PyTables parameter files
========================

.. currentmodule:: tables.parameters

PyTables issues warnings when certain limits are exceeded.  Those limits are
not intrinsic limitations of the underlying software, but rather are
proactive measures to avoid large resource consumptions.  The default limits
should be enough for most of cases, and users should try to respect them.
However, in some situations, it can be convenient to increase (or decrease)
these limits.

Also, and in order to get maximum performance, PyTables implements a series
of sophisticated features, like I/O buffers or different kind of caches (for
nodes, chunks and other internal metadata).  These features comes with a
default set of parameters that ensures a decent performance in most of
situations.  But, as there is always a need for every case, it is handy to
have the possibility to fine-tune some of these parameters.

Because of these reasons, PyTables implements a couple of ways to change the
values of these parameters.  All the *tunable* parameters live in the
:file:`tables/parameters.py`.  The user can choose to change them in the
parameter files themselves for a global and persistent change.  Moreover, if
he wants a finer control, he can pass any of these parameters directly to the
:func:`tables.open_file` function, and the new parameters will only take
effect in the corresponding file (the defaults will continue to be in the
parameter files).

A description of all of the tunable parameters follows.  As the defaults
stated here may change from release to release, please check with your actual
parameter files so as to know your actual default values.

.. warning::

    Changing the next parameters may have a very bad effect in the resource
    consumption and performance of your PyTables scripts.

    Please be careful when touching these!


Tunable parameters in parameters.py
-----------------------------------

Recommended maximum values
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. autodata:: MAX_COLUMNS

.. autodata:: MAX_NODE_ATTRS

.. autodata:: MAX_GROUP_WIDTH

.. autodata:: MAX_TREE_DEPTH

.. autodata:: MAX_UNDO_PATH_LENGTH


Cache limits
~~~~~~~~~~~~
.. autodata:: CHUNK_CACHE_NELMTS

.. autodata:: CHUNK_CACHE_PREEMPT

.. autodata:: CHUNK_CACHE_SIZE

.. autodata:: COND_CACHE_SLOTS

.. autodata:: METADATA_CACHE_SIZE

.. autodata:: NODE_CACHE_SLOTS


Parameters for the different internal caches
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. autodata:: BOUNDS_MAX_SIZE

.. autodata:: BOUNDS_MAX_SLOTS

.. autodata:: ITERSEQ_MAX_ELEMENTS

.. autodata:: ITERSEQ_MAX_SIZE

.. autodata:: ITERSEQ_MAX_SLOTS

.. autodata:: LIMBOUNDS_MAX_SIZE

.. autodata:: LIMBOUNDS_MAX_SLOTS

.. autodata:: TABLE_MAX_SIZE

.. autodata:: SORTED_MAX_SIZE

.. autodata:: SORTEDLR_MAX_SIZE

.. autodata:: SORTEDLR_MAX_SLOTS


Parameters for general cache behaviour
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. warning::

    The next parameters will not take any effect if passed to the open_file()
    function, so they can only be changed in a *global* way.  You can change
    them in the file, but this is strongly discouraged unless you know well
    what you are doing.

.. autodata:: DISABLE_EVERY_CYCLES

.. autodata:: ENABLE_EVERY_CYCLES

.. autodata:: LOWEST_HIT_RATIO


Parameters for the I/O buffer in Leaf objects
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. autodata:: IO_BUFFER_SIZE

.. autodata:: BUFFER_TIMES


Miscellaneous
~~~~~~~~~~~~~

.. autodata:: EXPECTED_ROWS_EARRAY

.. autodata:: EXPECTED_ROWS_TABLE

.. autodata:: PYTABLES_SYS_ATTRS

.. autodata:: MAX_NUMEXPR_THREADS

.. autodata:: MAX_BLOSC_THREADS

.. autodata:: USER_BLOCK_SIZE

.. autodata:: ALLOW_PADDING


HDF5 driver management
~~~~~~~~~~~~~~~~~~~~~~

.. autodata:: DRIVER

.. autodata:: DRIVER_DIRECT_ALIGNMENT

.. autodata:: DRIVER_DIRECT_BLOCK_SIZE

.. autodata:: DRIVER_DIRECT_CBUF_SIZE

.. autodata:: DRIVER_CORE_INCREMENT

.. autodata:: DRIVER_CORE_BACKING_STORE

.. autodata:: DRIVER_CORE_IMAGE

.. autodata:: DRIVER_SPLIT_META_EXT

.. autodata:: DRIVER_SPLIT_RAW_EXT