ASV: benchmark for DataFrame.Update
- [ ] closes #xxxx (Replace xxxx with the GitHub issue number)
- [ ] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [ ] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added [type annotations](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#type-hints) to new arguments/methods/functions.
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

@rhshadrach and @datapythonista 

Benchmarks for the DataFrame.Update method are implemented, as suggested on PR #57637 by @datapythonista and based on the manual tests done by @rhshadrach on #55634. By running ASV locally we measure the change in the performance due to the fix on #57637, as indicated below:

| Change   | Main (2.2.1) [8da8b544]   | PR (3.0) [93ea131f]  |   Ratio | Benchmark (Parameter)                                   |
|----------|----------------------------|----------------------------------------|---------|---------------------------------------------------------|
| -        | 1.13±0.02ms                | 887±10μs                               |    0.78 | frame_methods.Update.time_to_update_random_indices      |
| -        | 1.19±0.02ms                | 840±9μs                                |    0.71 | frame_methods.Update.time_to_update_small_frame_big_arg |
| -        | 1.27±0.01ms                | 859±9μs                                |    0.67 | frame_methods.Update.time_to_update_big_frame_small_arg |

Regards



> Can you increase the parameters to get runtime up to ~10ms.

@rhshadrach Think I am done here.

Data was increased twofold, from $10^4$ to $10^6$ points. Each test is now taking ~4ms. Didn't check the scaling, but it seems to be enough because the data size is similar to other benchmarks in the `frame_methods.py`. If needed, I can increase the data again. 

| Change   | Before [4fe49b16] <main>   | After [93ea131f] <fix_gh55509_v2~14>   |   Ratio | Benchmark (Parameter)                                   |
|----------|----------------------------|----------------------------------------|---------|---------------------------------------------------------|
| -        | 4.47±0.01ms                | 3.79±0.1ms                             |    0.85 | frame_methods.Update.time_to_update_big_frame_small_arg |
| -        | 4.31±0.03ms                | 3.06±0.03ms                            |    0.71 | frame_methods.Update.time_to_update_random_indices      |
| -        | 2.94±0.02ms                | 1.10±0.01ms                            |    0.37 | frame_methods.Update.time_to_update_small_frame_big_arg |



It would be interesting to have some guidance on the best data size for a useful test, but that would be a whole work on itself.

EDIT: Table Thanks @aureliobarbosa!