Title: Fix conda release by adding pyarrow-hotfix dependency
Author: albertvillanova (MEMBER)
State: closed
Created: 2023-11-15T14:57:12Z

Fix conda release by adding pyarrow-hotfix dependency.

Note that conda release failed in latest 2.14.7 release: https://github.com/huggingface/datasets/actions/runs/6874667214/job/18696761723
```
Traceback (most recent call last):
  File "/usr/share/miniconda/envs/build-datasets/conda-bld/datasets_1700036460222/test_tmp/run_test.py", line 2, in <module>
    import datasets
  File "/usr/share/miniconda/envs/build-datasets/conda-bld/datasets_1700036460222/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.12/site-packages/datasets/__init__.py", line 22, in <module>
    from .arrow_dataset import Dataset
  File "/usr/share/miniconda/envs/build-datasets/conda-bld/datasets_1700036460222/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.12/site-packages/datasets/arrow_dataset.py", line 67, in <module>
    from .arrow_writer import ArrowWriter, OptimizedTypedSequence
  File "/usr/share/miniconda/envs/build-datasets/conda-bld/datasets_1700036460222/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.12/site-packages/datasets/arrow_writer.py", line 27, in <module>
    from .features import Features, Image, Value
  File "/usr/share/miniconda/envs/build-datasets/conda-bld/datasets_1700036460222/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.12/site-packages/datasets/features/__init__.py", line 18, in <module>
    from .features import Array2D, Array3D, Array4D, Array5D, ClassLabel, Features, Sequence, Value
  File "/usr/share/miniconda/envs/build-datasets/conda-bld/datasets_1700036460222/_test_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/lib/python3.12/site-packages/datasets/features/features.py", line 34, in <module>
    import pyarrow_hotfix  # noqa: F401  # to fix vulnerability on pyarrow<14.0.1
    ^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'pyarrow_hotfix'
```

Comments:
_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.004476 / 0.011353 (-0.006877) | 0.002691 / 0.011008 (-0.008317) | 0.061400 / 0.038508 (0.022892) | 0.030096 / 0.023109 (0.006986) | 0.279868 / 0.275898 (0.003970) | 0.310320 / 0.323480 (-0.013159) | 0.003873 / 0.007986 (-0.004112) | 0.002394 / 0.004328 (-0.001935) | 0.048307 / 0.004250 (0.044056) | 0.043326 / 0.037052 (0.006273) | 0.288256 / 0.258489 (0.029767) | 0.311449 / 0.293841 (0.017609) | 0.022970 / 0.128546 (-0.105576) | 0.006714 / 0.075646 (-0.068932) | 0.201656 / 0.419271 (-0.217615) | 0.052811 / 0.043533 (0.009278) | 0.285123 / 0.255139 (0.029984) | 0.301495 / 0.283200 (0.018295) | 0.017531 / 0.141683 (-0.124152) | 1.097660 / 1.452155 (-0.354494) | 1.161986 / 1.492716 (-0.330731) |

### 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.089223 / 0.018006 (0.071217) | 0.297815 / 0.000490 (0.297326) | 0.000205 / 0.000200 (0.000005) | 0.000042 / 0.000054 (-0.000013) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.018679 / 0.037411 (-0.018732) | 0.062742 / 0.014526 (0.048216) | 0.072869 / 0.176557 (-0.103687) | 0.120730 / 0.737135 (-0.616406) | 0.074526 / 0.296338 (-0.221813) |

### 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.299977 / 0.215209 (0.084768) | 2.921029 / 2.077655 (0.843375) | 1.632283 / 1.504120 (0.128163) | 1.508008 / 1.541195 (-0.033187) | 1.513967 / 1.468490 (0.045477) | 0.403056 / 4.584777 (-4.181721) | 2.340011 / 3.745712 (-1.405701) | 2.552319 / 5.269862 (-2.717543) | 1.549741 / 4.565676 (-3.015935) | 0.046303 / 0.424275 (-0.377972) | 0.004768 / 0.007607 (-0.002839) | 0.356921 / 0.226044 (0.130877) | 3.506410 / 2.268929 (1.237482) | 1.975394 / 55.444624 (-53.469230) | 1.688683 / 6.876477 (-5.187794) | 1.715502 / 2.142072 (-0.426571) | 0.471016 / 4.805227 (-4.334212) | 0.099552 / 6.500664 (-6.401112) | 0.042095 / 0.075469 (-0.033374) |

### 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) | 0.955784 / 1.841788 (-0.886004) | 11.191802 / 8.074308 (3.117494) | 10.127818 / 10.191392 (-0.063574) | 0.141225 / 0.680424 (-0.539199) | 0.014486 / 0.534201 (-0.519715) | 0.267204 / 0.579283 (-0.312079) | 0.289108 / 0.434364 (-0.145256) | 0.309458 / 0.540337 (-0.230880) | 0.422802 / 1.386936 (-0.964134) |

