Re: [TRIVIAL] kstrdup
Jeff Garzik (jgarzik@pobox.com)
Sat, 19 Apr 2003 00:48:36 -0400
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/