2006/6/27, Adrian Egli <[EMAIL PROTECTED]>:
Hi Robert,
after walking trough micrsoft document, threads and many many test. i changed the mutex
and thread implementation:
i tested it at the moment just only on 2 machine. the dual core computer and my single
core application. i need held for testing many other's because it's very low level, and if the implementation isn't good, we walk into troubles. but the performance is much better no only on the dual core computer.
can you watch may changes ( mark be // ADI begin // adi end or only // ADI )
if you feel good, happy with the changes i will prepare a propre clean implemation
for release 1.1. (other's are also wellcome to test it)
regards
/adegli2006/6/26, Adrian Egli <[EMAIL PROTECTED]>:thanks robert,
at the moment i try to locate the real bottleneck. i know your changes ref/unref, but i don't feel that this would be the bottle neck i have at the moment. but i will try the cvs version. hopply it would run much faster.
i will inform you as soon as i have locate the bottleneck. if we have to make some changes, we can discuss it further.
adegli2006/6/26, Robert Osfield < [EMAIL PROTECTED]>:If its the mutex lock/unlock instread Referenced:ref()/unref() that is
cause a bottlneck then try the CVS version of the OSG, it doesn't used
thread safe ref/unref() as widely as it did before, reducing the
overhead of running multi-threaded signifincantly.
On 6/25/06, Adrian Egli < [EMAIL PROTECTED]> wrote:
>
>
> ---------- Forwarded message ----------
> From: Niall Douglas < [EMAIL PROTECTED] >
> Date: 24.06.2006 17:25
> Subject: Re: [Foxgui-users] Performance Issue : SceneView / FoxToolkit /
> OpenThreads / cURL
> To: [EMAIL PROTECTED]
>
> On 24 Jun 2006 at 14:38, Adrian Egli wrote:
>
> > hi i guess microsoft has changed something in the kernel32.dll
> >
> > if i lock the resource with while and try lock it runs much much much
> better
>
> Looks to me like you need spin counts on your mutexs. Either use a
> spincounting critical section, or else use QMutex from TnFOX
> ( http://www.nedprod.com/TnFOX/ ). You will find QMutex is several
> dozen times faster than anything windows provides for you (and the
> version in SVN even works on all architectures, though it's much
> faster on x86 or x64).
>
> Cheers,
> Niall
>
>
>
>
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job
> easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Foxgui-users mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/foxgui-users
>
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://openscenegraph.net/mailman/listinfo/osg-users
> http://www.openscenegraph.org/
>
>
_______________________________________________
osg-users mailing list
[email protected]
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/
// // OpenThread library, Copyright (C) 2002 - 2003 The Open Thread Group // // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either // version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // Lesser General Public License for more details. // // You should have received a copy of the GNU Lesser General Public // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // // // Win32PrivateData.h - Private data structure for Thread // ~~~~~~~~~~~~~~~~~~~~~ #ifndef _Win32PRIVATEDATA_H_ #define _Win32PRIVATEDATA_H_
#ifndef _WINDOWS_
#define WIN32_LEAN_AND_MEAN
#define _WIN32_WINNT 0x0400
#include <windows.h>
#endif
#include <OpenThreads/Thread>
#include "HandleHolder.h"
namespace OpenThreads {
class Win32ThreadPrivateData {
//-------------------------------------------------------------------------
// We're friendly to Thread, so it can use our data.
//
friend class Thread;
//-------------------------------------------------------------------------
// We're friendly to Win32PrivateActions, so it can get at some
// variables.
//
friend class ThreadPrivateActions;
private:
Win32ThreadPrivateData() {};
~Win32ThreadPrivateData();
unsigned int stackSize;
bool isRunning;
int cancelMode; // 0 - deffered (default) 1-asynch 2-disabled
bool detached;
Thread::ThreadPriority threadPriority;
Thread::ThreadPolicy threadPolicy;
HandleHolder tid;
int uniqueId;
//ADI BEGIN
private:
void* _win32_HandleHolder;
//ADI END
public:
HandleHolder cancelEvent;
struct TlsHolder{ // thread local storage slot
DWORD ID;
TlsHolder(): ID(TlsAlloc()){
}
~TlsHolder(){
TlsFree(ID);
}
};
static TlsHolder TLS;
};
DWORD cooperativeWait(HANDLE waitHandle, unsigned long timeout);
}
#endif // !_PTHREADPRIVATEDATA_H_
_______________________________________________ osg-users mailing list [email protected] http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