</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.004797 / 0.011353 (-0.006556) | 0.002907 / 0.011008 (-0.008101) | 0.047666 / 0.038508 (0.009158) | 0.051183 / 0.023109 (0.028074) | 0.266315 / 0.275898 (-0.009583) | 0.286429 / 0.323480 (-0.037051) | 0.003954 / 0.007986 (-0.004031) | 0.002041 / 0.004328 (-0.002288) | 0.047652 / 0.004250 (0.043401) | 0.038211 / 0.037052 (0.001158) | 0.272210 / 0.258489 (0.013721) | 0.299425 / 0.293841 (0.005584) | 0.024266 / 0.128546 (-0.104280) | 0.006747 / 0.075646 (-0.068900) | 0.052959 / 0.419271 (-0.366312) | 0.032094 / 0.043533 (-0.011439) | 0.265677 / 0.255139 (0.010538) | 0.285373 / 0.283200 (0.002174) | 0.017577 / 0.141683 (-0.124106) | 1.114514 / 1.452155 (-0.337640) | 1.212970 / 1.492716 (-0.279746) |

### 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.088347 / 0.018006 (0.070341) | 0.296678 / 0.000490 (0.296188) | 0.000209 / 0.000200 (0.000009) | 0.000044 / 0.000054 (-0.000010) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.021159 / 0.037411 (-0.016253) | 0.069886 / 0.014526 (0.055360) | 0.079832 / 0.176557 (-0.096725) | 0.115512 / 0.737135 (-0.621623) | 0.081600 / 0.296338 (-0.214739) |

### 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.292659 / 0.215209 (0.077450) | 2.872556 / 2.077655 (0.794901) | 1.573017 / 1.504120 (0.068897) | 1.445122 / 1.541195 (-0.096072) | 1.485584 / 1.468490 (0.017094) | 0.388638 / 4.584777 (-4.196139) | 2.434847 / 3.745712 (-1.310865) | 2.518167 / 5.269862 (-2.751695) | 1.503000 / 4.565676 (-3.062676) | 0.045123 / 0.424275 (-0.379153) | 0.004778 / 0.007607 (-0.002829) | 0.347955 / 0.226044 (0.121910) | 3.384819 / 2.268929 (1.115891) | 1.920185 / 55.444624 (-53.524439) | 1.646910 / 6.876477 (-5.229567) | 1.638092 / 2.142072 (-0.503980) | 0.450535 / 4.805227 (-4.354692) | 0.095301 / 6.500664 (-6.405363) | 0.040275 / 0.075469 (-0.035194) |

### 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) | 0.956088 / 1.841788 (-0.885700) | 11.776642 / 8.074308 (3.702334) | 10.651063 / 10.191392 (0.459671) | 0.127079 / 0.680424 (-0.553345) | 0.015080 / 0.534201 (-0.519121) | 0.273737 / 0.579283 (-0.305546) | 0.271434 / 0.434364 (-0.162929) | 0.308448 / 0.540337 (-0.231889) | 0.412467 / 1.386936 (-0.974469) |

</details>
</details>

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


Once this PR is merged, we should upload the missing version to conda.

@lhoestq you did this in the past. If you tell me your approach (I see a tag called `VERSION`...), I could do it myself.

Maybe open a PR against the 2.14 branch and update `release-conda.yml` like this ?

```diff
- on:
-   push:
-     tags:
-       - "[0-9]+.[0-9]+.[0-9]+*"
+ on: push
```

and then set it back to normal after the release is done

After having cherry-picked the commit in this PR, I have released the conda package. See: 
- https://github.com/huggingface/datasets/actions/runs/6880182419/job/18713812449
- https://anaconda.org/HuggingFace/datasets/files?version=2.14.7

I am merging this PR.


<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.004993 / 0.011353 (-0.006360) | 0.002964 / 0.011008 (-0.008044) | 0.062588 / 0.038508 (0.024080) | 0.030794 / 0.023109 (0.007685) | 0.234856 / 0.275898 (-0.041042) | 0.264807 / 0.323480 (-0.058673) | 0.003139 / 0.007986 (-0.004847) | 0.002498 / 0.004328 (-0.001831) | 0.048058 / 0.004250 (0.043807) | 0.048349 / 0.037052 (0.011296) | 0.238210 / 0.258489 (-0.020279) | 0.278144 / 0.293841 (-0.015697) | 0.023219 / 0.128546 (-0.105327) | 0.007296 / 0.075646 (-0.068351) | 0.203263 / 0.419271 (-0.216008) | 0.058844 / 0.043533 (0.015311) | 0.246330 / 0.255139 (-0.008809) | 0.264550 / 0.283200 (-0.018649) | 0.018580 / 0.141683 (-0.123103) | 1.084163 / 1.452155 (-0.367992) | 1.154891 / 1.492716 (-0.337825) |

