question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

TST, CI: Azure Windows Run Time Diffs

See original GitHub issue

This is primarily intended as a concise report of some Azure CI behavior to @chrispat and @vtbassmatt.

In short, it seems that when I run effectively identical branches in the main SciPy repo vs. in my fork of the repo (with effectively identical target master branches), the timings for running our test suite are vastly different. Could it be that there’s a priority algorithm directing the jobs in the heavily-used repo to different hardware than the repo that is almost never used?

Here’s some summary data comparing the two scenarios:

Since the Azure logs get purged every ~10 days or so, here is the raw text output for:

The big difference seems to be in the amount of time required to run the full test suite; the slowest 10 test durations suggest that there may be some heterogeneity in assigned hardware:

Fork Windows 32-bit Win slowest 10 tests:

2020-03-21T15:30:10.7264434Z ========================== slowest 10 test durations ==========================
2020-03-21T15:30:10.7286762Z 138.80s call     stats/tests/test_distributions.py::TestGenInvGauss::test_rvs_p_zero
2020-03-21T15:30:10.7291924Z 88.02s call     optimize/tests/test__differential_evolution.py::TestDifferentialEvolutionSolver::test_L8
2020-03-21T15:30:10.7292840Z 72.08s call     sparse/linalg/eigen/lobpcg/tests/test_lobpcg.py::test_diagonal_data_types
2020-03-21T15:30:10.7294146Z 63.72s call     stats/tests/test_distributions.py::TestGenInvGauss::test_rvs_new_method
2020-03-21T15:30:10.7321531Z 49.00s call     stats/tests/test_distributions.py::TestGenInvGauss::test_rvs_without_mode_shift
2020-03-21T15:30:10.7322497Z 38.24s call     stats/tests/test_continuous_basic.py::test_cont_basic[kstwo-arg59]
2020-03-21T15:30:10.7323293Z 36.45s call     special/tests/test_mpmath.py::TestSystematic::test_legenp_complex_3
2020-03-21T15:30:10.7324067Z 35.74s call     special/tests/test_mpmath.py::TestSystematic::test_legenp_complex_2
2020-03-21T15:30:10.7324855Z 34.31s call     stats/tests/test_distributions.py::TestGenInvGauss::test_rvs_with_mode_shift
2020-03-21T15:30:10.7325610Z 33.23s call     stats/tests/test_stats.py::TestMGCStat::test_twosamp

Main Repo 32-bit Win slowest 10 tests:

2020-03-21T15:35:21.7974905Z ========================== slowest 10 test durations ==========================
2020-03-21T15:35:21.7995869Z 176.72s call     stats/tests/test_distributions.py::TestGenInvGauss::test_rvs_p_zero
2020-03-21T15:35:21.7997603Z 125.06s call     sparse/linalg/tests/test_expm_multiply.py::TestExpmActionInterval::test_expm_multiply_interval_matrix
2020-03-21T15:35:21.7999866Z 112.96s call     sparse/linalg/eigen/lobpcg/tests/test_lobpcg.py::test_diagonal_data_types
2020-03-21T15:35:21.8001497Z 104.41s call     sparse/linalg/tests/test_matfuncs.py::TestExpM::test_pascal
2020-03-21T15:35:21.8002826Z 103.77s call     optimize/tests/test__differential_evolution.py::TestDifferentialEvolutionSolver::test_L8
2020-03-21T15:35:21.8004589Z 78.71s call     stats/tests/test_distributions.py::TestGenInvGauss::test_rvs_new_method
2020-03-21T15:35:21.8006064Z 69.11s call     sparse/linalg/tests/test_expm_multiply.py::TestExpmActionSimple::test_expm_multiply
2020-03-21T15:35:21.8008332Z 55.78s call     stats/tests/test_distributions.py::TestGenInvGauss::test_rvs_without_mode_shift
2020-03-21T15:35:21.8009880Z 47.74s call     stats/tests/test_continuous_basic.py::test_cont_basic[kstwo-arg59]
2020-03-21T15:35:21.8011662Z 45.46s call     stats/tests/test_stats.py::TestMGCStat::test_twosamp

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:10 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
sethtroisicommented, May 5, 2020

I got tests running in colab and I plotted the tests which vary most between the two https://colab.research.google.com/drive/1GLYz5AK6G1PjAJjsRvIsXL5-rDlBfgK_#scrollTo=jW_sVHK0wDE5

UPDATED with test names

Screenshot from 2020-04-14 00-27-50

image

If someone provides me with a pointer to an Azure run with --durations=0 (or 100 or 1000) I’ll computer the same for Azure

0reactions
andyfaffcommented, Apr 12, 2020

Back to the main topic, I can understand why we still run CI tests for Linux32 (embedded boards, etc). What’s the rationale for keeping the windows32 bit tests?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Key concepts for new Azure Pipelines users - Microsoft Learn
Learn how Azure Pipelines works with your code and tools to automate build and deployment, and the key concepts behind it.
Read more >
Review test results - Azure Pipelines | Microsoft Learn
Review continuous test results with a build or release pipeline in Azure Pipelines or Team Foundation Server (TFS)
Read more >
Code coverage for pull requests - Azure Pipelines
By default, the server checks for atleast 70% of changed lines being covered by tests. The diff coverage threshold target can be changed...
Read more >
Expressions - Azure Pipelines | Microsoft Learn
Runtime expressions are intended as a way to compute the contents of variables and state (example: condition ). YAML Copy. # Two examples...
Read more >
Performance of deployment infrastructure - Microsoft Azure ...
Human intervention · CI builds: The purpose of this build is to ensure code compiles and unit tests are run. · Nightly build:...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found