This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: pthreads works, sorta


More experimenting with my home computer, dual pIII 850:

1. 117  157 328
2. 822 1527 ---
3. 194  240 453
4. 169  181 516

The entries in the array represent the number of seconds it
took to get to a certain milestone in the application.  The
columns, 1 thru 3, are the milestones.  The rows are defined as:

1. linux (however, linux had an advantage, since all the data is
   on the hard drive, and on the windows side some of the data
   had to be contained on cdrom).
2. cygwin current, with the condtimedwait patch
3. cygwin 1.3.2, but with the Pthread-win32 implementation
4. cygwin current, plus using the verifiable_object_isvalid2()
   routine, for the lock/unlock, signal, wait/timedwait calls
   (which doesn't call VirtualQuery()).

There is an additional error in cygwin current, I think related
to pthread_kill, that occurs between milestone 2 and 3, that
possibly skewed the results for row 4.  Milestone 3 is never
reached for row 2 because all processing becomes dedicated to
pthreads overhead and no useful work gets done (ie thrashing).

I think this shows that VirtualQuery *is* a hog.
These results were obtained on Windows2000 sp1 and my previous
results were on NT4 sp6 (on a pIII 650).

Thanks, Greg

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]