Commit Graph
35 Commits
Author SHA1 Message Date
1ndahous3 0f7c1843a4 Fix benchmark execution and library dependency reports (#9264)
* Fix benchmark execution and library dependency reports

Assisted-by: Codex:GPT-6

* Clarify relative benchmark interpreter paths

Assisted-by: Codex:GPT-6
2026-10-21 11:58:17 +09:00
codspeed[bot]andCodSpeed Bot 0edae7ca02 Pin the hash seed in the execution benchmark harness (#9235)
Co-authored-by: CodSpeed Bot <no-reply@codspeed.io>
2026-10-20 09:22:14 +09:00
youknowdot 64330b80b9 Implement Unicode 17 grapheme iteration and properties (#9145)
* Implement native Unicode 17 grapheme iteration

Add the CPython extended grapheme state machine, full-codepoint properties, and traced Segment/iterator types with positional index handling. Refresh canonical unicodedata tests through update_lib while retaining pending markers. Include a losslessly range-compressed exact-final property oracle and differential test.

Source-reviewed implementation; candidate runtime validation remains pending. Reference property generation completed against the pinned CPython Unicode extension.

Assisted-by: OpenAI Codex:model version unavailable

* Bind grapheme Segment methods to the Python object

Use the required Py<Segment> receiver for native descriptors; preserve payload ownership and representation behavior.

Assisted-by: OpenAI Codex:model version unavailable

* Use explicit object receivers for Segment descriptors

Keep the inherent impl on the local payload and receive &Py<Self>, as required for stdlib classes outside the VM crate.

Assisted-by: OpenAI Codex:model version unavailable

* Mark grapheme property lookups as must-use

Satisfy strict Clippy for the three pure property functions without changing their behavior.

Assisted-by: OpenAI Codex:model version unavailable

* Enable validated Unicode grapheme canonical tests

Remove seven stale expected-failure markers through update_lib metadata after native property parity, canonical methods, full Unicode 17 grapheme corpus, and reference-cycle GC validation.

Assisted-by: OpenAI Codex:model version unavailable

* Accept platform line endings in grapheme oracle header

Compare the complete provenance line without its line ending so the same exact Unicode 17 reference is accepted after Windows checkout conversion. Keep the complete code-point property sweep unchanged.

Assisted-by: OpenAI Codex:model version unavailable

* Keep grapheme property regression in test module

Move the existing complete Unicode 17 property regression into the existing cfg(test) module to satisfy strict Clippy. Preserve the fixture, assertions, code-point coverage, and platform-independent provenance line check unchanged.

Assisted-by: OpenAI Codex:model version unavailable

* Qualify grapheme iterator return type for generated bindings

Assisted-by: OpenAI Codex:model version unavailable

* Fix deprecated PyO3 code input import in benchmarks

Use the canonical code module path introduced in PyO3 0.30 without suppressing deprecation warnings.

Assisted-by: OpenAI Codex:model version unavailable
2026-10-16 23:40:26 +09:00
1ndahous3 3af5f8a153 Run benchmark workloads with consistent script namespaces (#9027)
Assisted-by: Codex:gpt-6
2026-10-10 09:25:57 +09:00
Joshua Megnauth 86c7fa20c4 Fix missing workspace lints & fix lints (#8781)
Some of the workspace packages were missing the `[lints]` table. I
enabled the lints then fixed the resulting errors.
2026-09-24 07:49:50 +09:00
codspeed-hq[bot]andCodSpeed Bot 062bd72c60 Add CodSpeed continuous benchmarking (#8613)
Alias criterion to codspeed-criterion-compat so the existing benchmark suites can be measured by CodSpeed with CPU simulation on every pull request, and add the workflow running them.

Co-authored-by: CodSpeed Bot <no-reply@codspeed.io>
2026-08-30 15:18:33 +09:00
Shahar Naveh 7da696661b Reduce number of string clones when compiling python source code (#8103) 2026-06-15 11:20:48 +09:00
Jeong YunWon 20376451eb Implement Py_mod_create slot support in multi-phase init 2026-01-22 11:21:42 +09:00
Lee DogeonandClaude Opus 4.5 4ab6a45405 Use stdlib native modules in benchmarks (#6792)
Change benchmark interpreter from without_stdlib to with_init to load
Rust-optimized native modules like _json, ensuring benchmarks measure
actual optimized performance rather than pure Python fallbacks.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-19 08:43:25 +09:00
Shahar Naveh 141ed72693 Dependencies cleanup (#6151)
* Update deps

* Remove some unused deps

* Update lockfile
2025-09-17 09:10:35 +09:00
Jeong, YunWon fe2c9bf361 Fix stable clippy (#5843) 2025-06-27 12:12:21 +09:00
Ashwin Naren a7ad848270 Rust dependency updates (#5651) 2025-04-15 08:50:29 +09:00
Ashwin Naren b81ae9b954 More cspell fixes (#5670) 2025-04-11 09:37:20 +09:00
Noa 6b72d2ef5d Check+lint examples, tests, and benches in CI 2025-03-28 11:26:12 +09:00
Ashwin Naren b870b0e1b5 2024 edition formatting
Signed-off-by: Ashwin Naren <arihant2math@gmail.com>
2025-02-26 11:48:22 -08:00
Noa 37dc28a69d Update deps (#5417)
* Upgrade nix

* Update deps

* Upgrade pyo3, winreg

* Fix errors from upgrading
2024-09-27 13:11:00 +09:00
Jeong YunWon 24f57dde2f Align Settings to PyConfig 2024-04-30 23:18:14 +09:00
Daniel Chiquito ea1f72e92d Replace rust-cpython with pyo3 in benches
Update the actual benchmark harnesses.

Because the internal APIs previously used are no longer available, I
opted to use `compile` and `exec` from within the CPython context to
compile and execute code. There's probably more overhead to that than
the internal API had, but that overhead should be consistent per
benchmark.

If anyone cares about hyperoptimizing benchmarks then they can optimize
the harness as well.
2024-02-09 16:12:47 -05:00
Jeong YunWon 1208416b92 0.3.0 release 2023-09-06 18:49:55 +09:00
Jeong YunWon f078f79c90 Flatten rustpython_parser interface 2023-02-22 20:32:31 +09:00
Jeong YunWon d45f3da192 Add source_path to ParseError 2022-08-22 08:42:20 +09:00
Noa 33e848e32e Fix benches 2022-08-18 20:52:11 -05:00
Jeong Yunwon fb52694e41 PyAttributes key is PyStrInterned 2022-05-23 09:03:13 +09:00
Jeong Yunwon 6fd5094c05 Remove Interpreter::default() not to trap users init without stdlib 2022-04-30 05:09:33 +09:00
Jeong Yunwon 6357a1acbe clean up imports and useless allow attributes 2022-04-15 23:58:20 +09:00
Noah 99104faaf7 Re-export pyobject::* from the root of the crate 2021-05-20 10:24:07 -05:00
Noah f1f7e8d1fb Level the playing field for the parse_to_ast benchmarks 2021-03-19 21:47:28 -05:00
Tom Forbes bfd05eee24 Switch benchmarkid 2020-12-11 17:51:16 +00:00
Tom Forbes c447ffd759 Fix loading 2020-12-11 17:25:28 +00:00
Tom Forbes 1e4fc5c70f fmt 2020-12-11 15:53:14 +00:00
Tom Forbes a605b93d0f Improve benchmarks 2020-12-11 15:51:21 +00:00
Tom Forbes 9f04f377cd Fix strings 2020-12-11 11:40:22 +00:00
Tom Forbes 6a841c07f1 Remove pystone second run 2020-12-11 00:31:42 +00:00
Tom Forbes a788df4eaf Reduce to 30k 2020-12-11 00:30:45 +00:00
Tom Forbes 5788e7bf8e Refactor benchmarking suite to use Criterion 2020-12-11 00:28:22 +00:00