Release: 2.14.6


<details>
<summary>Show benchmarks</summary>

PyArrow==8.0.0

<details>
<summary>Show updated benchmarks!</summary>

### Benchmark: benchmark_array_xd.json

| metric | read_batch_formatted_as_numpy after write_array2d | read_batch_formatted_as_numpy after write_flattened_sequence | read_batch_formatted_as_numpy after write_nested_sequence | read_batch_unformated after write_array2d | read_batch_unformated after write_flattened_sequence | read_batch_unformated after write_nested_sequence | read_col_formatted_as_numpy after write_array2d | read_col_formatted_as_numpy after write_flattened_sequence | read_col_formatted_as_numpy after write_nested_sequence | read_col_unformated after write_array2d | read_col_unformated after write_flattened_sequence | read_col_unformated after write_nested_sequence | read_formatted_as_numpy after write_array2d | read_formatted_as_numpy after write_flattened_sequence | read_formatted_as_numpy after write_nested_sequence | read_unformated after write_array2d | read_unformated after write_flattened_sequence | read_unformated after write_nested_sequence | write_array2d | write_flattened_sequence | write_nested_sequence |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.007051 / 0.011353 (-0.004302) | 0.004291 / 0.011008 (-0.006717) | 0.085557 / 0.038508 (0.047048) | 0.087919 / 0.023109 (0.064810) | 0.356912 / 0.275898 (0.081014) | 0.394835 / 0.323480 (0.071355) | 0.004464 / 0.007986 (-0.003522) | 0.003688 / 0.004328 (-0.000640) | 0.065437 / 0.004250 (0.061186) | 0.060156 / 0.037052 (0.023103) | 0.361807 / 0.258489 (0.103318) | 0.420917 / 0.293841 (0.127076) | 0.031704 / 0.128546 (-0.096842) | 0.008921 / 0.075646 (-0.066726) | 0.287828 / 0.419271 (-0.131443) | 0.053600 / 0.043533 (0.010067) | 0.361833 / 0.255139 (0.106694) | 0.396732 / 0.283200 (0.113532) | 0.025874 / 0.141683 (-0.115809) | 1.474926 / 1.452155 (0.022771) | 1.563186 / 1.492716 (0.070469) |

### Benchmark: benchmark_getitem\_100B.json

| metric | get_batch_of\_1024\_random_rows | get_batch_of\_1024\_rows | get_first_row | get_last_row |
|--------|---|---|---|---|
| new / old (diff) | 0.316823 / 0.018006 (0.298817) | 0.604085 / 0.000490 (0.603595) | 0.020828 / 0.000200 (0.020628) | 0.000351 / 0.000054 (0.000297) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.030468 / 0.037411 (-0.006943) | 0.083904 / 0.014526 (0.069378) | 0.103019 / 0.176557 (-0.073537) | 0.159018 / 0.737135 (-0.578117) | 0.102737 / 0.296338 (-0.193602) |

### Benchmark: benchmark_iterating.json

| metric | read 5000 | read 50000 | read_batch 50000 10 | read_batch 50000 100 | read_batch 50000 1000 | read_formatted numpy 5000 | read_formatted pandas 5000 | read_formatted tensorflow 5000 | read_formatted torch 5000 | read_formatted_batch numpy 5000 10 | read_formatted_batch numpy 5000 1000 | shuffled read 5000 | shuffled read 50000 | shuffled read_batch 50000 10 | shuffled read_batch 50000 100 | shuffled read_batch 50000 1000 | shuffled read_formatted numpy 5000 | shuffled read_formatted_batch numpy 5000 10 | shuffled read_formatted_batch numpy 5000 1000 |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.405311 / 0.215209 (0.190102) | 4.029060 / 2.077655 (1.951406) | 2.046590 / 1.504120 (0.542470) | 1.919335 / 1.541195 (0.378140) | 2.030371 / 1.468490 (0.561881) | 0.484209 / 4.584777 (-4.100568) | 3.486888 / 3.745712 (-0.258824) | 3.390777 / 5.269862 (-1.879084) | 2.110744 / 4.565676 (-2.454933) | 0.056587 / 0.424275 (-0.367688) | 0.007766 / 0.007607 (0.000159) | 0.488217 / 0.226044 (0.262173) | 4.853904 / 2.268929 (2.584976) | 2.595122 / 55.444624 (-52.849502) | 2.217712 / 6.876477 (-4.658765) | 2.500368 / 2.142072 (0.358296) | 0.580843 / 4.805227 (-4.224384) | 0.132719 / 6.500664 (-6.367945) | 0.060202 / 0.075469 (-0.015267) |

### Benchmark: benchmark_map_filter.json

| metric | filter | map fast-tokenizer batched | map identity | map identity batched | map no-op batched | map no-op batched numpy | map no-op batched pandas | map no-op batched pytorch | map no-op batched tensorflow |
|--------|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 1.260748 / 1.841788 (-0.581040) | 20.148848 / 8.074308 (12.074540) | 14.738779 / 10.191392 (4.547387) | 0.167562 / 0.680424 (-0.512862) | 0.018944 / 0.534201 (-0.515257) | 0.394314 / 0.579283 (-0.184969) | 0.409345 / 0.434364 (-0.025019) | 0.458743 / 0.540337 (-0.081594) | 0.638175 / 1.386936 (-0.748761) |

</details>
PyArrow==latest

