
Here are benchmark results for 64 MB arenas and 16 kB pools. I ran without the --fast option and on a Linux machine in single user mode. The "base" columm is the obmalloc-big-pools branch with ARENA_SIZE = 64 MB and POOL_SIZE = 16 kB. The "radix" column is obmalloc_radix_tree (commit 5e00f6041) with the same arena and pool sizes.
+-------------------------+---------------------+-----------------------------+ | Benchmark | base (16kB/64MB) | radix (16KB/64MB) | +=========================+=====================+=============================+ | 2to3 | 290 ms | 292 ms: 1.00x slower (+0%) | +-------------------------+---------------------+-----------------------------+ | crypto_pyaes | 114 ms | 116 ms: 1.02x slower (+2%) | +-------------------------+---------------------+-----------------------------+ | django_template | 109 ms | 106 ms: 1.03x faster (-3%) | +-------------------------+---------------------+-----------------------------+ | dulwich_log | 75.2 ms | 74.5 ms: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | fannkuch | 454 ms | 449 ms: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | float | 113 ms | 111 ms: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | hexiom | 9.45 ms | 9.47 ms: 1.00x slower (+0%) | +-------------------------+---------------------+-----------------------------+ | json_dumps | 10.6 ms | 11.1 ms: 1.04x slower (+4%) | +-------------------------+---------------------+-----------------------------+ | json_loads | 24.4 us | 25.2 us: 1.03x slower (+3%) | +-------------------------+---------------------+-----------------------------+ | logging_simple | 8.19 us | 8.37 us: 1.02x slower (+2%) | +-------------------------+---------------------+-----------------------------+ | mako | 15.1 ms | 15.1 ms: 1.01x slower (+1%) | +-------------------------+---------------------+-----------------------------+ | meteor_contest | 98.3 ms | 97.1 ms: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | nbody | 142 ms | 140 ms: 1.02x faster (-2%) | +-------------------------+---------------------+-----------------------------+ | nqueens | 93.8 ms | 93.0 ms: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | pickle | 8.89 us | 8.85 us: 1.01x faster (-0%) | +-------------------------+---------------------+-----------------------------+ | pickle_dict | 17.9 us | 18.2 us: 1.01x slower (+1%) | +-------------------------+---------------------+-----------------------------+ | pickle_list | 2.68 us | 2.64 us: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | pidigits | 182 ms | 184 ms: 1.01x slower (+1%) | +-------------------------+---------------------+-----------------------------+ | python_startup_no_site | 5.31 ms | 5.33 ms: 1.00x slower (+0%) | +-------------------------+---------------------+-----------------------------+ | raytrace | 483 ms | 476 ms: 1.02x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | regex_compile | 167 ms | 169 ms: 1.01x slower (+1%) | +-------------------------+---------------------+-----------------------------+ | regex_dna | 170 ms | 171 ms: 1.01x slower (+1%) | +-------------------------+---------------------+-----------------------------+ | regex_effbot | 2.70 ms | 2.75 ms: 1.02x slower (+2%) | +-------------------------+---------------------+-----------------------------+ | regex_v8 | 21.1 ms | 21.3 ms: 1.01x slower (+1%) | +-------------------------+---------------------+-----------------------------+ | scimark_fft | 368 ms | 371 ms: 1.01x slower (+1%) | +-------------------------+---------------------+-----------------------------+ | scimark_monte_carlo | 103 ms | 101 ms: 1.02x faster (-2%) | +-------------------------+---------------------+-----------------------------+ | scimark_sparse_mat_mult | 4.31 ms | 4.27 ms: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | spectral_norm | 131 ms | 135 ms: 1.03x slower (+3%) | +-------------------------+---------------------+-----------------------------+ | sqlite_synth | 2.89 us | 2.99 us: 1.03x slower (+3%) | +-------------------------+---------------------+-----------------------------+ | sympy_expand | 491 ms | 502 ms: 1.02x slower (+2%) | +-------------------------+---------------------+-----------------------------+ | sympy_integrate | 20.9 ms | 20.8 ms: 1.00x faster (-0%) | +-------------------------+---------------------+-----------------------------+ | sympy_sum | 99.0 ms | 98.2 ms: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | telco | 6.64 ms | 6.86 ms: 1.03x slower (+3%) | +-------------------------+---------------------+-----------------------------+ | unpickle | 12.3 us | 13.3 us: 1.09x slower (+9%) | +-------------------------+---------------------+-----------------------------+ | unpickle_list | 3.56 us | 3.68 us: 1.03x slower (+3%) | +-------------------------+---------------------+-----------------------------+ | xml_etree_iterparse | 101 ms | 101 ms: 1.01x faster (-1%) | +-------------------------+---------------------+-----------------------------+ | xml_etree_process | 70.8 ms | 70.7 ms: 1.00x faster (-0%) | +-------------------------+---------------------+-----------------------------+
Not significant (18): chaos; deltablue; go; html5lib; logging_format; logging_silent; pathlib; python_startup; richards; scimark_lu; scimark_sor; sqlalchemy_declarative; sqlalchemy_imperative; sympy_str; tornado_http; unpack_sequence; xml_etree_parse; xml_etree_generate
+------------------------+---------------------+-----------------------------+ | Benchmark | radix (4kB/16MB) | radix (16kB/64MB) | +========================+=====================+=============================+ | chaos | 108 ms | 107 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | crypto_pyaes | 116 ms | 116 ms: 1.01x slower (+1%) | +------------------------+---------------------+-----------------------------+ | django_template | 111 ms | 106 ms: 1.05x faster (-4%) | +------------------------+---------------------+-----------------------------+ | dulwich_log | 74.9 ms | 74.5 ms: 1.00x faster (-0%) | +------------------------+---------------------+-----------------------------+ | float | 112 ms | 111 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | hexiom | 9.44 ms | 9.47 ms: 1.00x slower (+0%) | +------------------------+---------------------+-----------------------------+ | json_dumps | 10.6 ms | 11.1 ms: 1.04x slower (+4%) | +------------------------+---------------------+-----------------------------+ | json_loads | 24.5 us | 25.2 us: 1.03x slower (+3%) | +------------------------+---------------------+-----------------------------+ | logging_silent | 182 ns | 179 ns: 1.02x faster (-2%) | +------------------------+---------------------+-----------------------------+ | logging_simple | 8.28 us | 8.37 us: 1.01x slower (+1%) | +------------------------+---------------------+-----------------------------+ | meteor_contest | 98.2 ms | 97.1 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | nbody | 141 ms | 140 ms: 1.00x faster (-0%) | +------------------------+---------------------+-----------------------------+ | nqueens | 93.7 ms | 93.0 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | pathlib | 18.5 ms | 18.9 ms: 1.02x slower (+2%) | +------------------------+---------------------+-----------------------------+ | pickle | 8.95 us | 8.85 us: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | pickle_dict | 18.0 us | 18.2 us: 1.01x slower (+1%) | +------------------------+---------------------+-----------------------------+ | pickle_list | 2.69 us | 2.64 us: 1.02x faster (-2%) | +------------------------+---------------------+-----------------------------+ | pidigits | 182 ms | 184 ms: 1.01x slower (+1%) | +------------------------+---------------------+-----------------------------+ | python_startup | 7.74 ms | 7.70 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | python_startup_no_site | 5.34 ms | 5.33 ms: 1.00x faster (-0%) | +------------------------+---------------------+-----------------------------+ | regex_dna | 170 ms | 171 ms: 1.00x slower (+0%) | +------------------------+---------------------+-----------------------------+ | regex_effbot | 2.72 ms | 2.75 ms: 1.01x slower (+1%) | +------------------------+---------------------+-----------------------------+ | scimark_fft | 359 ms | 371 ms: 1.03x slower (+3%) | +------------------------+---------------------+-----------------------------+ | scimark_monte_carlo | 100 ms | 101 ms: 1.01x slower (+1%) | +------------------------+---------------------+-----------------------------+ | spectral_norm | 133 ms | 135 ms: 1.02x slower (+2%) | +------------------------+---------------------+-----------------------------+ | sqlite_synth | 2.88 us | 2.99 us: 1.04x slower (+4%) | +------------------------+---------------------+-----------------------------+ | sympy_integrate | 21.0 ms | 20.8 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | sympy_sum | 101 ms | 98.2 ms: 1.03x faster (-3%) | +------------------------+---------------------+-----------------------------+ | sympy_str | 209 ms | 206 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | telco | 6.61 ms | 6.86 ms: 1.04x slower (+4%) | +------------------------+---------------------+-----------------------------+ | tornado_http | 170 ms | 169 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | unpickle | 12.7 us | 13.3 us: 1.05x slower (+5%) | +------------------------+---------------------+-----------------------------+ | xml_etree_iterparse | 102 ms | 101 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | xml_etree_generate | 93.0 ms | 92.3 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+ | xml_etree_process | 71.4 ms | 70.7 ms: 1.01x faster (-1%) | +------------------------+---------------------+-----------------------------+
Not significant (20): 2to3; deltablue; fannkuch; go; html5lib; logging_format; mako; raytrace; regex_compile; regex_v8; richards; scimark_lu; scimark_sor; scimark_sparse_mat_mult; sqlalchemy_declarative; sqlalchemy_imperative; sympy_expand; unpack_sequence; unpickle_list; xml_etree_parse