Update QMutex benchmark to match the one in 4.8

Pull in recent changes in the 4.8 branch for the QMutex benchmark.

Change-Id: Ie1e9bff33cecafb36d3d12207100f09f99597f8e
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
This commit is contained in:
Bradley T. Hughes 2011-10-27 11:53:05 +02:00 committed by Qt by Nokia
parent 916460929d
commit ba90d5cc8b
2 changed files with 40 additions and 1 deletions

View File

@ -44,7 +44,26 @@
#include <math.h>
#if defined(Q_OS_UNIX)
#ifdef Q_OS_SYMBIAN
# include <e32std.h>
typedef RMutex NativeMutexType;
void NativeMutexInitialize(NativeMutexType *mutex)
{
mutex->CreateLocal();
}
void NativeMutexDestroy(NativeMutexType *mutex)
{
mutex->Close();
}
void NativeMutexLock(NativeMutexType *mutex)
{
mutex->Wait();
}
void NativeMutexUnlock(NativeMutexType *mutex)
{
mutex->Signal();
}
#elif defined(Q_OS_UNIX)
# include <pthread.h>
# include <errno.h>
typedef pthread_mutex_t NativeMutexType;
@ -109,7 +128,9 @@ private slots:
void noThread_data();
void noThread();
void constructionNative();
void uncontendedNative();
void constructionQMutex();
void uncontendedQMutex();
void uncontendedQMutexLocker();
@ -175,6 +196,15 @@ void tst_QMutex::noThread()
QCOMPARE(int(count), N);
}
void tst_QMutex::constructionNative()
{
QBENCHMARK {
NativeMutexType mutex;
NativeMutexInitialize(&mutex);
NativeMutexDestroy(&mutex);
}
}
void tst_QMutex::uncontendedNative()
{
NativeMutexType mutex;
@ -186,6 +216,14 @@ void tst_QMutex::uncontendedNative()
NativeMutexDestroy(&mutex);
}
void tst_QMutex::constructionQMutex()
{
QBENCHMARK {
QMutex mutex;
Q_UNUSED(mutex);
}
}
void tst_QMutex::uncontendedQMutex()
{
QMutex mutex;

View File

@ -1,3 +1,4 @@
TEMPLATE = subdirs
SUBDIRS = \
qmutex \
qthreadstorage