[omniORB] Profiling

Duncan Wilcox duncan@mclink.it
Thu, 14 Jun 2001 22:10:37 +0200


>We haven't had much luck finding anything.

Looks like threading on Linux (or FreeBSD for that matter) isn't all that 
great... I guess I'm spoiled from working on BeOS in a previous life, but 
"fast" locking of an uncontended mutex in the microsecond range really is 
pretty bad. Wrapping a counting semaphore with an inlined cmpxchgl-based 
spinlock makes it over ten times faster in the uncontended case, and it 
really wouldn't hurt if counting semaphores were first class pthreads 
citizens to make the contended case faster (and not being able to unlock a 
mutex from a different thread really is a pain). Oh well, I guess I really 
can't get used to pthreads semantics... please excuse my rants :)

>I had some success with FunctionCheck:

Thanks for the tip, I'll take a look.

>In the end, Quantify on Solaris told me what I wanted to know.

Yeah, we're going to get a Solaris box specifically for Purify and Quantify 
as soon as possible.

We haven't had too much luck trying to build omniorb on Solaris/Intel, BTW. 
Are there any known problems there? (or is it supported, at all?)

Duncan