### 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.092393 / 0.018006 (0.074387) | 0.300545 / 0.000490 (0.300055) | 0.000203 / 0.000200 (0.000003) | 0.000047 / 0.000054 (-0.000008) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.018648 / 0.037411 (-0.018763) | 0.063151 / 0.014526 (0.048625) | 0.074206 / 0.176557 (-0.102350) | 0.120929 / 0.737135 (-0.616207) | 0.075970 / 0.296338 (-0.220368) |

### 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.278489 / 0.215209 (0.063279) | 2.664804 / 2.077655 (0.587150) | 1.433040 / 1.504120 (-0.071080) | 1.321416 / 1.541195 (-0.219779) | 1.320964 / 1.468490 (-0.147526) | 0.401289 / 4.584777 (-4.183488) | 2.365310 / 3.745712 (-1.380402) | 2.635798 / 5.269862 (-2.634063) | 1.584384 / 4.565676 (-2.981293) | 0.045675 / 0.424275 (-0.378600) | 0.004854 / 0.007607 (-0.002753) | 0.337592 / 0.226044 (0.111548) | 3.330462 / 2.268929 (1.061534) | 1.794507 / 55.444624 (-53.650117) | 1.531284 / 6.876477 (-5.345193) | 1.507165 / 2.142072 (-0.634908) | 0.478622 / 4.805227 (-4.326606) | 0.099105 / 6.500664 (-6.401560) | 0.041575 / 0.075469 (-0.033894) |

### 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) | 0.941790 / 1.841788 (-0.899997) | 11.609871 / 8.074308 (3.535563) | 10.770869 / 10.191392 (0.579477) | 0.138931 / 0.680424 (-0.541493) | 0.014406 / 0.534201 (-0.519795) | 0.269681 / 0.579283 (-0.309602) | 0.260556 / 0.434364 (-0.173808) | 0.308244 / 0.540337 (-0.232093) | 0.428867 / 1.386936 (-0.958069) |

</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.004803 / 0.011353 (-0.006550) | 0.003263 / 0.011008 (-0.007745) | 0.049143 / 0.038508 (0.010635) | 0.052033 / 0.023109 (0.028924) | 0.267815 / 0.275898 (-0.008083) | 0.288733 / 0.323480 (-0.034747) | 0.004159 / 0.007986 (-0.003826) | 0.002407 / 0.004328 (-0.001921) | 0.048978 / 0.004250 (0.044728) | 0.038994 / 0.037052 (0.001942) | 0.264028 / 0.258489 (0.005539) | 0.303930 / 0.293841 (0.010090) | 0.024283 / 0.128546 (-0.104263) | 0.007201 / 0.075646 (-0.068446) | 0.053810 / 0.419271 (-0.365461) | 0.032611 / 0.043533 (-0.010922) | 0.266730 / 0.255139 (0.011591) | 0.281564 / 0.283200 (-0.001635) | 0.018720 / 0.141683 (-0.122963) | 1.140676 / 1.452155 (-0.311479) | 1.206604 / 1.492716 (-0.286113) |

### 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.109390 / 0.018006 (0.091384) | 0.313783 / 0.000490 (0.313294) | 0.000228 / 0.000200 (0.000028) | 0.000050 / 0.000054 (-0.000004) |

### Benchmark: benchmark_indices_mapping.json

| metric | select | shard | shuffle | sort | train_test_split |
|--------|---|---|---|---|---|
| new / old (diff) | 0.021228 / 0.037411 (-0.016183) | 0.070505 / 0.014526 (0.055979) | 0.081961 / 0.176557 (-0.094595) | 0.119943 / 0.737135 (-0.617193) | 0.083582 / 0.296338 (-0.212757) |

### 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.295702 / 0.215209 (0.080493) | 2.886865 / 2.077655 (0.809210) | 1.583206 / 1.504120 (0.079086) | 1.451129 / 1.541195 (-0.090065) | 1.486253 / 1.468490 (0.017763) | 0.403207 / 4.584777 (-4.181570) | 2.408889 / 3.745712 (-1.336824) | 2.578480 / 5.269862 (-2.691381) | 1.533066 / 4.565676 (-3.032610) | 0.046075 / 0.424275 (-0.378200) | 0.004877 / 0.007607 (-0.002730) | 0.345995 / 0.226044 (0.119950) | 3.377039 / 2.268929 (1.108110) | 1.944614 / 55.444624 (-53.500010) | 1.677691 / 6.876477 (-5.198786) | 1.672828 / 2.142072 (-0.469244) | 0.468426 / 4.805227 (-4.336802) | 0.097290 / 6.500664 (-6.403374) | 0.040695 / 0.075469 (-0.034774) |

### 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) | 0.965778 / 1.841788 (-0.876010) | 12.092639 / 8.074308 (4.018331) | 11.210968 / 10.191392 (1.019576) | 0.131212 / 0.680424 (-0.549212) | 0.015865 / 0.534201 (-0.518336) | 0.285702 / 0.579283 (-0.293581) | 0.278319 / 0.434364 (-0.156045) | 0.336063 / 0.540337 (-0.204275) | 0.426265 / 1.386936 (-0.960671) |

</details>
</details>

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