On Mon, Mar 09, 2015 at 06:59:10PM +0000, vax mzn wrote:
> w.r.t, https://gcc.gnu.org/wiki/Speedup_areas where we want to improve the 
> performance of splay trees.
> 
> The function `splay_tree_node splay_tree_lookup (splay_tree, splay_tree_key);'
> updates the nodes every time a lookup is done.
> 
> IIUC, There are places where we call this function in a loop i.e., we lookup 
> different elements every time.

So, this makes sense, but I've always wondered if it wouldn't make more
sense to just use the red black tree in libstdc++ (or does it have a
splay tree of its own too?)

Trev

> e.g.,
> In this exaple we are looking for a different `t' in each iteration.
> 
> gcc/gimplify.c:1096: splay_tree_lookup (ctx->variables, (splay_tree_key) t) 
> == NULL)
> 
> Here, we change the tree itself `ctx'
> gcc/gimplify.c:5532: n = splay_tree_lookup (ctx->variables, 
> (splay_tree_key)decl);
> 
> 
> I think we don't need to update the tree in these cases at least.
> 
> 
> -Aditya
>                                         

Reply via email to