[libdispatch-dev] porting status

Joakim Johansson jocke at tbricks.com
Mon Apr 11 02:32:14 PDT 2011


Thanks Mark, working quite nicely now!

For completeness, below are the latest results from Solaris 10/x86_64 also using clang (libkqueue r469, libpthread_workqueue r113, libdispatch r197 - current ’trunk’) - all tests succeeded.

Cheers,

Joakim

SunOS ply 5.10 Generic_144489-06 i86pc i386 i86pc

==================================================
[TEST] Dispatch (Public) API
[PID] 16510
==================================================

        Actual: 412970
        Expected: 412970
[PASS] dispatch_get_main_queue
PASS: dispatch_api

==================================================
[TEST] Dispatch C99
[PID] 16526
==================================================

        Actual: 412970
        Expected: 412970
[PASS] dispatch_get_main_queue
PASS: dispatch_c99

==================================================
[TEST] Dispatch Cascade
[PID] 16542
==================================================

maxcount = 4115
                                                                                
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                                                                               
*                            ***     *                                          
*                        **  ***     **                                         
*                        **  ****    **    *         *                          
PASS: dispatch_cascade

==================================================
[TEST] Dispatch Debug
[PID] 16558
==================================================

PASS: dispatch_debug

==================================================
[TEST] Dispatch Priority
[PID] 16574
==================================================

LOW: 15
**********                                                                      
DEFAULT: 49
*******************************                                                 
HIGH: 128
********************************************************************************
        Actual: 192
        Expected: 192
[PASS] blocks completed
        Actual: 15
        Expected: <128
[PASS] high priority precedence
PASS: dispatch_priority

==================================================
[TEST] Dispatch Priority (Set Target Queue)
[PID] 16590
==================================================

        Actual: 415a90
        Expected: 415a90
[PASS] q[i]
        Actual: 418590
        Expected: 418590
[PASS] q[i]
        Actual: 418640
        Expected: 418640
[PASS] q[i]
LOW: 46
*****************************                                                   
DEFAULT: 62
***************************************                                         
HIGH: 84
*****************************************************                           
        Actual: 192
        Expected: 192
[PASS] blocks completed
        Actual: 46
        Expected: <84
[PASS] high priority precedence
PASS: dispatch_priority2

==================================================
[TEST] Dispatch Starfish
[PID] 16606
==================================================

lap: 10
count: 1000
delta: 1041826041 ns
math: 520.392628 ns / lap
        Actual: 520
        Expected: <1000
[PASS] Latency
lap: 9
count: 1000
delta: 1092185393 ns
math: 545.547149 ns / lap
        Actual: 545
        Expected: <1000
[PASS] Latency
lap: 8
count: 1000
delta: 1084189055 ns
math: 541.552975 ns / lap
        Actual: 541
        Expected: <1000
[PASS] Latency
lap: 7
count: 1000
delta: 1115418469 ns
math: 557.152082 ns / lap
        Actual: 557
        Expected: <1000
[PASS] Latency
lap: 6
count: 1000
delta: 1042504620 ns
math: 520.731578 ns / lap
        Actual: 520
        Expected: <1000
[PASS] Latency
lap: 5
count: 1000
delta: 1104164173 ns
math: 551.530556 ns / lap
        Actual: 551
        Expected: <1000
[PASS] Latency
lap: 4
count: 1000
delta: 1035682573 ns
math: 517.323963 ns / lap
        Actual: 517
        Expected: <1000
[PASS] Latency
lap: 3
count: 1000
delta: 1013383389 ns
math: 506.185509 ns / lap
        Actual: 506
        Expected: <1000
[PASS] Latency
lap: 2
count: 1000
delta: 1105151225 ns
math: 552.023589 ns / lap
        Actual: 552
        Expected: <1000
[PASS] Latency
lap: 1
count: 1000
delta: 1095489547 ns
math: 547.197576 ns / lap
        Actual: 547
        Expected: <1000
[PASS] Latency
PASS: dispatch_starfish

==================================================
[TEST] Dispatch Queue Finalizer
[PID] 16668
==================================================

        Actual: 415de0
        Expected: 415de0
[PASS] dispatch_queue_new
        Actual: 62595c29f2bffb0c
        Expected: 62595c29f2bffb0c
[PASS] finalizer ran
PASS: queue_finalizer

==================================================
[TEST] Dispatch After
[PID] 16684
==================================================

        Actual: 0
        Expected: <500065550
