Skip to content

Commit 7dbae09

Browse files
committed
PERF: Update contributing guidelines with asv information
1 parent 2d997af commit 7dbae09

File tree

1 file changed

+42
-2
lines changed

1 file changed

+42
-2
lines changed

doc/source/contributing.rst

+42-2
Original file line numberDiff line numberDiff line change
@@ -512,9 +512,49 @@ entire suite. This is done using one of the following constructs:
512512

513513
Running the performance test suite
514514
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
515+
Performance matters and it is worth considering that your code has not introduced
516+
performance regressions. *pandas* is in the process of migrating to the
517+
`asv library <https://github.com/spacetelescope/asv>`__
518+
to enable easy monitoring of the performance of critical *pandas* operations.
519+
These benchmarks are all found in the ``pandas/asv_bench`` directory. *asv*
520+
supports both python2 and python3.
521+
522+
.. note::
523+
524+
The *asv* benchmark suite was translated from the previous framework, vbench,
525+
so many stylistic issues are likely a result of automated transformation of the
526+
code.
527+
528+
To install asv::
529+
530+
pip install git+https://github.com/spacetelescope/asv
531+
532+
If you need to run a benchmark, change your directory to asv_bench/ and run
533+
the following if you have been developing on master::
534+
535+
asv continuous master
536+
537+
Otherwise, if you are working on another branch, either of the following can be used::
538+
539+
asv continuous master HEAD
540+
asv continuous master your_branch
541+
542+
This will checkout the master revision and run the suite on both master and
543+
your commit. Running the full test suite can take up to one hour and use up
544+
to 3GB of RAM. Usually it is sufficient to paste a subset of the results in
545+
to the Pull Request to show that the committed changes do not cause unexpected
546+
performance regressions.
547+
548+
You can run specific benchmarks using the *-b* flag which takes a regular expression.
549+
550+
Information on how to write a benchmark can be found in
551+
`*asv*'s documentation http://asv.readthedocs.org/en/latest/writing_benchmarks.html`.
552+
553+
Running the vbench performance test suite (phasing out)
554+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
515555

516556
Performance matters and it is worth considering that your code has not introduced
517-
performance regressions. Currently *pandas* uses the `vbench library <https://github.com/pydata/vbench>`__
557+
performance regressions. Historically, *pandas* used `vbench library <https://github.com/pydata/vbench>`__
518558
to enable easy monitoring of the performance of critical *pandas* operations.
519559
These benchmarks are all found in the ``pandas/vb_suite`` directory. vbench
520560
currently only works on python2.
@@ -530,7 +570,7 @@ using pip. If you need to run a benchmark, change your directory to the *pandas
530570

531571
This will checkout the master revision and run the suite on both master and
532572
your commit. Running the full test suite can take up to one hour and use up
533-
to 3GB of RAM. Usually it is sufficient to past a subset of the results in
573+
to 3GB of RAM. Usually it is sufficient to paste a subset of the results in
534574
to the Pull Request to show that the committed changes do not cause unexpected
535575
performance regressions.
536576

0 commit comments

Comments
 (0)