Skip to content

Commit 7f30b55

Browse files
committed
simplified to mu=j
1 parent 984bcd0 commit 7f30b55

File tree

1 file changed

+10
-13
lines changed

1 file changed

+10
-13
lines changed

Objects/listobject.c

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1902,20 +1902,21 @@ abinarysort(MergeState *ms, const sortslice *ss, Py_ssize_t n, Py_ssize_t ok, in
19021902

19031903
Py_ssize_t M, L, R;
19041904
Py_ssize_t nsorted = ok;
1905-
Py_ssize_t last = ok >> 1;
1906-
Py_ssize_t std = last;
1907-
Py_ssize_t mu = last;
1905+
Py_ssize_t mu = ok >> 1;
1906+
Py_ssize_t std = mu;
19081907
Py_ssize_t nbad = 0; // badness of fit
19091908

19101909
if (adapt) {
19111910
for (; ok < n; ++ok) {
19121911
pivot = a[ok];
19131912

1913+
// NOTE: If abinarysort is actually working, there will be gains
1914+
// And this is a relatively small insurance against adversity
1915+
// However, subject to be removed if not helpful in practice
19141916
if (std < (ok >> 2)) {
1915-
M = mu;
1916-
IFLT(pivot, a[M]) {
1917+
IFLT(pivot, a[mu]) {
19171918
L = 0;
1918-
R = M;
1919+
R = mu;
19191920
if (L < R) {
19201921
std += !std;
19211922
M = R - std;
@@ -1939,7 +1940,7 @@ abinarysort(MergeState *ms, const sortslice *ss, Py_ssize_t n, Py_ssize_t ok, in
19391940
}
19401941
}
19411942
else {
1942-
L = M + 1;
1943+
L = mu + 1;
19431944
R = ok;
19441945
if (L < R) {
19451946
M = L + std;
@@ -2004,9 +2005,7 @@ abinarysort(MergeState *ms, const sortslice *ss, Py_ssize_t n, Py_ssize_t ok, in
20042005
// Update Adaptive runvars
20052006
std = labs(L - mu);
20062007
nbad += std;
2007-
mu = L + L - last;
2008-
mu = mu < 0 ? 0 : mu > ok ? ok : mu;
2009-
last = L;
2008+
mu = L;
20102009
}
20112010
}
20122011
else {
@@ -2044,9 +2043,7 @@ abinarysort(MergeState *ms, const sortslice *ss, Py_ssize_t n, Py_ssize_t ok, in
20442043
// Update Adaptive runvars
20452044
std = labs(L - mu);
20462045
nbad += std;
2047-
mu = L + L - last;
2048-
mu = mu < 0 ? 0 : mu > ok ? ok : mu;
2049-
last = L;
2046+
mu = L;
20502047
}
20512048
}
20522049

0 commit comments

Comments
 (0)