Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ci: make tests takes much longer on my machine #914

Closed
austin3dickey opened this issue Mar 20, 2023 · 4 comments
Closed

ci: make tests takes much longer on my machine #914

austin3dickey opened this issue Mar 20, 2023 · 4 comments
Assignees
Labels
devprod issue related to developer productivity

Comments

@austin3dickey
Copy link
Member

On my M1 Mac, make tests takes over 30 minutes; 6 times as long as it does in CI:

======================================================================= slowest 20 durations ========================================================================
11.68s call     conbench/tests/api/test_users.py::TestUserPut::test_update_all_fields
9.77s call     conbench/tests/app/test_compare.py::TestCompareBenchmark::test_authenticated
9.52s call     conbench/tests/app/test_benchmarks.py::TestBenchmarkDelete::test_authenticated
9.37s call     conbench/tests/api/test_users.py::TestUserPut::test_update_one_field
9.04s call     conbench/tests/app/test_benchmarks.py::TestBenchmarkDelete::test_no_csrf_token
9.01s call     conbench/tests/app/test_runs.py::TestRunDelete::test_authenticated
8.99s call     conbench/tests/app/test_benchmarks.py::TestBenchmarkGet::test_authenticated
8.80s call     conbench/tests/app/test_runs.py::TestRunGet::test_authenticated
8.70s call     conbench/tests/app/test_compare.py::TestCompareBatches::test_authenticated
8.54s call     conbench/tests/app/test_compare.py::TestCompareRuns::test_authenticated
8.41s call     conbench/tests/app/test_benchmarks.py::TestBenchmarkList::test_authenticated
8.38s call     conbench/tests/app/test_hardware.py::TestHardware::test_hardware_get_authenticated
8.30s call     conbench/tests/app/test_hardware.py::TestHardwares::test_hardware_list_authenticated
8.21s call     conbench/tests/app/test_batches.py::TestBatch::test_authenticated
8.14s call     conbench/tests/api/test_benchmarks.py::TestBenchmarkPost::test_create_benchmark_after_run_was_created
8.03s call     conbench/tests/app/test_users.py::TestUser::test_user_delete_authenticated
7.93s call     conbench/tests/app/test_users.py::TestUser::test_user_delete_no_csrf_token
7.91s call     conbench/tests/app/test_users.py::TestUserCreate::test_user_create_post_authenticated
7.91s call     conbench/tests/app/test_users.py::TestUser::test_user_update_authenticated
7.87s call     conbench/tests/api/test_benchmarks.py::TestBenchmarkPost::test_create_benchmark
============================================================ 426 passed, 2 skipped in 1851.50s (0:30:51) ============================================================
make tests  0.81s user 0.60s system 0% cpu 31:21.14 total

This is in sharp contrast to our GitHub Actions CI (which takes between 4.5 and 5.5 minutes) and I'm guessing your local laptop, @jgehrcke (or you probably would have complained earlier).

@jgehrcke
Copy link
Member

jgehrcke commented Mar 21, 2023

It's as fast as CI for me on Linux/AMD64, yes.

The cause for the slowdown in your case is QEMU-based hardware emulation that allows for running x86_64 code on ARM64, as I described in #711.

The slowdown is heavy; and not good enough. The resources linked in that discussion provide ideas for how to address this so that you can run container images with binaries that are more native to the architecture of your machine.

In the meantime the community discussed/pushed/worked a bit, but there still is no manylinux wheel for aarch64:
giampaolo/psutil#1782 (comment)
giampaolo/psutil#2206
giampaolo/psutil#1972

@jgehrcke jgehrcke added the devprod issue related to developer productivity label Mar 21, 2023
@austin3dickey
Copy link
Member Author

Thanks for the response! Yes, it looks like we'll have to either wait or do some thoughtful work to speed up local dev on arm64. In the meantime I might try to get tests working again outside the container, using local postgres 😬

jgehrcke added a commit that referenced this issue Mar 21, 2023
This is an attempt to make things
overall better, see #914
jgehrcke added a commit that referenced this issue Mar 21, 2023
This is an attempt to make things
overall better, see #914
@jgehrcke
Copy link
Member

In the meantime I might try to get tests working again outside the container, using local postgres grimacing

Ouch! I don't consider this tolerable. We can/should work towards making our dev commands be lovely on all platforms :) I have quickly opened #921 with hopefuly a pragmatic solution attempt, can you take this branch over, see how it goes on your machine?

austin3dickey pushed a commit that referenced this issue Mar 21, 2023
This is an attempt to make things
overall better, see #914
@jgehrcke jgehrcke self-assigned this Mar 23, 2023
@jgehrcke
Copy link
Member

I think we can close this as 'done'.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devprod issue related to developer productivity
Projects
None yet
Development

No branches or pull requests

2 participants