[PASS] can't finish faster than 5.5s
        Actual: 0
        Expected: <499936177
[PASS] must finish faster than  6.5s
        Actual: 0
        Expected: <500047574
[PASS] can't finish faster than 1.5s
        Actual: 0
        Expected: <499953651
[PASS] must finish faster than  2.5s
        Actual: 0
        Expected: <46552
[PASS] can't finish faster than 0s
        Actual: 0
        Expected: <499954541
[PASS] must finish faster than .5s
PASS: dispatch_after

==================================================
[TEST] Dispatch Apply
[PID] 16722
==================================================

        Actual: fffffd7fff290550
        Expected: fffffd7fff290550
[PASS] dispatch_get_concurrent_queue
        Actual: 32
        Expected: 32
[PASS] count
PASS: dispatch_apply

==================================================
[TEST] Timer drift test
[PID] 16738
==================================================

        Actual: 415f40
        Expected: 415f40
[PASS] DISPATCH_SOURCE_TYPE_TIMER
   1: jitter 0.000000, drift 0.000000
   2: jitter 0.000002, drift 0.000002
   3: jitter 0.000005, drift 0.000003
   4: jitter 0.000211, drift 0.000206
   5: jitter -0.000004, drift -0.000215
   6: jitter 0.000000, drift 0.000004
   7: jitter 0.000003, drift 0.000003
   8: jitter 0.000002, drift -0.000001
   9: jitter 0.000007, drift 0.000005
  10: jitter 0.000202, drift 0.000195
  11: jitter 0.000002, drift -0.000200
  12: jitter 0.000209, drift 0.000207
  13: jitter -0.000007, drift -0.000216
  14: jitter 0.000007, drift 0.000014
  15: jitter 0.000003, drift -0.000004
  16: jitter -0.000001, drift -0.000004
  17: jitter 0.000008, drift 0.000009
  18: jitter -0.000015, drift -0.000023
  19: jitter -0.000030, drift -0.000015
  20: jitter -0.000005, drift 0.000025
  21: jitter 0.000000, drift 0.000005
  22: jitter -0.000007, drift -0.000007
  23: jitter -0.000009, drift -0.000002
  24: jitter -0.000001, drift 0.000008
  25: jitter -0.000002, drift -0.000001
  26: jitter -0.000002, drift -0.000000
  27: jitter 0.000003, drift 0.000005
  28: jitter 0.000000, drift -0.000003
  29: jitter 0.000004, drift 0.000004
  30: jitter 0.000002, drift -0.000002
  31: jitter 0.000006, drift 0.000004
  32: jitter 0.000008, drift 0.000002
  33: jitter 0.000008, drift 0.000000
  34: jitter 0.000008, drift 0.000000
  35: jitter 0.000002, drift -0.000006
  36: jitter 0.000001, drift -0.000001
  37: jitter 0.000006, drift 0.000005
  38: jitter 0.000009, drift 0.000003
  39: jitter 0.000008, drift -0.000001
  40: jitter 0.000002, drift -0.000006
  41: jitter 0.000008, drift 0.000006
  42: jitter 0.000009, drift 0.000001
  43: jitter 0.000009, drift 0.000000
  44: jitter 0.000007, drift -0.000002
  45: jitter -0.000003, drift -0.000010
  46: jitter -0.000002, drift 0.000001
  47: jitter 0.000003, drift 0.000005
  48: jitter 0.000004, drift 0.000001
  49: jitter 0.000005, drift 0.000001
  50: jitter -0.000002, drift -0.000007
  51: jitter 0.000006, drift 0.000008
  52: jitter 0.000005, drift -0.000001
  53: jitter 0.000203, drift 0.000198
  54: jitter 0.000003, drift -0.000200
  55: jitter 0.000003, drift 0.000000
  56: jitter 0.000003, drift -0.000000
  57: jitter 0.000005, drift 0.000002
  58: jitter 0.000206, drift 0.000201
  59: jitter 0.000005, drift -0.000201
  60: jitter -0.000003, drift -0.000008
  61: jitter 0.000004, drift 0.000007
  62: jitter 0.000208, drift 0.000204
  63: jitter 0.000008, drift -0.000200
  64: jitter 0.000007, drift -0.000001
  65: jitter 0.000007, drift 0.000000
  66: jitter 0.000002, drift -0.000005
  67: jitter 0.000007, drift 0.000005
  68: jitter 0.000208, drift 0.000201
  69: jitter -0.000015, drift -0.000223
  70: jitter 0.000002, drift 0.000017
  71: jitter 0.000209, drift 0.000207
  72: jitter 0.000011, drift -0.000198
  73: jitter 0.000007, drift -0.000004
  74: jitter 0.000203, drift 0.000196
  75: jitter 0.000003, drift -0.000200
  76: jitter -0.000017, drift -0.000020
  77: jitter -0.000001, drift 0.000016
  78: jitter -0.000005, drift -0.000004
  79: jitter 0.000008, drift 0.000013
  80: jitter 0.000199, drift 0.000191
  81: jitter 0.000004, drift -0.000195
  82: jitter 0.000007, drift 0.000003
  83: jitter 0.000008, drift 0.000001
  84: jitter 0.000005, drift -0.000003
  85: jitter 0.000003, drift -0.000002
  86: jitter 0.000000, drift -0.000003
  87: jitter 0.000003, drift 0.000003
  88: jitter 0.000002, drift -0.000001
  89: jitter 0.000006, drift 0.000004
  90: jitter 0.000000, drift -0.000006
  91: jitter 0.000006, drift 0.000006
  92: jitter 0.000003, drift -0.000003
  93: jitter 0.000007, drift 0.000004
  94: jitter 0.000007, drift 0.000000
  95: jitter 0.000004, drift -0.000003
  96: jitter 0.000003, drift -0.000001
  97: jitter 0.000014, drift 0.000011
  98: jitter 0.000007, drift -0.000007
  99: jitter 0.000009, drift 0.000002
 100: jitter 0.000004, drift -0.000005
 101: jitter 0.000206, drift 0.000202
 102: jitter 0.000009, drift -0.000197
 103: jitter 0.000010, drift 0.000001
 104: jitter 0.000008, drift -0.000002
 105: jitter 0.000006, drift -0.000002
 106: jitter 0.000004, drift -0.000002
 107: jitter 0.000007, drift 0.000003
 108: jitter -0.000009, drift -0.000016
 109: jitter 0.000001, drift 0.000010
 110: jitter -0.000024, drift -0.000025
 111: jitter 0.000004, drift 0.000028
 112: jitter 0.000002, drift -0.000002
 113: jitter 0.000002, drift 0.000000
 114: jitter -0.000001, drift -0.000003
 115: jitter 0.000004, drift 0.000005
 116: jitter 0.000005, drift 0.000001
 117: jitter 0.000002, drift -0.000003
 118: jitter 0.000006, drift 0.000004
 119: jitter -0.000012, drift -0.000018
 120: jitter 0.000000, drift 0.000012
 121: jitter -0.000001, drift -0.000001
 122: jitter -0.000000, drift 0.000001
 123: jitter 0.000006, drift 0.000006
 124: jitter 0.000202, drift 0.000196
 125: jitter 0.000003, drift -0.000199
 126: jitter 0.000005, drift 0.000002
 127: jitter -0.000000, drift -0.000005
 128: jitter 0.000008, drift 0.000008
 129: jitter 0.000007, drift -0.000001
 130: jitter 0.000200, drift 0.000193
 131: jitter 0.000007, drift -0.000193
 132: jitter 0.000008, drift 0.000001
 133: jitter 0.000008, drift 0.000000
 134: jitter 0.000005, drift -0.000003
 135: jitter 0.000007, drift 0.000002
 136: jitter 0.000007, drift 0.000000
 137: jitter 0.000006, drift -0.000001
 138: jitter 0.000006, drift 0.000000
 139: jitter 0.000009, drift 0.000003
 140: jitter 0.000002, drift -0.000007
 141: jitter -0.000003, drift -0.000005
 142: jitter 0.000005, drift 0.000008
 143: jitter 0.000006, drift 0.000001
 144: jitter 0.000004, drift -0.000002
 145: jitter 0.000002, drift -0.000002
 146: jitter 0.000005, drift 0.000003
 147: jitter 0.000003, drift -0.000002
 148: jitter 0.000005, drift 0.000002
 149: jitter 0.000006, drift 0.000001
 150: jitter -0.000002, drift -0.000008
 151: jitter 0.000005, drift 0.000007
 152: jitter 0.000002, drift -0.000003
 153: jitter 0.000005, drift 0.000003
 154: jitter 0.000003, drift -0.000002
 155: jitter -0.000004, drift -0.000007
 156: jitter 0.000005, drift 0.000009
 157: jitter 0.000002, drift -0.000003
 158: jitter 0.000007, drift 0.000005
 159: jitter 0.000005, drift -0.000002
 160: jitter 0.000002, drift -0.000003
 161: jitter 0.000006, drift 0.000004
 162: jitter 0.000009, drift 0.000003
 163: jitter 0.000009, drift 0.000000
 164: jitter 0.000007, drift -0.000002
 165: jitter 0.000004, drift -0.000003
 166: jitter 0.000007, drift 0.000003
 167: jitter 0.000008, drift 0.000001
 168: jitter 0.000009, drift 0.000001
 169: jitter -0.000007, drift -0.000016
 170: jitter 0.000008, drift 0.000015
 171: jitter 0.000008, drift -0.000000
 172: jitter 0.000010, drift 0.000002
 173: jitter -0.000001, drift -0.000011
 174: jitter 0.000128, drift 0.000129
 175: jitter -0.000005, drift -0.000133
 176: jitter -0.000003, drift 0.000002
 177: jitter -0.000000, drift 0.000003
 178: jitter 0.000004, drift 0.000004
 179: jitter 0.000005, drift 0.000001
 180: jitter -0.000001, drift -0.000006
 181: jitter 0.000005, drift 0.000006
 182: jitter -0.000013, drift -0.000018
 183: jitter -0.000007, drift 0.000006
 184: jitter -0.000001, drift 0.000006
 185: jitter -0.000005, drift -0.000004
 186: jitter -0.000007, drift -0.000002
 187: jitter -0.000003, drift 0.000004
 188: jitter 0.000005, drift 0.000008
 189: jitter 0.000003, drift -0.000002
 190: jitter 0.000001, drift -0.000002
 191: jitter 0.000007, drift 0.000006
 192: jitter 0.000009, drift 0.000002
 193: jitter 0.000009, drift 0.000000
 194: jitter 0.000009, drift -0.000000
 195: jitter 0.000007, drift -0.000002
 196: jitter 0.000008, drift 0.000001
 197: jitter 0.000006, drift -0.000002
 198: jitter 0.000008, drift 0.000002
 199: jitter 0.000009, drift 0.000001
 200: jitter 0.000005, drift -0.000004
 201: jitter 0.000009, drift 0.000004
 202: jitter 0.000010, drift 0.000001
 203: jitter 0.000011, drift 0.000001
 204: jitter -0.000010, drift -0.000021
 205: jitter -0.000012, drift -0.000002
 206: jitter -0.000024, drift -0.000012
 207: jitter -0.000006, drift 0.000018
 208: jitter -0.000004, drift 0.000002
 209: jitter 0.000003, drift 0.000007
 210: jitter 0.000139, drift 0.000136
 211: jitter 0.000006, drift -0.000133
 212: jitter 0.000006, drift -0.000000
 213: jitter 0.000003, drift -0.000003
 214: jitter 0.000006, drift 0.000003
 215: jitter 0.000202, drift 0.000196
 216: jitter 0.000002, drift -0.000200
 217: jitter 0.000001, drift -0.000001
 218: jitter 0.000001, drift 0.000000
 219: jitter -0.000010, drift -0.000011
 220: jitter -0.000010, drift 0.000000
 221: jitter 0.000003, drift 0.000013
 222: jitter 0.000010, drift 0.000007
 223: jitter 0.000009, drift -0.000001
 224: jitter 0.000007, drift -0.000002
 225: jitter 0.000006, drift -0.000001
 226: jitter 0.000007, drift 0.000001
 227: jitter 0.000006, drift -0.000001
 228: jitter 0.000008, drift 0.000002
 229: jitter 0.000009, drift 0.000001
 230: jitter 0.000007, drift -0.000002
 231: jitter 0.000008, drift 0.000001
 232: jitter 0.000010, drift 0.000002
 233: jitter 0.000010, drift 0.000000
 234: jitter 0.000009, drift -0.000001
 235: jitter 0.000007, drift -0.000002
 236: jitter 0.000008, drift 0.000001
 237: jitter -0.000001, drift -0.000009
 238: jitter -0.000009, drift -0.000008
 239: jitter -0.000008, drift 0.000001
 240: jitter -0.000009, drift -0.000001
 241: jitter 0.000002, drift 0.000011
 242: jitter -0.000007, drift -0.000009
 243: jitter 0.000006, drift 0.000013
 244: jitter 0.000003, drift -0.000003
 245: jitter -0.000003, drift -0.000006
 246: jitter 0.000000, drift 0.000003
 247: jitter 0.000203, drift 0.000203
 248: jitter -0.000004, drift -0.000207
 249: jitter 0.000005, drift 0.000009
 250: jitter -0.000013, drift -0.000018
        Actual: 0.000016
        Expected: <0.000100
