Hi David,

Over the last week I've been looking into other issues with the
DatabasePager performance which in the end was found to be an issue
with MS's iostream implementation which looks to have been addressed
now.  With this tackled I've now returned to cleaning up the pruning
of the expired DatabaseRequests.

The changes I have gone to integrate the pruning code into the
RequestQueue::takeFirst() method, doing this allows us to avoid
acquiring the mutex twice in one iteration of the
DatabaseThread::run() loop. It also means that if no request will
served if all the requests are expired so it may occasionally help us
avoid doing an extra unnecessary load.

I've tested your suggested settings before and after the above changes
and to me things look like they are now fixed.  Could you please test
svn/trunk against your own app + data.

There are still some threading and object lifetime issues lurking so
I'm not completely done with work on paging, but at least this
particular performance issue should now be solved.

Cheers,
Robert.
_______________________________________________
osg-submissions mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-submissions-openscenegraph.org

Reply via email to