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

Stabilize, optimize, and increase robustness of QuickSort #45222

Merged
merged 43 commits into from Oct 15, 2022
Merged
Show file tree
Hide file tree
Changes from 12 commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
6230587
Stabilize and optimize QuickSort
May 7, 2022
3db4a31
test invalid lt to close #11429
May 8, 2022
3318c34
Remove redundant reverse_view! thanks @petvana
May 8, 2022
1a30832
Merge branch 'master' into stabilize-quicksort
LilithHafner May 10, 2022
0010aaf
Merge branch 'master' into stabilize-quicksort
LilithHafner May 12, 2022
d002d88
Randomize pivot selection
Jun 7, 2022
c241add
fix whitespace
Jun 7, 2022
7b5cafa
Merge branch 'master' into stabilize-quicksort
Jun 30, 2022
93b80f6
style
Jun 30, 2022
b78b99a
Seed rng before generating precompile statements
Jul 4, 2022
e70ae49
fix doctests (1/2)
LilithHafner Jul 4, 2022
e8db300
Merge branch 'master' into stabilize-quicksort
LilithHafner Jul 4, 2022
40342fe
revert e70ae49ac fix doctests (1/2)
Jul 6, 2022
c4104e1
fix doctests (2/2); hack names to not mutate rng state
Jul 6, 2022
b1cb56d
Use a better hack to fix doctests
Jul 6, 2022
f610706
Avoid method overwrite warning during build
LilithHafner Jul 6, 2022
db2761d
introdce an easter egg
Jul 6, 2022
a408952
Use an even better hack to avoid breaking docstrings
Jul 7, 2022
24eacc1
Merge branch 'JuliaLang:master' into stabilize-quicksort
LilithHafner Jul 7, 2022
a82087f
Merge branch 'JuliaLang:master' into stabilize-quicksort
LilithHafner Jul 18, 2022
1b8168f
Merge branch 'master' into stabilize-quicksort
LilithHafner Jul 19, 2022
a3bf888
Add presorted check
Jul 19, 2022
d09dc37
tweak threshold because quicksort is a bit better now
Jul 19, 2022
1cb2c2b
fixup
Jul 19, 2022
9942028
test #32675
Jul 19, 2022
822f089
tighten presorted check on partial sort
Jul 19, 2022
4b231e1
Merge branch 'master' into stabilize-quicksort
LilithHafner Jul 19, 2022
57e4d17
tighten reverse-sorted check further to ensure stability
Jul 20, 2022
9cf4f73
test stable reverse short circuit
Jul 20, 2022
52f5dfe
organize sorting tests sligthly & test that PartialQuickSort is stable
Jul 20, 2022
4b05e9d
Clarify comment
LilithHafner Jul 24, 2022
76c606e
remove rng initialization and the unnecessary sort that requires it
Jul 31, 2022
5f4388d
Merge branch 'master' into stabilize-quicksort
LilithHafner Aug 11, 2022
5b82421
fix merge conflict with 46278
Aug 14, 2022
8d2028b
Merge branch 'master' into stabilize-quicksort
LilithHafner Aug 14, 2022
085c2a7
Merge branch 'master' into stabilize-quicksort
LilithHafner Aug 27, 2022
c11a41b
Update docstring thanks @oscardssmith
Aug 27, 2022
f724e58
Merge branch 'master' into stabilize-quicksort
LilithHafner Oct 6, 2022
64b57ef
better deterministic pivot selction
Oct 11, 2022
7560e61
fixup. using Base: hash
Oct 11, 2022
11f0e6b
Merge branch 'master' into stabilize-quicksort
LilithHafner Oct 11, 2022
24fd62b
Optimize deterministic select_pivot
LilithHafner Oct 12, 2022
2272c28
update radix sort heuristic because quicksort is faster and the prima…
Oct 14, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view