lkml.org 
[lkml]   [2010]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: Big git diff speedup by avoiding x86 "fast string" memcmp
    From
    On Wed, Dec 8, 2010 at 11:09 PM, Nick Piggin <npiggin@kernel.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@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-12-16 00:11    [W:0.059 / U:0.016 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site