[PASS] average jitter
        Actual: 0.000000
        Expected: <0.000100
[PASS] average drift
PASS: dispatch_drift

==================================================
[TEST] Dispatch Group
[PID] 16805
==================================================

        Actual: 4169e0
        Expected: 4169e0
[PASS] dispatch_group_async
        Actual: 4169e0
        Expected: 4169e0
[PASS] dispatch_group_async
sleeping...
sleeping...
sleeping...
        Actual: 0
        Expected: 0
[PASS] dispatch_group_wait
done.
done.
done.
        Actual: 0
        Expected: 0
[PASS] dispatch_group_wait
        Actual: 4169e0
        Expected: 4169e0
[PASS] dispatch_group_async
        Actual: 413510
        Expected: 413510
[PASS] Notification Received
PASS: dispatch_group

==================================================
[TEST] Dispatch Ping Pong
[PID] 16822
==================================================

        Actual: 415690
        Expected: 415690
[PASS] dispatch_queue_create(ping)
        Actual: 415740
        Expected: 415740
[PASS] dispatch_queue_create(pong)
        Actual: 4157f0
        Expected: 4157f0
[PASS] dispatch_group_create
        Actual: 1000000
        Expected: 1000000
[PASS] count
PASS: dispatch_pingpong

==================================================
[TEST] Dispatch Source Read
[PID] 16838
==================================================

        Actual: 490310
        Expected: 490310
