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

Update pubgrub for faster range operations #2421

Merged
merged 1 commit into from
Mar 13, 2024
Merged

Update pubgrub for faster range operations #2421

merged 1 commit into from
Mar 13, 2024

Commits on Mar 13, 2024

  1. Update pubgrub for faster range operations

    This update pulls in pubgrub-rs/pubgrub#177, optimizing common range operations in pubgrub. Please refer to this PR for a more extensive description and discussion of the changes.
    
    It optimizes that last remaining pathological case, `bio_embeddings[all]` on python 3.12, which has to try 100k versions.
    
    **before** 12s
    
    ![image](https://github.com/pubgrub-rs/pubgrub/assets/6826232/80ffdc49-1159-453d-a3ea-0dd431df6d3b)
    
    **after** 3s
    
    ![image](https://github.com/pubgrub-rs/pubgrub/assets/6826232/69508c29-73ab-4593-a588-d8c722242513)
    
    ```
    $  taskset -c 0 hyperfine --warmup 1 "../uv/target/profiling/main-uv pip compile ../uv/scripts/requirements/bio_embeddings.in"  "../uv/target/profiling/branch-uv pip compile ../uv/scripts/requirements/bio_embeddings.in"
    Benchmark 1: ../uv/target/profiling/main-uv pip compile ../uv/scripts/requirements/bio_embeddings.in
      Time (mean ± σ):     12.321 s ±  0.064 s    [User: 12.014 s, System: 0.300 s]
      Range (min … max):   12.224 s … 12.406 s    10 runs
    
    Benchmark 2: ../uv/target/profiling/branch-uv pip compile ../uv/scripts/requirements/bio_embeddings.in
      Time (mean ± σ):      3.109 s ±  0.004 s    [User: 2.782 s, System: 0.321 s]
      Range (min … max):    3.103 s …  3.116 s    10 runs
    
    Summary
      ../uv/target/profiling/branch-uv pip compile ../uv/scripts/requirements/bio_embeddings.in ran
        3.96 ± 0.02 times faster than ../uv/target/profiling/main-uv pip compile ../uv/scripts/requirements/bio_embeddings.in
    ```
    
    It also adds `bio_embeddings[all]` as a requirements test case.
    konstin committed Mar 13, 2024
    Configuration menu
    Copy the full SHA
    c1bd267 View commit details
    Browse the repository at this point in the history