Re: performance....

Corey Minyard <[email protected]> Sun, 14 Apr 2002 20:13:29 -0500
Newsgroups gmane.linux.ngpt.user
Message-ID <[email protected]>
Richard Seaman, Jr. wrote:

>On Sat, Apr 13, 2002 at 01:14:55AM +0200, Julien Ducourthial wrote:
>
>> Hi,
>>
>>I find the ngpt work very interesting (I'm pretty impressed with the 
>>progress made toward posix compliance). But I've got a small concern :
>>in the release notes of ngpt 1.2.1, I read "...With the exception of 
>>output to stdout and semaphores, NGPT 1.2.1 out performs LinuxThreads in 
>>virtually every area.". But using a dumb bench (a reversible operation 
>>executed in loop), this is not exactly what I get :
>>
>
>[snip]
>
>It appears to me that some NGPT syscalls could be made more efficient
>than they are.  Looking at the read/write syscall wrappers, in the case
>of a blocking mode read/write, it appears that the best case is this
>(just listing the syscalls):
>
This is not answering the question asked.

I ran a benchmark, too that just claimed and relesed a mutex 10,000 
times, and NGPT ran more than twice as slowly as Linuxthreads on my 
machine (P4/1GHZ), 4581us vs 1761us.  It's hard to believe, in fact, 
that you could get much faster than Linuxthreads mutexes in 
non-contention cases, or you could improve the performance of 
pthread_self, which in Linuxthreads simply fetches a processor register 
and does a quick calculation.

It's surprising that the cond operations were measured slower, that's 
supposed to be an M:N thread model's strength.

It's a little disturbing that it's being advertised that NGPT is faster 
than Linuxthreads for virtually everything, and common operations like 
mutexes and conds are being measure with these values.  So, I'm from 
Missouri, show me.  (Actually, I'm not from Missouri, but I know people 
who are :-)  What are the test platforms, where is the benchmark code, 
and what are the actual measurements?

-Corey