<details>
<summary>Show updated benchmarks!</summary>

### Benchmark: benchmark_array_xd.json

| metric | read_batch_formatted_as_numpy after write_array2d | read_batch_formatted_as_numpy after write_flattened_sequence | read_batch_formatted_as_numpy after write_nested_sequence | read_batch_unformated after write_array2d | read_batch_unformated after write_flattened_sequence | read_batch_unformated after write_nested_sequence | read_col_formatted_as_numpy after write_array2d | read_col_formatted_as_numpy after write_flattened_sequence | read_col_formatted_as_numpy after write_nested_sequence | read_col_unformated after write_array2d | read_col_unformated after write_flattened_sequence | read_col_unformated after write_nested_sequence | read_formatted_as_numpy after write_array2d | read_formatted_as_numpy after write_flattened_sequence | read_formatted_as_numpy after write_nested_sequence | read_unformated after write_array2d | read_unformated after write_flattened_sequence | read_unformated after write_nested_sequence | write_array2d | write_flattened_sequence | write_nested_sequence |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.007097 / 0.011353 (-0.004256) | 0.004304 / 0.011008 (-0.006705) | 0.065539 / 0.038508 (0.027030) | 0.094078 / 0.023109 (0.070969) | 0.412411 / 0.275898 (0.136513) | 0.441900 / 0.323480 (0.118420) | 0.006038 / 0.007986 (-0.001948) | 0.003647 / 0.004328 (-0.000682) | 0.065298 / 0.004250 (0.061048) | 0.062571 / 0.037052 (0.025518) | 0.405156 / 0.258489 (0.146667) | 0.443779 / 0.293841 (0.149938) | 0.034470 / 0.128546 (-0.094077) | 0.008858 / 0.075646 (-0.066789) | 0.071840 / 0.419271 (-0.347431) | 0.050468 / 0.043533 (0.006935) | 0.404198 / 0.255139 (0.149059) | 0.430196 / 0.283200 (0.146997) | 0.025710 / 0.141683 (-0.115973) | 1.525374 / 1.452155 (0.073219) | 1.591830 / 1.492716 (0.099114) |

### Benchmark: benchmark_getitem\_100B.json

| metric | get_batch_of\_1024\_random_rows | get_batch_of\_1024\_rows | get_first_row | get_last_row |
|--------|---|---|---|---|
| new / old (diff) | 0.294330 / 0.018006 (0.276324) | 0.516943 / 0.000490 (0.516453) | 0.004807 / 0.000200 (0.004607) | 0.000103 / 0.000054 (0.000048) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.034505 / 0.037411 (-0.002907) | 0.096645 / 0.014526 (0.082119) | 0.111926 / 0.176557 (-0.064630) | 0.165241 / 0.737135 (-0.571894) | 0.111834 / 0.296338 (-0.184504) |

### Benchmark: benchmark_iterating.json

| metric | read 5000 | read 50000 | read_batch 50000 10 | read_batch 50000 100 | read_batch 50000 1000 | read_formatted numpy 5000 | read_formatted pandas 5000 | read_formatted tensorflow 5000 | read_formatted torch 5000 | read_formatted_batch numpy 5000 10 | read_formatted_batch numpy 5000 1000 | shuffled read 5000 | shuffled read 50000 | shuffled read_batch 50000 10 | shuffled read_batch 50000 100 | shuffled read_batch 50000 1000 | shuffled read_formatted numpy 5000 | shuffled read_formatted_batch numpy 5000 10 | shuffled read_formatted_batch numpy 5000 1000 |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.436370 / 0.215209 (0.221161) | 4.357568 / 2.077655 (2.279913) | 2.360529 / 1.504120 (0.856409) | 2.196375 / 1.541195 (0.655180) | 2.307481 / 1.468490 (0.838991) | 0.494072 / 4.584777 (-4.090705) | 3.565078 / 3.745712 (-0.180634) | 3.405174 / 5.269862 (-1.864688) | 2.203307 / 4.565676 (-2.362369) | 0.058582 / 0.424275 (-0.365693) | 0.007410 / 0.007607 (-0.000197) | 0.514323 / 0.226044 (0.288279) | 5.139834 / 2.268929 (2.870905) | 2.884111 / 55.444624 (-52.560513) | 2.589021 / 6.876477 (-4.287456) | 2.787577 / 2.142072 (0.645504) | 0.590765 / 4.805227 (-4.214462) | 0.135237 / 6.500664 (-6.365427) | 0.061078 / 0.075469 (-0.014391) |

### Benchmark: benchmark_map_filter.json

| metric | filter | map fast-tokenizer batched | map identity | map identity batched | map no-op batched | map no-op batched numpy | map no-op batched pandas | map no-op batched pytorch | map no-op batched tensorflow |
|--------|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 1.346938 / 1.841788 (-0.494850) | 21.009948 / 8.074308 (12.935640) | 15.203281 / 10.191392 (5.011889) | 0.166208 / 0.680424 (-0.514216) | 0.020634 / 0.534201 (-0.513567) | 0.413825 / 0.579283 (-0.165458) | 0.416477 / 0.434364 (-0.017887) | 0.485888 / 0.540337 (-0.054449) | 0.664941 / 1.386936 (-0.721995) |

</details>
</details>

