Skip to content

Add a YAML-parsing benchmark - #342

Merged
mdboom merged 4 commits into
python:mainfrom
mdboom:add-yaml-benchmark
Dec 17, 2025
Merged

Add a YAML-parsing benchmark#342
mdboom merged 4 commits into
python:mainfrom
mdboom:add-yaml-benchmark

Conversation

@mdboom

@mdboom mdboom commented Jun 14, 2024

Copy link
Copy Markdown
Contributor

No description provided.

@mdboom
mdboom requested a review from ericsnowcurrently June 21, 2024 14:29

@ericsnowcurrently ericsnowcurrently left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

I've left a couple of very minor comments that I'll leave to you to resolve/ignore before merging.

Comment thread pyperformance/data-files/benchmarks/bm_yaml/run_benchmark.py
Comment on lines +8 to +9
This explicitly tests the pure Python implementation in pyyaml, not its C
extension.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a helpful comment. It may be worth moving it next to the line where we take this action. I'm guessing that's the Loader=yaml.Loader bit on line 70.

Comment on lines +23 to +61
DICT = {
'ads_flags': 0,
'age': 18,
'bulletin_count': 0,
'comment_count': 0,
'country': 'BR',
'encrypted_id': 'G9urXXAJwjE',
'favorite_count': 9,
'first_name': '',
'flags': 412317970704,
'friend_count': 0,
'gender': 'm',
'gender_for_display': 'Male',
'id': 302935349,
'is_custom_profile_icon': 0,
'last_name': '',
'locale_preference': 'pt_BR',
'member': 0,
'tags': ['a', 'b', 'c', 'd', 'e', 'f', 'g'],
'profile_foo_id': 827119638,
'secure_encrypted_id': 'Z_xxx2dYx3t4YAdnmfgyKw',
'session_number': 2,
'signup_id': '201-19225-223',
'status': 'A',
'theme': 1,
'time_created': 1225237014,
'time_updated': 1233134493,
'unread_message_count': 0,
'user_group': '0',
'username': 'collinwinter',
'play_count': 9,
'view_count': 7,
'zip': ''}

TUPLE = (
[265867233, 265868503, 265252341, 265243910, 265879514,
266219766, 266021701, 265843726, 265592821, 265246784,
265853180, 45526486, 265463699, 265848143, 265863062,
265392591, 265877490, 265823665, 265828884, 265753032], 60)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It may be worth it to also/instead use some real-world data, like we do for bm_tomli_loads?

@hugovk

hugovk commented Dec 17, 2025

Copy link
Copy Markdown
Member

Let's merge this.

@mdboom Make the suggested changes if you like, otherwise let's just merge.

@mdboom
mdboom merged commit bb8495c into python:main Dec 17, 2025
19 checks passed
maurycy added a commit to maurycy/pyperformance that referenced this pull request Jan 2, 2026
* main:
  Bump mypy from 1.19 to 1.19.1 (python#448)
  Add a YAML-parsing benchmark (python#342)
  Add FastAPI HTTP request benchmark (python#440)
  Add option for rigorous in benchmark.conf.sample (python#446)
  Do not `venv.ensure_reqs` twice (python#432)
  Bump mypy from 1.18.2 to 1.19.0 (python#442)
  Bump actions/checkout from 5 to 6 in the actions group (python#441)
  Add example scripts to run pyperformance on a generic host (python#436)
  Prepare for 1.13.0 release (python#435)
  Reenable xdsl (python#433)
  Bump actions/setup-python from 5 to 6 (python#429)
  Group Dependabot updates for GitHub Actions into single PR (python#431)
  Bump actions/checkout from 4 to 5 (python#430)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

3 participants