All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: "Jörn Engel" <joern@logfs.org>
Cc: Andi Kleen <andi@firstfloor.org>, Theodore Tso <tytso@mit.edu>,
	Johannes Berg <johannes@sipsolutions.net>,
	KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] add b+tree library
Date: Sun, 11 Jan 2009 19:23:17 +0100	[thread overview]
Message-ID: <20090111182317.GN26290@one.firstfloor.org> (raw)
In-Reply-To: <20090111082010.GA30090@logfs.org>


I only listed the proposals I've heard about before, not necessarily 
endorsing them.

> The number of people that truly understand what Judy trees do may be
> single-digit.  Main disadvantage I see is that Judy trees heavily rely
> on repacking nodes over and over.  Part of Judy is a memory manager with
> essentially slab caches for nodes with 2, 4, 6, 8, 12, 16, 24, 32, 48,
> 64, 96, 128, 192, 256, 384 and 512 words.

Well complicated code is en vogue recently :-) 

> Splay trees are still binary trees, so the fan-out argument is identical
> to that against rbtrees.  If we have to pull in a cacheline, we might as
> well use all of it.
> 
> Skip lists are just a Bad Idea(tm).  In O(x) notation they behave like
> binary trees, waste cachelines left and right, use more memory, depend
> on a sufficiently good random() function,...  I guess you never closely
> looked at them, because anyone who does tries to forget them as fast as
> possible.

Using the radix trees more would be also an alternative.

I honestly don't know how they will all perform in the kernel that is why I 
thought it would be a good idea to just try them out. But I'm not 
volunteering to code it up, so it was more an idle thought.

Doing that would be a reasonable student project. In fact I've been asked 
about this sort of thing by students in the past.

Cleaning up the rbtree interface to be a little more abstract
would be probably a good idea in general. I never really
liked the open coded searches.

-Andi


  reply	other threads:[~2009-01-11 18:09 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-01-10 10:47 [PATCH] add b+tree library Johannes Berg
2009-01-10 11:02 ` KOSAKI Motohiro
2009-01-10 11:37   ` Johannes Berg
2009-01-10 11:56     ` Jörn Engel
2009-01-10 12:29     ` KOSAKI Motohiro
2009-01-10 18:39       ` Jörn Engel
2009-01-10 18:44         ` Johannes Berg
2009-01-10 19:41           ` Andi Kleen
2009-01-10 20:22             ` Johannes Berg
2009-01-10 20:23             ` Jörn Engel
2009-01-10 21:27               ` Theodore Tso
2009-01-10 22:01                 ` Jörn Engel
2009-01-10 22:23                   ` Andrew Morton
2009-01-10 23:57                     ` Peter Zijlstra
2009-01-11  8:30                       ` Jörn Engel
2009-01-12 16:20                         ` Paul E. McKenney
2009-02-05  0:17                       ` Johannes Berg
2009-02-05  8:46                         ` Andi Kleen
2009-02-07 12:26                         ` Jörn Engel
2009-01-11  3:13                   ` Theodore Tso
2009-01-10 22:26                 ` Andi Kleen
2009-01-11  8:20                   ` Jörn Engel
2009-01-11 18:23                     ` Andi Kleen [this message]
2009-01-17 17:53 ` Pavel Machek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090111182317.GN26290@one.firstfloor.org \
    --to=andi@firstfloor.org \
    --cc=akpm@linux-foundation.org \
    --cc=joern@logfs.org \
    --cc=johannes@sipsolutions.net \
    --cc=kosaki.motohiro@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tytso@mit.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.