Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion python/benchmarks/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,13 @@ You can also specify the test class to run:
./python/asv run --python=same --quick -b 'bench_arrow.LongArrowToPandasBenchmark'
```

If you want to run against your local PySpark changes, make sure to package & install PySpark
in your local environment first.

### Full run against a commit

Run benchmarks in an isolated virtualenv (builds pyspark from source):
Run benchmarks in an isolated virtualenv.
Note: This builds Spark & PySpark from source and will take a while.

```bash
./python/asv run master^! # Run on latest master commit
Expand Down
6 changes: 4 additions & 2 deletions python/benchmarks/asv.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,12 @@
"results_dir": ".asv/results",
"html_dir": ".asv/html",
"build_command": [
"python -m pip wheel --no-deps -w {build_cache_dir} {conf_dir}/../packaging/classic"
"{build_dir}/build/sbt -batch -DskipTests clean package",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think we can differentiate two modes:

  1. run with full spark/pyspark, which requires building spark (scala).
  2. run with only python: so far all asv benchmarks are focusing python only changes, such as benchmark pure python eval types, pyarrow methods. This mode does not require spark.

"python -m pip wheel --no-deps -w {build_cache_dir} {build_dir}/python/packaging/classic"
],
"install_timeout": null,
"install_command": [
"python -m pip install --find-links {build_cache_dir} pyspark"
"in-dir={env_dir} python -m pip install --force-reinstall {wheel_file}"
],
"uninstall_command": [
"python -m pip uninstall -y pyspark"
Expand Down