rapidsai / dask-cuda

Utilities for Dask and CUDA interactions
https://docs.rapids.ai/api/dask-cuda/stable/
Apache License 2.0
292 stars 93 forks source link

Switch pytest `traceback` to `native` #1389

Closed galipremsagar closed 3 weeks ago

galipremsagar commented 2 months ago

Description

In cudf & cuml we have observed a ~10% to ~20% respectively speed up of pytest suite execution by switching pytest traceback to --native:

currently:

102474 passed, 2117 skipped, 902 xfailed in 892.16s (0:14:52)

--tb=short:

102474 passed, 2117 skipped, 902 xfailed in 898.99s (0:14:58)

--tb=no:

102474 passed, 2117 skipped, 902 xfailed in 815.98s (0:13:35)

--tb=native:

102474 passed, 2117 skipped, 902 xfailed in 820.92s (0:13:40)

This PR makes similar change to dask-cuda repo.

xref: https://github.com/rapidsai/cudf/pull/16851

Checklist

pentschev commented 2 months ago

Do you have more information exactly how does this compare to --tb=auto? From the docs:

pytest --tb=auto    # (default) 'long' tracebacks for the first and last
                     # entry, but 'short' style for the other entries
pytest --tb=long    # exhaustive, informative traceback formatting
pytest --tb=short   # shorter traceback format

It seems that with auto we get "exhaustive" traceback (not really sure what that means), is that the case with native too? Although 11.8.0 builds seem faster, 12.5.1 do not (see table below), still waiting on 12.0.1 to complete, but in general I'm not sure there's conclusive benefit here to justify this change, in particular if it happens to omit useful parts of the traceback.

CUDA version This change Build PR #1385 Build PR #1384
11.8.0 57:11 63:28 65:07
12.0.1 48:25 47:58 49:51
12.5.1 N/A 74:39 84:57

EDIT: I had 12.0.1/12.5.1 results swapped, I've corrected that now.

pentschev commented 3 weeks ago

/merge