Skip to content

searchsorted tests are slow #45233

@LilithHafner

Description

@LilithHafner

The searchsorted testset takes 1-2 minutes to run, longer than all other sorting tests combined. I run include("test/sorting.jl") a lot and find this inconvenient.

searchsorted takes the majority of the time on the first execution
Test Summary: | Pass  Total  Time
Order         |    2      2  0.6s
Test Summary: | Pass  Total  Time
midpoint      |   13     13  0.0s
Test Summary: | Pass  Total  Time
sort          |    6      6  1.8s
Test Summary: | Pass  Total  Time
sortperm      |    7      7  0.7s
Test Summary: | Pass  Total  Time
misc sorting  |    6      6  0.6s
Test Summary: | Pass  Total  Time
partialsort   |   69     69  1.9s
Test Summary: |  Pass  Broken  Total     Time
searchsorted  | 11418       9  11427  1m44.3s       #<------------
Test Summary:                                                   | Pass  Total  Time
searchsorted method with ranges which check for zero step range |   84     84  2.4s
Test Summary: | Pass  Total   Time
insorted      | 3189   3189  11.3s
Test Summary:    | Pass  Total  Time
PartialQuickSort |   16     16  0.5s
Test Summary:    | Pass  Total  Time
advanced sorting | 1792   1792  3.2s
Test Summary: | Pass  Total  Time
sortperm      |    4      4  0.2s
Test Summary: | Pass  Total  Time
issue #6177   |    3      3  0.0s
Test Summary: | Pass  Total  Time
PR #18791     |    2      2  0.1s
Test Summary: | Pass  Total  Time
issue #19005  |    2      2  0.0s
Test Summary: | Pass  Total  Time
issue #30763  |   10     10  1.1s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  0.8s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  1.4s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  1.6s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  2.0s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  2.6s
Test Summary:                                           | Pass  Total  Time
sort!(::AbstractVector{<:Integer}) with short int range |    3      3  0.5s
Test Summary:               | Pass  Total  Time
sort!(::OffsetMatrix; dims) |    5      5  0.6s
Test Summary:                                    | Pass  Total  Time
searchsortedfirst/last with generalized indexing |    4      4  0.1s
Test Summary: | Pass  Total  Time
AdaptiveSort  |   24     24  4.8s
Test Summary: | Pass  Total   Time
uint mappings | 7318   7318  11.1s
and on subsequent executions
Test Summary: | Pass  Total  Time
Order         |    2      2  0.0s
Test Summary: | Pass  Total  Time
midpoint      |   13     13  0.0s
Test Summary: | Pass  Total  Time
sort          |    6      6  0.0s
Test Summary: | Pass  Total  Time
sortperm      |    7      7  0.0s
Test Summary: | Pass  Total  Time
misc sorting  |    6      6  0.0s
Test Summary: | Pass  Total  Time
partialsort   |   69     69  0.0s
Test Summary: |  Pass  Broken  Total   Time
searchsorted  | 11418       9  11427  14.6s       #<------------
Test Summary:                                                   | Pass  Total  Time
searchsorted method with ranges which check for zero step range |   84     84  0.8s
Test Summary: | Pass  Total  Time
insorted      | 3189   3189  0.1s
Test Summary:    | Pass  Total  Time
PartialQuickSort |   16     16  0.5s
Test Summary:    | Pass  Total  Time
advanced sorting | 1792   1792  0.3s
Test Summary: | Pass  Total  Time
sortperm      |    4      4  0.2s
Test Summary: | Pass  Total  Time
issue #6177   |    3      3  0.0s
Test Summary: | Pass  Total  Time
PR #18791     |    2      2  0.0s
Test Summary: | Pass  Total  Time
issue #19005  |    2      2  0.0s
Test Summary: | Pass  Total  Time
issue #30763  |   10     10  0.9s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  0.0s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  0.0s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  0.0s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  0.0s
Test Summary:                      | Pass  Total  Time
sorting of views with strange axes |   12     12  0.0s
Test Summary:                                           | Pass  Total  Time
sort!(::AbstractVector{<:Integer}) with short int range |    3      3  0.0s
Test Summary:               | Pass  Total  Time
sort!(::OffsetMatrix; dims) |    5      5  0.0s
Test Summary:                                    | Pass  Total  Time
searchsortedfirst/last with generalized indexing |    4      4  0.0s
Test Summary: | Pass  Total  Time
AdaptiveSort  |   24     24  1.6s
Test Summary: | Pass  Total  Time
uint mappings | 7318   7318  0.6s

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions