Replace rust-cpython with pyo3 in benchmarks

The benchmarks have been broken since Python 3.10 deprecated the API
they were using to parse and execute CPython baselines. Since then
rust-cpython has been deprecated in favor of pyo3.

- Replace `cpython` and `python3-sys` with `pyo3`.
- Add `html_report` feature to `criterion`, it will be required in a
  future release.
- Remove `anyhow`. It was unused and cargo cleaned it up automatically.
This commit is contained in:
Daniel Chiquito committed 2024-02-09 15:15:22 -05:00
1 parent bdf228eb42
commit 9693ad9b11
2 files changed
+70 -22

No files matched your search

Generated
+68 -18
View File
@@ -328,18 +328,6 @@ dependencies = [
"libc",
]
[[package]]
name = "cpython"
version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3052106c29da7390237bc2310c1928335733b286287754ea85e6093d2495280e"
dependencies = [
"libc",
"num-traits",
"paste",
"python3-sys",
]
[[package]]
name = "cranelift"
version = "0.88.2"
@@ -978,6 +966,12 @@ dependencies = [
"hashbrown",
]
[[package]]
name = "indoc"
version = "2.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1e186cfbae8084e513daff4240b4797e342f988cecda4fb6c939150f96315fd8"
[[package]]
name = "insta"
version = "1.33.0"
@@ -1686,13 +1680,64 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe7765e19fb2ba6fd4373b8d90399f5321683ea7c11b598c6bbaa3a72e9c83b8"
[[package]]
name = "python3-sys"
version = "0.7.1"
name = "pyo3"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49f8b50d72fb3015735aa403eebf19bbd72c093bfeeae24ee798be5f2f1aab52"
checksum = "9a89dc7a5850d0e983be1ec2a463a171d20990487c3cfcd68b5363f1ee3d6fe0"
dependencies = [
"cfg-if",
"indoc",
"libc",
"memoffset 0.9.0",
"parking_lot",
"pyo3-build-config",
"pyo3-ffi",
"pyo3-macros",
"unindent",
]
[[package]]
name = "pyo3-build-config"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07426f0d8fe5a601f26293f300afd1a7b1ed5e78b2a705870c5f30893c5163be"
dependencies = [
"once_cell",
"target-lexicon",
]
[[package]]
name = "pyo3-ffi"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dbb7dec17e17766b46bca4f1a4215a85006b4c2ecde122076c562dd058da6cf1"
dependencies = [
"libc",
"regex",
"pyo3-build-config",
]
[[package]]
name = "pyo3-macros"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "05f738b4e40d50b5711957f142878cfa0f28e054aa0ebdfc3fd137a843f74ed3"
dependencies = [
"proc-macro2",
"pyo3-macros-backend",
"quote",
"syn 2.0.32",
]
[[package]]
name = "pyo3-macros-backend"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fc910d4851847827daf9d6cdd4a823fbdaab5b8818325c5e97a86da79e8881f"
dependencies = [
"heck",
"proc-macro2",
"quote",
"syn 2.0.32",
]
[[package]]
@@ -1902,7 +1947,6 @@ dependencies = [
"atty",
"cfg-if",
"clap",
"cpython",
"criterion",
"dirs-next",
"env_logger",
@@ -1910,7 +1954,7 @@ dependencies = [
"flamescope",
"libc",
"log",
"python3-sys",
"pyo3",
"rustpython-compiler",
"rustpython-parser",
"rustpython-pylib",
@@ -2932,6 +2976,12 @@ dependencies = [
"time",
]
[[package]]
name = "unindent"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c7de7d73e1754487cb58364ee906a499937a0dfabd86bcb980fa99ec8c8fa2ce"
[[package]]
name = "utf8parse"
version = "0.2.0"
+2 -4
View File
@@ -41,7 +41,6 @@ rustpython-format = { git = "https://github.com/RustPython/Parser.git", rev = "2
# rustpython-format = { path = "../RustPython-parser/format" }
ahash = "0.8.3"
anyhow = "1.0.45"
ascii = "1.0"
atty = "0.2.14"
bitflags = "2.4.0"
@@ -118,9 +117,8 @@ libc = { workspace = true }
rustyline = { workspace = true }
[dev-dependencies]
cpython = "0.7.0"
criterion = "0.3.5"
python3-sys = "0.7.1"
criterion = { version = "0.3.5", features = ["html_reports"] }
pyo3 = { version = "0.20.2", features = ["auto-initialize"] }
[[bench]]
name = "execution"