Re: ext3 performance inconsistencies, 2.4/2.6
From: Linus Torvalds
Date: Tue Nov 04 2003 - 17:33:10 EST
On Tue, 4 Nov 2003, Ulrich Drepper wrote:
>
> I don't see any verison numbers mentioned. If you want to benchmark
> NPTL use the recent code, e.g., from Fedora Core 1 or RHEL3. Nothing
> else makes any sense since there have mean countless changes since the
> early releases.
This is actually _really_ trivial to see with a simple test program.
This is Fedora Core test3:
#include <stdlib.h>
/* Change this to match your CPU */
#define NR (10*1000*1000)
int main(int argc, char **argv)
{
int i;
for (i = 0; i < NR; i++)
putchar(0);
}
and then just time it.
I get:
torvalds@home:~> time ./a.out > /dev/null
real 0m1.305s
user 0m1.283s
sys 0m0.004s
and
torvalds@home:~> time LD_ASSUME_KERNEL=2.4.1 ./a.out > /dev/null
real 0m0.321s
user 0m0.318s
sys 0m0.003s
ie a factor of _four_ difference in the speed of "putchar()".
Interestingly, if I compile the program statically, I don't see this
effect, and it's noticeably faster still:
torvalds@home:~> gcc -O2 -static test.c
torvalds@home:~> time ./a.out > /dev/null
real 0m0.193s
user 0m0.191s
sys 0m0.002s
torvalds@home:~> time LD_ASSUME_KERNEL=2.4.1 ./a.out > /dev/null
real 0m0.194s
user 0m0.190s
sys 0m0.004s
Is the TLS stuff done through an extra dynamically loaded indirection or
something?
Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/