Re: [TRIVIAL] kstrdup

Rusty Russell (rusty@rustcorp.com.au)
Sat, 19 Apr 2003 14:14:00 +1000


In message <3E9FB2E9.9040308@pobox.com> you write:
> Rusty Trivial Russell wrote:
> > +char *kstrdup(const char *s, int gfp)
> > +{
> > + char *buf = kmalloc(strlen(s)+1, gfp);
> > + if (buf)
> > + strcpy(buf, s);
> > + return buf;
> > +}
>
> You should save the strlen result to a temp var, and then s/strcpy/memcpy/

Completely disagree. Write the most straightforward code possible,
and then if there proves to be a problem, optimize. Optimizations
where there's no actual performance problem should be left to the
compiler.

Case in point: gcc-3.2 on -O2 on Intel is one instruction longer for
your version.

Hope that helps,
Rusty.

--
  Anyone who quotes me in their sig is an idiot. -- Rusty Russell.
-
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/