[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