On Thu, May 26, 2011 at 2:34 PM, Ozkan Sezer <seze...@gmail.com> wrote:
> On Thu, May 26, 2011 at 1:27 PM, Kai Tietz <ktiet...@googlemail.com> wrote:
>> 2011/5/26 Ozkan Sezer <seze...@gmail.com>:
>>> On Thu, May 26, 2011 at 11:42 AM, Kai Tietz <ktiet...@googlemail.com> wrote:
>>>> 2011/5/25 Dongsheng Song <dongsheng.s...@gmail.com>:
>>>>> After I review the source, the failure was caused by sem_init only
>>>>> support PTHREAD_PROCESS_PRIVATE,
>>>>> but benchtest.c required PTHREAD_PROCESS_SHARED.
>>>>>
>>>>> Here is my patch.
>>>>>
>>>>> On Wed, May 25, 2011 at 22:11, Dongsheng Song <dongsheng.s...@gmail.com> 
>>>>> wrote:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> With the attached patch, I can building and testing WinPthread, but 
>>>>>> benchmark testing 5th failed on XP SP3:
>>>>>>
>>>>>> $ cd winpthreads/tests
>>>>>> $ make clean GC
>>>>>> ...
>>>>>> ALL TESTS PASSED! Congratulations!
>>>>>>
>>>>>> $ make GC-bench
>>>>>> Copying .././outlib/libpthreadGC2-32.dll.a
>>>>>> Copying .././outlib/pthreadGC2-32.dll
>>>>>> make -k TEST=GC CC=-gcc XXCFLAGS="-D__CLEANUP_C" XXLIBS="" all-bench
>>>>>> make[1]: Entering directory 
>>>>>> `/o/vcs/svn/mingw-w64/experimental/winpthreads/tests
>>>>>> '
>>>>>> Copying ../include/pthread.h
>>>>>> Copying ../include/semaphore.h
>>>>>> Running benchtest1
>>>>>> ./benchtest1
>>>>>> =============================================================================
>>>>>>
>>>>>> Lock plus unlock on an unlocked mutex.
>>>>>> 10000000 iterations
>>>>>>
>>>>>> Test                                              Total(msec)   
>>>>>> average(usec)
>>>>>> -----------------------------------------------------------------------------
>>>>>> Dummy call x 2                                             46           
>>>>>> 0.005
>>>>>> Dummy call -> Interlocked with cond x 2                   344           
>>>>>> 0.034
>>>>>> InterlockedOp x 2                                         328           
>>>>>> 0.033
>>>>>> Simple Critical Section                                   360           
>>>>>> 0.036
>>>>>> Old PT Mutex using a Critical Section (WNT)               406           
>>>>>> 0.041
>>>>>> Old PT Mutex using a Win32 Mutex (W9x)                   9969           
>>>>>> 0.997
>>>>>> .............................................................................
>>>>>> PTHREAD_MUTEX_DEFAULT (W9x,WNT)                         12640           
>>>>>> 1.264
>>>>>> PTHREAD_MUTEX_NORMAL (W9x,WNT)                          12610           
>>>>>> 1.261
>>>>>> PTHREAD_MUTEX_ERRORCHECK (W9x,WNT)                      12656           
>>>>>> 1.266
>>>>>> PTHREAD_MUTEX_RECURSIVE (W9x,WNT)                       12969           
>>>>>> 1.297
>>>>>> =============================================================================
>>>>>> Done
>>>>>> Compiling benchtest2.exe
>>>>>> -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C benchlib.o -o benchtest2.exe 
>>>>>> benchtest2.c
>>>>>> -I./include -L../outlib -lpthreadGC2-32 -lsupc++
>>>>>> Running benchtest2
>>>>>> ./benchtest2
>>>>>> =============================================================================
>>>>>>
>>>>>> Lock plus unlock on a locked mutex.
>>>>>> 100000 iterations, four locks/unlocks per iteration.
>>>>>>
>>>>>> Test                                              Total(msec)   
>>>>>> average(usec)
>>>>>> -----------------------------------------------------------------------------
>>>>>> Simple Critical Section                                   375           
>>>>>> 0.938
>>>>>> Old PT Mutex using a Critical Section (WNT)               437           
>>>>>> 1.093
>>>>>> Old PT Mutex using a Win32 Mutex (W9x)                    500           
>>>>>> 1.250
>>>>>> .............................................................................
>>>>>> PTHREAD_MUTEX_DEFAULT (W9x,WNT)                           640           
>>>>>> 1.600
>>>>>> PTHREAD_MUTEX_NORMAL (W9x,WNT)                            609           
>>>>>> 1.523
>>>>>> PTHREAD_MUTEX_ERRORCHECK (W9x,WNT)                        656           
>>>>>> 1.640
>>>>>> PTHREAD_MUTEX_RECURSIVE (W9x,WNT)                         594           
>>>>>> 1.485
>>>>>> =============================================================================
>>>>>> Done
>>>>>> Compiling benchtest3.exe
>>>>>> -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C benchlib.o -o benchtest3.exe 
>>>>>> benchtest3.c
>>>>>> -I./include -L../outlib -lpthreadGC2-32 -lsupc++
>>>>>> Running benchtest3
>>>>>> ./benchtest3
>>>>>> =============================================================================
>>>>>>
>>>>>> Trylock on a locked mutex.
>>>>>> 10000000 iterations.
>>>>>>
>>>>>> Test                                              Total(msec)   
>>>>>> average(usec)
>>>>>> -----------------------------------------------------------------------------
>>>>>> Old PT Mutex using a Critical Section (WNT)               296           
>>>>>> 0.030
>>>>>> Old PT Mutex using a Win32 Mutex (W9x)                   5375           
>>>>>> 0.537
>>>>>> .............................................................................
>>>>>> PTHREAD_MUTEX_DEFAULT (W9x,WNT)                          1297           
>>>>>> 0.130
>>>>>> PTHREAD_MUTEX_NORMAL (W9x,WNT)                           1297           
>>>>>> 0.130
>>>>>> PTHREAD_MUTEX_ERRORCHECK (W9x,WNT)                       1297           
>>>>>> 0.130
>>>>>> PTHREAD_MUTEX_RECURSIVE (W9x,WNT)                        1297           
>>>>>> 0.130
>>>>>> =============================================================================
>>>>>> Done
>>>>>> Compiling benchtest4.exe
>>>>>> -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C benchlib.o -o benchtest4.exe 
>>>>>> benchtest4.c
>>>>>> -I./include -L../outlib -lpthreadGC2-32 -lsupc++
>>>>>> Running benchtest4
>>>>>> ./benchtest4
>>>>>> =============================================================================
>>>>>> Trylock plus unlock on an unlocked mutex.
>>>>>> 10000000 iterations.
>>>>>>
>>>>>> Test                                              Total(msec)   
>>>>>> average(usec)
>>>>>> -----------------------------------------------------------------------------
>>>>>> Old PT Mutex using a Critical Section (WNT)               407           
>>>>>> 0.041
>>>>>> Old PT Mutex using a Win32 Mutex (W9x)                  10031           
>>>>>> 1.003
>>>>>> .............................................................................
>>>>>> PTHREAD_MUTEX_DEFAULT (W9x,WNT)                         12797           
>>>>>> 1.280
>>>>>> PTHREAD_MUTEX_NORMAL (W9x,WNT)                          12828           
>>>>>> 1.283
>>>>>> PTHREAD_MUTEX_ERRORCHECK (W9x,WNT)                      12797           
>>>>>> 1.280
>>>>>> PTHREAD_MUTEX_RECURSIVE (W9x,WNT)                       12937           
>>>>>> 1.294
>>>>>> =============================================================================
>>>>>> Done
>>>>>> Compiling benchtest5.exe
>>>>>> -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C benchlib.o -o benchtest5.exe 
>>>>>> benchtest5.c
>>>>>> -I./include -L../outlib -lpthreadGC2-32 -lsupc++
>>>>>> Running benchtest5
>>>>>> ./benchtest5
>>>>>> =============================================================================
>>>>>>
>>>>>> Operations on a semaphore.
>>>>>> 1000000 iterations
>>>>>>
>>>>>> Test                                              Total(msec)   
>>>>>> average(usec)
>>>>>> -----------------------------------------------------------------------------
>>>>>> W32 Post with no waiters                                  454           
>>>>>> 0.454
>>>>>> W32 Wait without blocking                                 515           
>>>>>> 0.515
>>>>>> Assertion failed: (sem_init(&sema, 0, 0) == 0), file benchtest5.c, line 
>>>>>> 134
>>>>>> make[1]: *** [benchtest5.bench] Error 1
>>>>>> make[1]: Target `all-bench' not remade because of errors.
>>>>>> make[1]: Leaving directory 
>>>>>> `/o/vcs/svn/mingw-w64/experimental/winpthreads/tests'
>>>>>>
>>>>>> make: *** [GC-bench] Error 2
>>>>>>
>>>>
>>>> Thanks for the patches. I will apply them next days together with
>>>> license-disclaimer change.
>>>>
>>>> Regards,
>>>> Kai
>>>
>>> Off-topic:  IIRC, Dongsheng's msvcr90 patch was OK'ed. Is it applied?
>>>
>>> --
>>> O.S.
>>
>> Hmm, AFAIR (but I might be wrong) you applied it to branch and trunk, isn't 
>> it?
>
> I certainly did not :)
>
> If it is OK'ed, I will need the patch file again if I will be the one to apply
> it.  (and to trunk only, the release branch doesn't have msvcr90 defs.)
>
>>
>> Kai
>
> --
> O.S.
>

OK, applied the msvcr90 patch at rev. 4180

--
O.S.
------------------------------------------------------------------------------
vRanger cuts backup time in half-while increasing security.
With the market-leading solution for virtual backup and recovery, 
you get blazing-fast, flexible, and affordable data protection.
Download your free trial now. 
http://p.sf.net/sfu/quest-d2dcopy1
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to