Dylan Reid <dgreid@xxxxxxxxx> writes: > In xdl_recmatch, do the memcmp to check if the two lines are equal before > checking if whitespace flags are set. If the lines are identicle, then "identical"? > there is no need to check if they differ only in whitespace. > This makes the common case (there is no whitespace difference) faster. > It costs the case where lines are the same length and contain > whitespace differences, but the common case is more than 20% faster. "more than 20% faster" based on what dataset and benchmark? > > Signed-off-by: Dylan Reid <dgreid@xxxxxxxxx> > --- > xdiff/xutils.c | 4 +++- > 1 files changed, 3 insertions(+), 1 deletions(-) > > diff --git a/xdiff/xutils.c b/xdiff/xutils.c > index bc12f29..22f9bd6 100644 > --- a/xdiff/xutils.c > +++ b/xdiff/xutils.c > @@ -190,8 +190,10 @@ int xdl_recmatch(const char *l1, long s1, const char *l2, long s2, long flags) > { > int i1, i2; > > + if (s1 == s2 && !memcmp(l1, l2, s1)) > + return 1; > if (!(flags & XDF_WHITESPACE_FLAGS)) > - return s1 == s2 && !memcmp(l1, l2, s1); > + return 0; > > i1 = 0; > i2 = 0; > -- > 1.7.1 > > -- > To unsubscribe from this list: send the line "unsubscribe git" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html