-
Notifications
You must be signed in to change notification settings - Fork 180
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
asv continuous using existing environment (like "--python same") #338
Comments
To compare, asv needs to rebuild. However, it cannot do code checkouts or build outside the virtual environment. It also cannot save the results, because it does not what is the current commit for the installed version. |
The environment setup is done only when this is done the first time, so it should amortize to 0 in principle. However, clean rebuilds can still take time. Note that you probably should have |
To make this sort of mode of operation possible, best way would probably be to add a new environment type The |
Ah, yes, indeed, the issue with the benchmarks itself also possibly changing in a checkout, is something I overlooked. This makes this approach indeed less attractive. |
Not to mention the various issues with inplace building and C/C++ extensions, particularly with multiple Python versions. I personally really prefer a strong separation between source and build products -- it makes a lot of things much simpler. |
I am in dire desire for such a feature as well. I guess for "existing" (if results are stored for benchmarks ran in commits, not in dirty trees), |
When developing on a branch, you can use
asv continuous branch
to check the performance of that branch to master. I think this is a really useful during development.But, this will also create new environments for both (which can take some time). However, when I am developing on a branch, I already have set up a full development environment (and I think this is a common case). Would it be possible to give
asv continuous
the option to use that?For example, considering you only touched python code and you don't need to rebuild the project, a manual approach for the above would be:
and then compare the result of both runs manually.
(and if you touched some C extensions, then doing a
python setup.py build_ext
before each run is can be much quicker than creating a full new environment, certainly if only part of the extensions have to rebuilt)The text was updated successfully, but these errors were encountered: