mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-26 08:41:47 -07:00
Moving downward splay updates to after side tree linkage, allowing the optimiser to do a better job. produces about 10% speedup: xc/release/djbench -x 1234 --sshift 8 mvff
Copied from Perforce Change: 184445 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
ee50a7703d
commit
9d3bbb41dd
1 changed files with 2 additions and 3 deletions
|
|
@ -295,8 +295,8 @@ static Compare SplaySplit(Tree *nodeReturn,
|
|||
goto assemble;
|
||||
}
|
||||
TreeRotateRight(&node);
|
||||
tree->updateNode(tree, TreeRight(node));
|
||||
SplayLinkRight(&node, &rightFirst);
|
||||
tree->updateNode(tree, TreeRight(rightFirst));
|
||||
break;
|
||||
|
||||
case CompareGREATER: /* zig-zag */
|
||||
|
|
@ -329,8 +329,8 @@ static Compare SplaySplit(Tree *nodeReturn,
|
|||
goto assemble;
|
||||
}
|
||||
TreeRotateLeft(&node);
|
||||
tree->updateNode(tree, TreeLeft(node));
|
||||
SplayLinkLeft(&node, &leftLast);
|
||||
tree->updateNode(tree, TreeLeft(leftLast));
|
||||
break;
|
||||
|
||||
case CompareLESS: /* zag-zig */
|
||||
|
|
@ -627,7 +627,6 @@ static Tree SplayTreeSuccessor(SplayTree tree) {
|
|||
* <design/splay/#impl.neighbours>.
|
||||
*/
|
||||
|
||||
|
||||
Bool SplayTreeNeighbours(Tree *leftReturn, Tree *rightReturn,
|
||||
SplayTree tree, TreeKey key)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue