Messages in this thread | | | Date | Sat, 19 Apr 2003 00:48:36 -0400 | From | Jeff Garzik <> | Subject | Re: [TRIVIAL] kstrdup |
| |
Rusty Russell wrote: > 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.
Since the kernel does its own string ops, the compiler does not have enough information to deduce that further optimization is possible.
> Case in point: gcc-3.2 on -O2 on Intel is one instruction longer for > your version.
And? It's still slower.
Jeff
- 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/
| |