[PASS] dispatch_get_main_queue
        Actual: 492d10
        Expected: 492d10
[PASS] DISPATCH_SOURCE_TYPE_READ
bytes available: 2486813
bytes read: 512000
bytes available: 1974813
bytes read: 512000
bytes available: 1462813
bytes read: 512000
bytes available: 950813
bytes read: 512000
bytes available: 438813
bytes read: 438813
        Actual: 0
        Expected: 0
[PASS] EOF
        Actual: 2486813
        Expected: 2486813
[PASS] Bytes read
        Actual: 0       
        Expected: 0     
[PASS] close
PASS: dispatch_read

==================================================
[TEST] Dispatch Reader/Writer Queues
[PID] 16854
==================================================

PASS: dispatch_readsync

==================================================
[TEST] Dispatch Semaphore
[PID] 16870
==================================================

        Actual: 10000
        Expected: 10000
[PASS] count
PASS: dispatch_sema

==================================================
[TEST] Dispatch Source Timer, bit 31
[PID] 16886
==================================================

        Actual: 413170
        Expected: 413170
[PASS] dispatch_get_main_queue
        Actual: 415b60
        Expected: 415b60
[PASS] DISPATCH_SOURCE_TYPE_TIMER
        Actual: 2
        Expected: <4
[PASS] elapsed time < 4s
        Actual: 1
        Expected: <2
[PASS] elapsed time > 2s
PASS: dispatch_timer_bit31

==================================================
[TEST] Dispatch Source Timer, bit 63
[PID] 16902
==================================================

0
PASS: dispatch_timer_bit63

==================================================
[TEST] Dispatch C++
[PID] 16918
==================================================

        Actual: 4128f0
        Expected: 4128f0
[PASS] dispatch_get_main_queue
PASS: dispatch_plusplus
===================
All 19 tests passed
===================
gmake[2]: Leaving directory `/home/jocke/gcd/cb/2011-04-11_11-22-57/libdispatch/trunk/testing'
gmake[1]: Leaving directory `/home/jocke/gcd/cb/2011-04-11_11-22-57/libdispatch/trunk/testing'
gmake[1]: Entering directory `/home/jocke/gcd/cb/2011-04-11_11-22-57/libdispatch/trunk'
gmake[1]: Nothing to be done for `check-am'.
gmake[1]: Leaving directory `/home/jocke/gcd/cb/2011-04-11_11-22-57/libdispatch/trunk'
-bash-3.00$ 




More information about the libdispatch-dev mailing list