[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTim=Hd_xhk4egrTq96rk0eCQRWOxEjcfxM53HwXq@mail.gmail.com>
Date: Wed, 15 Dec 2010 15:09:26 -0800
From: Tony Luck <tony.luck@...el.com>
To: Nick Piggin <npiggin@...nel.dk>
Cc: Linus Torvalds <torvalds@...ux-foundation.org>,
linux-arch@...r.kernel.org, x86@...nel.org,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org
Subject: Re: Big git diff speedup by avoiding x86 "fast string" memcmp
On Wed, Dec 8, 2010 at 11:09 PM, Nick Piggin <npiggin@...nel.dk> wrote:
> +static inline int dentry_memcmp(const unsigned char *cs,
> + const unsigned char *ct, size_t count)
> +{
> + while (count) {
> + int ret = (*cs != *ct);
> + if (ret)
> + return ret;
> + cs++;
> + ct++;
> + count--;
> + }
> + return 0;
> +}
Since you are proposing a routine that only compares file
names - I wonder whether it would be faster to start at the
end and work backwards? If the filenames are the same,
it makes no difference - you have to look at all the bytes.
But if they are different you might bail out earlier. There
are many applications that stick a common prefix onto
the start of filenames (just look in "/lib" !), but I think it is
less common to add a suffix (longer than "." single letter).
-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists