<commit_before>====================
Choosing a data type
====================
Believe it or not, wrecords are not always the best data type to use.
Depending on your use-case, other data types may be more appropriate. This
table should help you choose:

+-----------------+---------+-----------+-----------+------------+--------------+
| Data type       | Dynamic | Dynamic   | Per-field | More than  | Large number |
|                 ||values  | structure | defaults  | 255 fields | of instances |
+-----------------+---------+-----------+-----------+------------+--------------+
| wrecord         |    Y    |     N     |     Y     |      Y     |      Y       |
+-----------------+---------+-----------+-----------+------------+--------------+
| namedtuple      |    N*   |     N     |     N     |      N     |      Y       |
+-----------------+---------+-----------+-----------+------------+--------------+
| SimpleNameSpace |    Y    |     Y     |     N     |      N     |      Y       |
+-----------------+---------+-----------+-----------+------------+--------------+
| dict            |    Y    |     Y     |     N%    |      Y     |      N       |
+-----------------+---------+-----------+-----------+------------+--------------+

================  =======  =========  =========  ==========  ============
Data type         Dynamic  Dynamic    Per-field  More than   Large number
                  values   structure  defaults   255 fields  of instances
================  =======  =========  =========  ==========  ============
wrecord           Y        N          Y          Y           Y
----------------  -------  ---------  ---------  ----------  ------------
namedtuple        N*       N          N          N           Y
----------------  -------  ---------  ---------  ----------  ------------
SimpleNameSpace   Y        Y          N          N           Y
----------------  -------  ---------  ---------  ----------  ------------
dict              Y        Y          N%         Y           N
----------------  -------  ---------  ---------  ----------  ------------


* *wrecord* may be a good choice when one or more of the following are true:<commit_msg>Changes to the table format<commit_after>====================
Choosing a data type
====================
Believe it or not, wrecords are not always the best data type to use.
Depending on your use-case, other data types may be more appropriate. This
table should help you choose:

+-----------------+---------+-----------+-----------+------------+--------------+
| Data type       | Dynamic | Dynamic   | Per-field | More than  | Large number |
|                 ||values  | structure | defaults  | 255 fields | of instances |
+-----------------+---------+-----------+-----------+------------+--------------+
| wrecord         |    Y    |     N     |     Y     |      Y     |      Y       |
+-----------------+---------+-----------+-----------+------------+--------------+
| namedtuple      |    N*   |     N     |     N     |      N     |      Y       |
+-----------------+---------+-----------+-----------+------------+--------------+
| SimpleNameSpace |    Y    |     Y     |     N     |      N     |      Y       |
+-----------------+---------+-----------+-----------+------------+--------------+
| dict            |    Y    |     Y     |     N%    |      Y     |      N       |
+-----------------+---------+-----------+-----------+------------+--------------+


================  =======  =========  =========  ==========  ============
Data type         Dynamic  Dynamic    Per-field  More than   Large number
                  values   structure  defaults   255 fields  of instances
================  =======  =========  =========  ==========  ============
wrecord           Y        N          Y          Y           Y
----------------  -------  ---------  ---------  ----------  ------------
namedtuple        N*       N          N          N           Y
----------------  -------  ---------  ---------  ----------  ------------
SimpleNameSpace   Y        Y          N          N           Y
----------------  -------  ---------  ---------  ----------  ------------
dict              Y        Y          N%         Y           N
================  =======  =========  =========  ==========  ============


* *wrecord* may be a good choice when one or more of the following are true:
{'fraction_non_alphanumeric': 0.44301765650080255, 'fraction_numerical': 0.002751662462737904, 'mean_word_length': 0.6185528756957328, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 32, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '899692', 'n_tokens_mistral': 954, 'n_tokens_neox': 860, 'n_words': 265}