![](https://cml.dev/watermark.png#395b30ee2c0f6088e28fe78a3e61b591e40a4668 "CML watermark")


_The documentation is not available anymore as the PR was closed or merged._

<details>
<summary>Show benchmarks</summary>

PyArrow==8.0.0

<details>
<summary>Show updated benchmarks!</summary>

### Benchmark: benchmark_array_xd.json

| metric | read_batch_formatted_as_numpy after write_array2d | read_batch_formatted_as_numpy after write_flattened_sequence | read_batch_formatted_as_numpy after write_nested_sequence | read_batch_unformated after write_array2d | read_batch_unformated after write_flattened_sequence | read_batch_unformated after write_nested_sequence | read_col_formatted_as_numpy after write_array2d | read_col_formatted_as_numpy after write_flattened_sequence | read_col_formatted_as_numpy after write_nested_sequence | read_col_unformated after write_array2d | read_col_unformated after write_flattened_sequence | read_col_unformated after write_nested_sequence | read_formatted_as_numpy after write_array2d | read_formatted_as_numpy after write_flattened_sequence | read_formatted_as_numpy after write_nested_sequence | read_unformated after write_array2d | read_unformated after write_flattened_sequence | read_unformated after write_nested_sequence | write_array2d | write_flattened_sequence | write_nested_sequence |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.005927 / 0.011353 (-0.005425) | 0.003622 / 0.011008 (-0.007386) | 0.081414 / 0.038508 (0.042906) | 0.061031 / 0.023109 (0.037922) | 0.358323 / 0.275898 (0.082425) | 0.394192 / 0.323480 (0.070712) | 0.003471 / 0.007986 (-0.004515) | 0.002930 / 0.004328 (-0.001399) | 0.064215 / 0.004250 (0.059964) | 0.048678 / 0.037052 (0.011625) | 0.367966 / 0.258489 (0.109477) | 0.412618 / 0.293841 (0.118777) | 0.027192 / 0.128546 (-0.101355) | 0.007921 / 0.075646 (-0.067725) | 0.262213 / 0.419271 (-0.157059) | 0.044750 / 0.043533 (0.001217) | 0.351573 / 0.255139 (0.096434) | 0.389000 / 0.283200 (0.105800) | 0.020842 / 0.141683 (-0.120840) | 1.448925 / 1.452155 (-0.003229) | 1.530478 / 1.492716 (0.037761) |

### Benchmark: benchmark_getitem\_100B.json

| metric | get_batch_of\_1024\_random_rows | get_batch_of\_1024\_rows | get_first_row | get_last_row |
|--------|---|---|---|---|
| new / old (diff) | 0.227787 / 0.018006 (0.209780) | 0.423161 / 0.000490 (0.422671) | 0.007557 / 0.000200 (0.007357) | 0.000205 / 0.000054 (0.000150) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.024703 / 0.037411 (-0.012709) | 0.074044 / 0.014526 (0.059518) | 0.085520 / 0.176557 (-0.091037) | 0.146132 / 0.737135 (-0.591003) | 0.085637 / 0.296338 (-0.210701) |

### Benchmark: benchmark_iterating.json

| metric | read 5000 | read 50000 | read_batch 50000 10 | read_batch 50000 100 | read_batch 50000 1000 | read_formatted numpy 5000 | read_formatted pandas 5000 | read_formatted tensorflow 5000 | read_formatted torch 5000 | read_formatted_batch numpy 5000 10 | read_formatted_batch numpy 5000 1000 | shuffled read 5000 | shuffled read 50000 | shuffled read_batch 50000 10 | shuffled read_batch 50000 100 | shuffled read_batch 50000 1000 | shuffled read_formatted numpy 5000 | shuffled read_formatted_batch numpy 5000 10 | shuffled read_formatted_batch numpy 5000 1000 |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.393177 / 0.215209 (0.177968) | 3.926740 / 2.077655 (1.849085) | 1.892420 / 1.504120 (0.388300) | 1.716844 / 1.541195 (0.175650) | 1.784040 / 1.468490 (0.315550) | 0.499570 / 4.584777 (-4.085207) | 3.057764 / 3.745712 (-0.687948) | 2.885463 / 5.269862 (-2.384399) | 1.905206 / 4.565676 (-2.660471) | 0.058216 / 0.424275 (-0.366059) | 0.006805 / 0.007607 (-0.000802) | 0.465406 / 0.226044 (0.239361) | 4.658569 / 2.268929 (2.389641) | 2.461737 / 55.444624 (-52.982887) | 2.170620 / 6.876477 (-4.705856) | 2.373715 / 2.142072 (0.231643) | 0.592818 / 4.805227 (-4.212409) | 0.127960 / 6.500664 (-6.372704) | 0.061696 / 0.075469 (-0.013773) |

### Benchmark: benchmark_map_filter.json

| metric | filter | map fast-tokenizer batched | map identity | map identity batched | map no-op batched | map no-op batched numpy | map no-op batched pandas | map no-op batched pytorch | map no-op batched tensorflow |
|--------|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 1.229073 / 1.841788 (-0.612715) | 17.832087 / 8.074308 (9.757778) | 13.889485 / 10.191392 (3.698093) | 0.142237 / 0.680424 (-0.538187) | 0.016752 / 0.534201 (-0.517449) | 0.338342 / 0.579283 (-0.240941) | 0.383933 / 0.434364 (-0.050431) | 0.393017 / 0.540337 (-0.147320) | 0.557621 / 1.386936 (-0.829315) |

</details>
PyArrow==latest

<details>
<summary>Show updated benchmarks!</summary>

### Benchmark: benchmark_array_xd.json

| metric | read_batch_formatted_as_numpy after write_array2d | read_batch_formatted_as_numpy after write_flattened_sequence | read_batch_formatted_as_numpy after write_nested_sequence | read_batch_unformated after write_array2d | read_batch_unformated after write_flattened_sequence | read_batch_unformated after write_nested_sequence | read_col_formatted_as_numpy after write_array2d | read_col_formatted_as_numpy after write_flattened_sequence | read_col_formatted_as_numpy after write_nested_sequence | read_col_unformated after write_array2d | read_col_unformated after write_flattened_sequence | read_col_unformated after write_nested_sequence | read_formatted_as_numpy after write_array2d | read_formatted_as_numpy after write_flattened_sequence | read_formatted_as_numpy after write_nested_sequence | read_unformated after write_array2d | read_unformated after write_flattened_sequence | read_unformated after write_nested_sequence | write_array2d | write_flattened_sequence | write_nested_sequence |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.006218 / 0.011353 (-0.005135) | 0.003679 / 0.011008 (-0.007329) | 0.062934 / 0.038508 (0.024426) | 0.066764 / 0.023109 (0.043655) | 0.482737 / 0.275898 (0.206839) | 0.483241 / 0.323480 (0.159761) | 0.004828 / 0.007986 (-0.003158) | 0.002880 / 0.004328 (-0.001448) | 0.063111 / 0.004250 (0.058861) | 0.049500 / 0.037052 (0.012448) | 0.453155 / 0.258489 (0.194666) | 0.488776 / 0.293841 (0.194935) | 0.028568 / 0.128546 (-0.099978) | 0.008490 / 0.075646 (-0.067157) | 0.068202 / 0.419271 (-0.351069) | 0.040695 / 0.043533 (-0.002838) | 0.457473 / 0.255139 (0.202334) | 0.471968 / 0.283200 (0.188768) | 0.021261 / 0.141683 (-0.120422) | 1.476304 / 1.452155 (0.024150) | 1.503433 / 1.492716 (0.010716) |

### Benchmark: benchmark_getitem\_100B.json

| metric | get_batch_of\_1024\_random_rows | get_batch_of\_1024\_rows | get_first_row | get_last_row |
|--------|---|---|---|---|
| new / old (diff) | 0.227108 / 0.018006 (0.209102) | 0.428330 / 0.000490 (0.427840) | 0.004637 / 0.000200 (0.004437) | 0.000074 / 0.000054 (0.000020) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.027253 / 0.037411 (-0.010158) | 0.081990 / 0.014526 (0.067464) | 0.092763 / 0.176557 (-0.083794) | 0.146155 / 0.737135 (-0.590981) | 0.093175 / 0.296338 (-0.203164) |

### Benchmark: benchmark_iterating.json

| metric | read 5000 | read 50000 | read_batch 50000 10 | read_batch 50000 100 | read_batch 50000 1000 | read_formatted numpy 5000 | read_formatted pandas 5000 | read_formatted tensorflow 5000 | read_formatted torch 5000 | read_formatted_batch numpy 5000 10 | read_formatted_batch numpy 5000 1000 | shuffled read 5000 | shuffled read 50000 | shuffled read_batch 50000 10 | shuffled read_batch 50000 100 | shuffled read_batch 50000 1000 | shuffled read_formatted numpy 5000 | shuffled read_formatted_batch numpy 5000 10 | shuffled read_formatted_batch numpy 5000 1000 |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.464585 / 0.215209 (0.249376) | 4.630704 / 2.077655 (2.553050) | 2.583272 / 1.504120 (1.079152) | 2.393810 / 1.541195 (0.852615) | 2.463255 / 1.468490 (0.994765) | 0.507045 / 4.584777 (-4.077732) | 3.181972 / 3.745712 (-0.563740) | 2.902321 / 5.269862 (-2.367541) | 1.905431 / 4.565676 (-2.660246) | 0.059427 / 0.424275 (-0.364848) | 0.006387 / 0.007607 (-0.001220) | 0.542247 / 0.226044 (0.316203) | 5.426868 / 2.268929 (3.157939) | 3.073489 / 55.444624 (-52.371136) | 2.719620 / 6.876477 (-4.156857) | 2.861865 / 2.142072 (0.719793) | 0.593757 / 4.805227 (-4.211471) | 0.125439 / 6.500664 (-6.375225) | 0.060901 / 0.075469 (-0.014568) |

### Benchmark: benchmark_map_filter.json

| metric | filter | map fast-tokenizer batched | map identity | map identity batched | map no-op batched | map no-op batched numpy | map no-op batched pandas | map no-op batched pytorch | map no-op batched tensorflow |
|--------|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 1.359938 / 1.841788 (-0.481850) | 18.484867 / 8.074308 (10.410559) | 14.685645 / 10.191392 (4.494253) | 0.164098 / 0.680424 (-0.516325) | 0.018090 / 0.534201 (-0.516111) | 0.339760 / 0.579283 (-0.239523) | 0.376668 / 0.434364 (-0.057696) | 0.396963 / 0.540337 (-0.143374) | 0.549305 / 1.386936 (-0.837631) |

</details>
</details>

![](https://cml.dev/watermark.png#0c896f4195ec8a91e09f8bb9a57950bcec8b8450 "CML watermark")


<details>
<summary>Show benchmarks</summary>

PyArrow==8.0.0

<details>
<summary>Show updated benchmarks!</summary>

### Benchmark: benchmark_array_xd.json

| metric | read_batch_formatted_as_numpy after write_array2d | read_batch_formatted_as_numpy after write_flattened_sequence | read_batch_formatted_as_numpy after write_nested_sequence | read_batch_unformated after write_array2d | read_batch_unformated after write_flattened_sequence | read_batch_unformated after write_nested_sequence | read_col_formatted_as_numpy after write_array2d | read_col_formatted_as_numpy after write_flattened_sequence | read_col_formatted_as_numpy after write_nested_sequence | read_col_unformated after write_array2d | read_col_unformated after write_flattened_sequence | read_col_unformated after write_nested_sequence | read_formatted_as_numpy after write_array2d | read_formatted_as_numpy after write_flattened_sequence | read_formatted_as_numpy after write_nested_sequence | read_unformated after write_array2d | read_unformated after write_flattened_sequence | read_unformated after write_nested_sequence | write_array2d | write_flattened_sequence | write_nested_sequence |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.006052 / 0.011353 (-0.005301) | 0.003715 / 0.011008 (-0.007293) | 0.079646 / 0.038508 (0.041138) | 0.059053 / 0.023109 (0.035944) | 0.393016 / 0.275898 (0.117118) | 0.424758 / 0.323480 (0.101278) | 0.005407 / 0.007986 (-0.002578) | 0.002920 / 0.004328 (-0.001408) | 0.062145 / 0.004250 (0.057894) | 0.047289 / 0.037052 (0.010237) | 0.399848 / 0.258489 (0.141359) | 0.434239 / 0.293841 (0.140398) | 0.027388 / 0.128546 (-0.101158) | 0.007967 / 0.075646 (-0.067680) | 0.262546 / 0.419271 (-0.156725) | 0.045014 / 0.043533 (0.001482) | 0.398086 / 0.255139 (0.142947) | 0.414615 / 0.283200 (0.131415) | 0.020410 / 0.141683 (-0.121272) | 1.447276 / 1.452155 (-0.004879) | 1.512390 / 1.492716 (0.019673) |

### Benchmark: benchmark_getitem\_100B.json

| metric | get_batch_of\_1024\_random_rows | get_batch_of\_1024\_rows | get_first_row | get_last_row |
|--------|---|---|---|---|
| new / old (diff) | 0.224854 / 0.018006 (0.206847) | 0.434173 / 0.000490 (0.433683) | 0.010091 / 0.000200 (0.009891) | 0.000259 / 0.000054 (0.000205) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.025316 / 0.037411 (-0.012095) | 0.073284 / 0.014526 (0.058758) | 0.085177 / 0.176557 (-0.091379) | 0.148905 / 0.737135 (-0.588230) | 0.084696 / 0.296338 (-0.211642) |

### Benchmark: benchmark_iterating.json

| metric | read 5000 | read 50000 | read_batch 50000 10 | read_batch 50000 100 | read_batch 50000 1000 | read_formatted numpy 5000 | read_formatted pandas 5000 | read_formatted tensorflow 5000 | read_formatted torch 5000 | read_formatted_batch numpy 5000 10 | read_formatted_batch numpy 5000 1000 | shuffled read 5000 | shuffled read 50000 | shuffled read_batch 50000 10 | shuffled read_batch 50000 100 | shuffled read_batch 50000 1000 | shuffled read_formatted numpy 5000 | shuffled read_formatted_batch numpy 5000 10 | shuffled read_formatted_batch numpy 5000 1000 |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.438259 / 0.215209 (0.223050) | 4.380679 / 2.077655 (2.303025) | 2.310329 / 1.504120 (0.806209) | 2.144002 / 1.541195 (0.602807) | 2.203761 / 1.468490 (0.735270) | 0.500559 / 4.584777 (-4.084218) | 3.031172 / 3.745712 (-0.714540) | 2.839425 / 5.269862 (-2.430436) | 1.878391 / 4.565676 (-2.687285) | 0.057325 / 0.424275 (-0.366950) | 0.006719 / 0.007607 (-0.000888) | 0.510122 / 0.226044 (0.284078) | 5.108632 / 2.268929 (2.839704) | 2.805716 / 55.444624 (-52.638909) | 2.422183 / 6.876477 (-4.454293) | 2.635280 / 2.142072 (0.493207) | 0.589351 / 4.805227 (-4.215876) | 0.125416 / 6.500664 (-6.375248) | 0.061142 / 0.075469 (-0.014327) |

### Benchmark: benchmark_map_filter.json

| metric | filter | map fast-tokenizer batched | map identity | map identity batched | map no-op batched | map no-op batched numpy | map no-op batched pandas | map no-op batched pytorch | map no-op batched tensorflow |
|--------|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 1.234997 / 1.841788 (-0.606791) | 17.731828 / 8.074308 (9.657520) | 13.858081 / 10.191392 (3.666689) | 0.145975 / 0.680424 (-0.534449) | 0.016827 / 0.534201 (-0.517374) | 0.335701 / 0.579283 (-0.243582) | 0.361867 / 0.434364 (-0.072497) | 0.394620 / 0.540337 (-0.145718) | 0.532146 / 1.386936 (-0.854790) |

</details>
PyArrow==latest

<details>
<summary>Show updated benchmarks!</summary>

### Benchmark: benchmark_array_xd.json

| metric | read_batch_formatted_as_numpy after write_array2d | read_batch_formatted_as_numpy after write_flattened_sequence | read_batch_formatted_as_numpy after write_nested_sequence | read_batch_unformated after write_array2d | read_batch_unformated after write_flattened_sequence | read_batch_unformated after write_nested_sequence | read_col_formatted_as_numpy after write_array2d | read_col_formatted_as_numpy after write_flattened_sequence | read_col_formatted_as_numpy after write_nested_sequence | read_col_unformated after write_array2d | read_col_unformated after write_flattened_sequence | read_col_unformated after write_nested_sequence | read_formatted_as_numpy after write_array2d | read_formatted_as_numpy after write_flattened_sequence | read_formatted_as_numpy after write_nested_sequence | read_unformated after write_array2d | read_unformated after write_flattened_sequence | read_unformated after write_nested_sequence | write_array2d | write_flattened_sequence | write_nested_sequence |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.006091 / 0.011353 (-0.005262) | 0.003663 / 0.011008 (-0.007345) | 0.062596 / 0.038508 (0.024088) | 0.061649 / 0.023109 (0.038539) | 0.440647 / 0.275898 (0.164749) | 0.472974 / 0.323480 (0.149494) | 0.005009 / 0.007986 (-0.002976) | 0.002879 / 0.004328 (-0.001449) | 0.062815 / 0.004250 (0.058565) | 0.049000 / 0.037052 (0.011947) | 0.442990 / 0.258489 (0.184501) | 0.477622 / 0.293841 (0.183781) | 0.028512 / 0.128546 (-0.100034) | 0.008031 / 0.075646 (-0.067615) | 0.067853 / 0.419271 (-0.351418) | 0.040823 / 0.043533 (-0.002710) | 0.437811 / 0.255139 (0.182672) | 0.464615 / 0.283200 (0.181416) | 0.021348 / 0.141683 (-0.120334) | 1.479230 / 1.452155 (0.027075) | 1.544053 / 1.492716 (0.051337) |

### Benchmark: benchmark_getitem\_100B.json

| metric | get_batch_of\_1024\_random_rows | get_batch_of\_1024\_rows | get_first_row | get_last_row |
|--------|---|---|---|---|
| new / old (diff) | 0.210697 / 0.018006 (0.192691) | 0.436450 / 0.000490 (0.435960) | 0.003413 / 0.000200 (0.003213) | 0.000089 / 0.000054 (0.000035) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.027190 / 0.037411 (-0.010222) | 0.083254 / 0.014526 (0.068728) | 0.092936 / 0.176557 (-0.083620) | 0.147261 / 0.737135 (-0.589874) | 0.092910 / 0.296338 (-0.203429) |

### Benchmark: benchmark_iterating.json

| metric | read 5000 | read 50000 | read_batch 50000 10 | read_batch 50000 100 | read_batch 50000 1000 | read_formatted numpy 5000 | read_formatted pandas 5000 | read_formatted tensorflow 5000 | read_formatted torch 5000 | read_formatted_batch numpy 5000 10 | read_formatted_batch numpy 5000 1000 | shuffled read 5000 | shuffled read 50000 | shuffled read_batch 50000 10 | shuffled read_batch 50000 100 | shuffled read_batch 50000 1000 | shuffled read_formatted numpy 5000 | shuffled read_formatted_batch numpy 5000 10 | shuffled read_formatted_batch numpy 5000 1000 |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.454195 / 0.215209 (0.238986) | 4.569122 / 2.077655 (2.491468) | 2.497198 / 1.504120 (0.993079) | 2.314337 / 1.541195 (0.773142) | 2.378471 / 1.468490 (0.909981) | 0.515402 / 4.584777 (-4.069375) | 3.199374 / 3.745712 (-0.546338) | 2.899300 / 5.269862 (-2.370562) | 1.873314 / 4.565676 (-2.692362) | 0.058820 / 0.424275 (-0.365455) | 0.006651 / 0.007607 (-0.000957) | 0.526681 / 0.226044 (0.300636) | 5.275232 / 2.268929 (3.006303) | 2.969107 / 55.444624 (-52.475517) | 2.600959 / 6.876477 (-4.275518) | 2.762930 / 2.142072 (0.620858) | 0.605726 / 4.805227 (-4.199501) | 0.127618 / 6.500664 (-6.373046) | 0.062840 / 0.075469 (-0.012629) |

### Benchmark: benchmark_map_filter.json

| metric | filter | map fast-tokenizer batched | map identity | map identity batched | map no-op batched | map no-op batched numpy | map no-op batched pandas | map no-op batched pytorch | map no-op batched tensorflow |
|--------|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 1.367276 / 1.841788 (-0.474512) | 18.069385 / 8.074308 (9.995077) | 14.691945 / 10.191392 (4.500553) | 0.147203 / 0.680424 (-0.533221) | 0.018484 / 0.534201 (-0.515717) | 0.333759 / 0.579283 (-0.245524) | 0.395503 / 0.434364 (-0.038861) | 0.387031 / 0.540337 (-0.153306) | 0.550428 / 1.386936 (-0.836508) |

</details>
</details>

![](https://cml.dev/watermark.png#4c8f7eb79dff66dd03211321dcb55f7a7a05ef38 "CML watermark")


<details>
<summary>Show benchmarks</summary>

PyArrow==8.0.0

<details>
<summary>Show updated benchmarks!</summary>

### Benchmark: benchmark_array_xd.json

| metric | read_batch_formatted_as_numpy after write_array2d | read_batch_formatted_as_numpy after write_flattened_sequence | read_batch_formatted_as_numpy after write_nested_sequence | read_batch_unformated after write_array2d | read_batch_unformated after write_flattened_sequence | read_batch_unformated after write_nested_sequence | read_col_formatted_as_numpy after write_array2d | read_col_formatted_as_numpy after write_flattened_sequence | read_col_formatted_as_numpy after write_nested_sequence | read_col_unformated after write_array2d | read_col_unformated after write_flattened_sequence | read_col_unformated after write_nested_sequence | read_formatted_as_numpy after write_array2d | read_formatted_as_numpy after write_flattened_sequence | read_formatted_as_numpy after write_nested_sequence | read_unformated after write_array2d | read_unformated after write_flattened_sequence | read_unformated after write_nested_sequence | write_array2d | write_flattened_sequence | write_nested_sequence |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.007675 / 0.011353 (-0.003678) | 0.004532 / 0.011008 (-0.006476) | 0.088176 / 0.038508 (0.049668) | 0.103257 / 0.023109 (0.080148) | 0.314785 / 0.275898 (0.038887) | 0.354280 / 0.323480 (0.030800) | 0.004638 / 0.007986 (-0.003348) | 0.003736 / 0.004328 (-0.000592) | 0.066744 / 0.004250 (0.062493) | 0.064647 / 0.037052 (0.027595) | 0.320227 / 0.258489 (0.061738) | 0.369581 / 0.293841 (0.075740) | 0.032347 / 0.128546 (-0.096199) | 0.009226 / 0.075646 (-0.066421) | 0.292966 / 0.419271 (-0.126306) | 0.055738 / 0.043533 (0.012206) | 0.316537 / 0.255139 (0.061398) | 0.334699 / 0.283200 (0.051499) | 0.027401 / 0.141683 (-0.114282) | 1.482390 / 1.452155 (0.030236) | 1.594771 / 1.492716 (0.102055) |

### Benchmark: benchmark_getitem\_100B.json

| metric | get_batch_of\_1024\_random_rows | get_batch_of\_1024\_rows | get_first_row | get_last_row |
|--------|---|---|---|---|
| new / old (diff) | 0.322181 / 0.018006 (0.304175) | 0.577701 / 0.000490 (0.577212) | 0.014565 / 0.000200 (0.014365) | 0.000393 / 0.000054 (0.000338) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.033255 / 0.037411 (-0.004156) | 0.094271 / 0.014526 (0.079745) | 0.105360 / 0.176557 (-0.071197) | 0.163699 / 0.737135 (-0.573436) | 0.105620 / 0.296338 (-0.190719) |

### Benchmark: benchmark_iterating.json

| metric | read 5000 | read 50000 | read_batch 50000 10 | read_batch 50000 100 | read_batch 50000 1000 | read_formatted numpy 5000 | read_formatted pandas 5000 | read_formatted tensorflow 5000 | read_formatted torch 5000 | read_formatted_batch numpy 5000 10 | read_formatted_batch numpy 5000 1000 | shuffled read 5000 | shuffled read 50000 | shuffled read_batch 50000 10 | shuffled read_batch 50000 100 | shuffled read_batch 50000 1000 | shuffled read_formatted numpy 5000 | shuffled read_formatted_batch numpy 5000 10 | shuffled read_formatted_batch numpy 5000 1000 |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.383449 / 0.215209 (0.168240) | 3.824292 / 2.077655 (1.746637) | 1.861809 / 1.504120 (0.357689) | 1.698153 / 1.541195 (0.156958) | 1.819460 / 1.468490 (0.350970) | 0.488277 / 4.584777 (-4.096500) | 3.622772 / 3.745712 (-0.122940) | 3.486041 / 5.269862 (-1.783821) | 2.211679 / 4.565676 (-2.353998) | 0.057637 / 0.424275 (-0.366638) | 0.008028 / 0.007607 (0.000421) | 0.461917 / 0.226044 (0.235873) | 4.626493 / 2.268929 (2.357565) | 2.374846 / 55.444624 (-53.069779) | 1.976003 / 6.876477 (-4.900473) | 2.325342 / 2.142072 (0.183269) | 0.582538 / 4.805227 (-4.222689) | 0.133575 / 6.500664 (-6.367089) | 0.061696 / 0.075469 (-0.013773) |

### Benchmark: benchmark_map_filter.json

| metric | filter | map fast-tokenizer batched | map identity | map identity batched | map no-op batched | map no-op batched numpy | map no-op batched pandas | map no-op batched pytorch | map no-op batched tensorflow |
|--------|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 1.271846 / 1.841788 (-0.569941) | 20.944702 / 8.074308 (12.870394) | 15.438119 / 10.191392 (5.246727) | 0.167334 / 0.680424 (-0.513090) | 0.019538 / 0.534201 (-0.514663) | 0.401467 / 0.579283 (-0.177816) | 0.428222 / 0.434364 (-0.006142) | 0.466108 / 0.540337 (-0.074229) | 0.645326 / 1.386936 (-0.741610) |

</details>
PyArrow==latest

<details>
<summary>Show updated benchmarks!</summary>

### Benchmark: benchmark_array_xd.json

| metric | read_batch_formatted_as_numpy after write_array2d | read_batch_formatted_as_numpy after write_flattened_sequence | read_batch_formatted_as_numpy after write_nested_sequence | read_batch_unformated after write_array2d | read_batch_unformated after write_flattened_sequence | read_batch_unformated after write_nested_sequence | read_col_formatted_as_numpy after write_array2d | read_col_formatted_as_numpy after write_flattened_sequence | read_col_formatted_as_numpy after write_nested_sequence | read_col_unformated after write_array2d | read_col_unformated after write_flattened_sequence | read_col_unformated after write_nested_sequence | read_formatted_as_numpy after write_array2d | read_formatted_as_numpy after write_flattened_sequence | read_formatted_as_numpy after write_nested_sequence | read_unformated after write_array2d | read_unformated after write_flattened_sequence | read_unformated after write_nested_sequence | write_array2d | write_flattened_sequence | write_nested_sequence |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.007096 / 0.011353 (-0.004257) | 0.004398 / 0.011008 (-0.006610) | 0.066253 / 0.038508 (0.027745) | 0.089415 / 0.023109 (0.066306) | 0.395760 / 0.275898 (0.119862) | 0.436058 / 0.323480 (0.112579) | 0.005944 / 0.007986 (-0.002042) | 0.003821 / 0.004328 (-0.000507) | 0.065286 / 0.004250 (0.061036) | 0.060990 / 0.037052 (0.023937) | 0.394674 / 0.258489 (0.136185) | 0.437672 / 0.293841 (0.143831) | 0.032370 / 0.128546 (-0.096177) | 0.009025 / 0.075646 (-0.066622) | 0.071365 / 0.419271 (-0.347906) | 0.048232 / 0.043533 (0.004699) | 0.395677 / 0.255139 (0.140538) | 0.415869 / 0.283200 (0.132669) | 0.024632 / 0.141683 (-0.117051) | 1.511386 / 1.452155 (0.059231) | 1.604475 / 1.492716 (0.111759) |

### Benchmark: benchmark_getitem\_100B.json

| metric | get_batch_of\_1024\_random_rows | get_batch_of\_1024\_rows | get_first_row | get_last_row |
|--------|---|---|---|---|
| new / old (diff) | 0.312864 / 0.018006 (0.294858) | 0.535432 / 0.000490 (0.534943) | 0.005195 / 0.000200 (0.004995) | 0.000101 / 0.000054 (0.000047) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.035827 / 0.037411 (-0.001584) | 0.099353 / 0.014526 (0.084827) | 0.110796 / 0.176557 (-0.065761) | 0.165224 / 0.737135 (-0.571911) | 0.112111 / 0.296338 (-0.184228) |

### Benchmark: benchmark_iterating.json

| metric | read 5000 | read 50000 | read_batch 50000 10 | read_batch 50000 100 | read_batch 50000 1000 | read_formatted numpy 5000 | read_formatted pandas 5000 | read_formatted tensorflow 5000 | read_formatted torch 5000 | read_formatted_batch numpy 5000 10 | read_formatted_batch numpy 5000 1000 | shuffled read 5000 | shuffled read 50000 | shuffled read_batch 50000 10 | shuffled read_batch 50000 100 | shuffled read_batch 50000 1000 | shuffled read_formatted numpy 5000 | shuffled read_formatted_batch numpy 5000 10 | shuffled read_formatted_batch numpy 5000 1000 |
|--------|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 0.428873 / 0.215209 (0.213664) | 4.284264 / 2.077655 (2.206609) | 2.303966 / 1.504120 (0.799847) | 2.153868 / 1.541195 (0.612674) | 2.275669 / 1.468490 (0.807179) | 0.495452 / 4.584777 (-4.089325) | 3.706773 / 3.745712 (-0.038939) | 3.471988 / 5.269862 (-1.797874) | 2.194851 / 4.565676 (-2.370825) | 0.058998 / 0.424275 (-0.365277) | 0.007522 / 0.007607 (-0.000085) | 0.511222 / 0.226044 (0.285177) | 5.097058 / 2.268929 (2.828130) | 2.856793 / 55.444624 (-52.587832) | 2.521907 / 6.876477 (-4.354569) | 2.783133 / 2.142072 (0.641060) | 0.600511 / 4.805227 (-4.204717) | 0.134130 / 6.500664 (-6.366534) | 0.061726 / 0.075469 (-0.013743) |

### Benchmark: benchmark_map_filter.json

| metric | filter | map fast-tokenizer batched | map identity | map identity batched | map no-op batched | map no-op batched numpy | map no-op batched pandas | map no-op batched pytorch | map no-op batched tensorflow |
|--------|---|---|---|---|---|---|---|---|---|
| new / old (diff) | 1.385272 / 1.841788 (-0.456516) | 21.149260 / 8.074308 (13.074952) | 15.548746 / 10.191392 (5.357354) | 0.167506 / 0.680424 (-0.512918) | 0.020494 / 0.534201 (-0.513707) | 0.400697 / 0.579283 (-0.178586) | 0.427386 / 0.434364 (-0.006978) | 0.478514 / 0.540337 (-0.061824) | 0.655753 / 1.386936 (-0.731183) |

</details>
</details>

![](https://cml.dev/watermark.png#4c8f7eb79dff66dd03211321dcb55f7a7a05ef38 "CML watermark")