Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Aug 2003 07:23:35 +0800
From:      David Xu <davidxu@FreeBSD.org>
To:        deischen@FreeBSD.org, Daniel Eischen <eischen@vigrid.com>, threads@FreeBSD.org
Cc:        Scott Long <scottl@FreeBSD.org>
Subject:   Re: Call for thread testers
Message-ID:  <200308280723.35697.davidxu@FreeBSD.org>
In-Reply-To: <Pine.GSO.4.10.10308271751230.20578-100000@pcnet5.pcnet.com>
References:  <Pine.GSO.4.10.10308271751230.20578-100000@pcnet5.pcnet.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 28 August 2003 06:07, Daniel Eischen wrote:
> [ redirected to @threads ]
> > David and I have a couple of other tests which we use to
> > measure performance of our threads libraries.
>
> One of these tests is crew, which is part of Dave Butenhof's
> threads tests (http://people.freebsd.org/~davidxu/crew/programs.tar.z)
>
>   Usage: crew <string> <directory>
>
> crew searches recursively for the given string in the directory.
> David and I use it as follows:
>
>   $ crew node /usr/src/sys
>
> By default, it creates 4 worker threads to seach for the string.
> Here are the results for all thread libraries; they are somewhat
> surprising.  The test was run a couple of times to fill up cache
> and those timing results were omitted.
>
>                        Run 1       Run 2       Run 3
>   ------------------------------------------------------
>   libc_r       real    0m48.451s   0m48.835s   0m50.905s
>                user    0m2.694s    0m2.745s    0m2.818s
>                sys     0m8.996s    0m8.931s    0m8.863s
>   ------------------------------------------------------
>   libthr       real    1m2.553s    1m52.579s   1m50.306s
>                user    0m3.423s    0m4.561s    0m4.397s
>                sys     0m11.842s   0m27.099s   0m27.300s
>   ------------------------------------------------------
>   libkse(M:N)  real    0m49.175s   0m49.910s   0m51.033s
>                user    0m2.840s    0m2.836s    0m2.880s
>                sys     0m8.857s    0m8.857s    0m8.792s
>   ------------------------------------------------------
>   libkse(1:1)  real    0m20.240s   0m19.969s   0m19.981s
>                user    0m2.741s    0m2.783s    0m2.858s
>                sys     0m8.877s    0m8.832s    0m8.768s
>   ------------------------------------------------------
>
> All the above tests were run on a single CPU 850MHz PIII
> with 256MB RAM (Dell Lattitude C400).
>
> There seems to be something wrong with libthr; the times
> vary too much (by almost 100%).  libkse in M:N mode seems
> to be on par with libc_r.  But the real surprise is libkse
> built in 1:1 mode (add -DSYSTEM_SCOPE_ONLY to CFLAGS when
> building libpthread).

Er, strange result, libkse M:N and libkse 1:1 should be identical 
in this test, I had always run this test, and their performance
are always close enough, but 1:1 was always a bit slow than M:N,
all tests are done under 4BSD scheduler, under ULE scheduler, 
SA process has performance problem, M:N is slower under ULE than 1:1.

David Xu



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200308280723.35697.davidxu>