[libdispatch-dev] Results from running libdispatch tests on Solaris using libkqueue and libdispatch with patches
Joakim Johansson
jocke at tbricks.com
Tue Jul 27 03:33:57 PDT 2010
Hi,
If anyone is interested, the output of the working unit tests for libdispatch on Solaris 10 is attached below.
This is done with libdispatch r188 + the patches posted to the list the last few days built together with libkqueue r271 together with a few patches posted on the libkqueue list.
dispatch_priority seems to fail spuriously sometimes (even though it passed in the example below) and the starfish latency boundary test sometimes fails - this is on a Xeon 5500 box with 8 cores (of which 4 is HT).
When running the test suite, a very large number of threads is created for some tests:
386 during dispatch_priority
35 during dispatch_priority2
257 during starfish
It seems a bit excessive, what would be expected on such a configuration not having support for pthread_workqueue?
I will try it using Mark Heily’s userspace pthread_workqueue implementation as well and see how that works.
Joakim
——
node5:~/gcd/trunk/testing> ./dispatch_api
==================================================
[TEST] Dispatch (Public) API
[PID] 16120
==================================================
Actual: 412850
Expected: 412850
[PASS] dispatch_get_main_queue
node5:~/gcd/trunk/testing> ./dispatch_c99
==================================================
[TEST] Dispatch C99
[PID] 16135
==================================================
Actual: 412830
Expected: 412830
[PASS] dispatch_get_main_queue
node5:~/gcd/trunk/testing> ./dispatch_cascade
==================================================
[TEST] Dispatch Cascade
[PID] 16150
==================================================
maxcount = 2464
*
*
*
*
*
*
* *
* *
* *
* *
* *
* * *
* * *
* * * *
* * * *
* * * * * * * *
** * * * * * * * * *
** * * * * * * * * *
** * * *** * * * * *
node5:~/gcd/trunk/testing> ./dispatch_debug
==================================================
[TEST] Dispatch Debug
[PID] 16165
==================================================
node5:~/gcd/trunk/testing> ./dispatch_priority
==================================================
[TEST] Dispatch Priority
[PID] 16180
==================================================
LOW: 64
****************************************
DEFAULT: 60
**************************************
HIGH: 68
*******************************************
Actual: 192
Expected: 192
[PASS] blocks completed
Actual: 64
Expected: <68
[PASS] high priority precedence
node5:~/gcd/trunk/testing> ./dispatch_priority2
==================================================
[TEST] Dispatch Priority (Set Target Queue)
[PID] 16195
==================================================
Actual: 413150
Expected: 413150
[PASS] q[i]
Actual: 415a10
Expected: 415a10
[PASS] q[i]
Actual: 415ac0
Expected: 415ac0
[PASS] q[i]
LOW: 58
*************************************
DEFAULT: 67
******************************************
HIGH: 67
******************************************
Actual: 192
Expected: 192
[PASS] blocks completed
Actual: 58
Expected: <67
[PASS] high priority precedence
node5:~/gcd/trunk/testing> ./dispatch_starfish
==================================================
[TEST] Dispatch Starfish
[PID] 16210
==================================================
lap: 10
count: 1000
delta: 832448041 ns
math: 415.808212 ns / lap
Actual: 415
Expected: <1000
[PASS] Latency
lap: 9
count: 1000
delta: 789866055 ns
math: 394.538489 ns / lap
Actual: 394
Expected: <1000
[PASS] Latency
lap: 8
count: 1000
delta: 976664387 ns
math: 487.844349 ns / lap
Actual: 487
Expected: <1000
[PASS] Latency
lap: 7
count: 1000
delta: 1625163520 ns
math: 811.769990 ns / lap
Actual: 811
Expected: <1000
[PASS] Latency
lap: 6
count: 1000
delta: 1527922124 ns
math: 763.197864 ns / lap
Actual: 763
Expected: <1000
[PASS] Latency
lap: 5
count: 1000
delta: 1293263436 ns
math: 645.985732 ns / lap
Actual: 645
Expected: <1000
[PASS] Latency
lap: 4
count: 1000
delta: 1755776727 ns
math: 877.011352 ns / lap
Actual: 877
Expected: <1000
[PASS] Latency
lap: 3
count: 1000
delta: 2045621497 ns
math: 1021.788960 ns / lap
Actual: 1021
Expected: <1000
[FAIL] Latency (dispatch_starfish.c:75)
dispatch_starfish.c:75
lap: 2
count: 1000
delta: 997176198 ns
math: 498.090009 ns / lap
Actual: 498
Expected: <1000
[PASS] Latency
lap: 1
count: 1000
delta: 1204968309 ns
math: 601.882272 ns / lap
Actual: 601
Expected: <1000
[PASS] Latency
node5:~/gcd/trunk/testing> ./queue_finalizer
==================================================
[TEST] Dispatch Queue Finalizer
[PID] 16225
==================================================
Actual: 413390
Expected: 413390
[PASS] dispatch_queue_new
Actual: 72f36169c7132463
Expected: 72f36169c7132463
[PASS] finalizer ran
node5:~/gcd/trunk/testing>
More information about the libdispatch-dev
mailing list