| <---Timing in Cycles周期 ---> |
|
<-Timing in MicroSeconds时间-> |
| vdsp5.0 |
vdsp4.5 |
vdsp3.5 |
|
vdsp5.0 |
vdsp4.5 |
vdsp3.5 |
|
| Update 6 |
Base |
|
|
Update 6 |
Base |
|
|
| BF533 |
BF535 |
2191 |
|
BF533 |
BF535 |
2191 |
API CALL API函数 |
| 600 mhz |
350 mhz |
160 mhz |
|
600 mhz |
350 mhz |
160 mhz |
|
| emu |
emu-warm |
emu |
|
emu |
emu-warm |
emu |
|
| 73 |
Not Applicable |
Not Applicable |
|
0.12 |
Not Applicable |
Not Applicable |
AcquireMutex <no current owner> |
| 74 |
Not Applicable |
Not Applicable |
|
0.12 |
Not Applicable |
Not Applicable |
AcquireMutex <nested Acquire> |
| 252 |
Not Applicable |
Not Applicable |
|
0.42 |
Not Applicable |
Not Applicable |
AcquireMutex <mutex unavailable, context switch> |
| 97 |
107 |
82 |
|
0.16 |
0.31 |
0.51 |
AllocateThreadSlot |
| 96 |
109 |
88 |
|
0.16 |
0.31 |
0.55 |
AllocateThreadSlotEx |
| 390 |
459 |
261 |
|
0.65 |
1.31 |
1.63 |
ClearEventBit <no context switch, bit changes> |
| 138 |
183 |
97 |
|
0.23 |
0.52 |
0.61 |
ClearEventBit <no context switch, bit same> |
| 657 |
872 |
686 |
|
1.10 |
2.49 |
4.29 |
ClearEventBit <with context switch > |
| 52 |
98 |
45 |
|
0.09 |
0.28 |
0.28 |
ClearInterruptMaskBits |
| Not Applicable |
Not Applicable |
Not Applicable |
|
Not Applicable |
Not Applicable |
Not Applicable |
ClearInterruptMaskBitsEx |
| 17 |
25 |
16 |
|
0.03 |
0.07 |
0.10 |
ClearThreadError |
| Device dept. |
Device dept. |
Device dept. |
|
Device dept. |
Device dept. |
Device dept. |
CloseDevice |
| 515 |
615 |
332 |
|
0.86 |
1.76 |
2.08 |
CreateDeviceFlag |
| 173 |
253 |
169 |
|
0.29 |
0.72 |
1.06 |
CreateMessage |
| 448 |
Not Applicable |
Not Applicable |
|
0.75 |
Not Applicable |
Not Applicable |
CreateMutex |
| 1777 |
1839 |
1193 |
|
2.96 |
5.25 |
7.46 |
CreatePool <allocate memory now> |
| 1275 |
1149 |
709 |
|
2.13 |
3.28 |
4.43 |
CreatePool <allocate memory later> |
| 1746 |
1809 |
Not Applicable |
|
2.91 |
5.17 |
Not Applicable |
CreatePoolEx <allocate memory now> |
| 1264 |
1127 |
Not Applicable |
|
2.11 |
3.22 |
Not Applicable |
CreatePoolEx <allocate memory later> |
| 651 |
815 |
408 |
|
1.09 |
2.33 |
2.55 |
CreateSemaphore |
| 1779 |
2141 |
1626 |
|
2.97 |
6.12 |
10.16 |
CreateThread <lower priority> |
| 1836 |
2287 |
1906 |
|
3.06 |
6.53 |
11.91 |
CreateThread <higher priority - context switch> |
| 1778 |
2150 |
1508 |
|
2.96 |
6.14 |
9.43 |
CreateThread <same priority - no context switch> |
| 2949 |
3459 |
2673 |
|
4.92 |
9.88 |
16.71 |
CreateThreadEx <equal or lower priority> |
| 3018 |
3604 |
3267 |
|
5.03 |
10.30 |
20.42 |
CreateThreadEx <higher priority - context switch> |
| 394 |
495 |
232 |
|
0.66 |
1.41 |
1.45 |
DestroyDeviceFlag |
| 159 |
233 |
197 |
|
0.27 |
0.67 |
1.23 |
DestroyMessage |
| 168 |
260 |
445 |
|
0.28 |
0.74 |
2.78 |
DestroyMessageAndFreePayload |
| 387 |
Not Applicable |
Not Applicable |
|
0.65 |
|
|
DestroyMutex |
| 658 |
771 |
394 |
|
1.10 |
2.20 |
2.46 |
DestroyPool |
| 389 |
460 |
174 |
|
0.65 |
1.31 |
1.09 |
DestroySemaphore |
| 1285 |
1435 |
1240 |
|
2.14 |
4.10 |
7.75 |
DestroyThread <kReady> <delete space now> |
| 208 |
250 |
281 |
|
0.35 |
0.71 |
1.76 |
DestroyThread <kReady> < delete space later> |
| 199 |
283 |
272 |
|
0.33 |
0.81 |
1.70 |
DestroyThread <kSleeping> |
| 173 |
220 |
236 |
|
0.29 |
0.63 |
1.48 |
DestroyThread <kSemaphoreBlocked> |
| 215 |
305 |
295 |
|
0.36 |
0.87 |
1.84 |
DestroyThread <kSemaphoreBlockedWithTimeout> |
| Device dept. |
Device dept. |
Device dept. |
|
Device dept. |
Device dept. |
Device dept. |
DeviceIOCtl |
| 69 |
110 |
52 |
|
0.12 |
0.31 |
0.33 |
DispatchThreadError (with context switch) |
| 334 |
422 |
334 |
|
0.56 |
1.21 |
2.09 |
ForwardMessage |
| 135 |
241 |
162 |
|
0.23 |
0.69 |
1.01 |
FreeBlock |
| 323 |
391 |
141 |
|
0.54 |
1.12 |
0.88 |
Free (from C library, for comparison) |
| 1306 |
1450 |
1076 |
|
2.18 |
4.14 |
6.73 |
FreeDestroyedThreads (one thread) |
| 29 |
55 |
276 |
|
0.05 |
0.16 |
1.73 |
FreeMessagePayload |
| 79 |
101 |
55 |
|
0.13 |
0.29 |
0.34 |
FreeThreadSlot |
| 292 |
13 |
14 |
|
0.49 |
0.04 |
0.09 |
GetClockFrequency |
| 21 |
11 |
16 |
|
0.04 |
0.03 |
0.10 |
GetEventBitValue |
| 35 |
57 |
66 |
|
0.06 |
0.16 |
0.41 |
GetEventData |
| 23 |
13 |
16 |
|
0.04 |
0.04 |
0.10 |
GetEventValue |
| 19 |
16 |
Not Applicable |
|
0.03 |
0.05 |
Not Applicable |
GetHeapIndex |
| 59 |
83 |
12 |
|
0.10 |
0.24 |
0.08 |
GetInterruptMask |
| Not Applicable |
Not Applicable |
Not Applicable |
|
Not Applicable |
Not Applicable |
Not Applicable |
GetInterruptMaskEx |
| 17 |
18 |
12 |
|
0.03 |
0.05 |
0.08 |
GetLastThreadError |
| 17 |
18 |
63 |
|
0.03 |
0.05 |
0.39 |
GetLastThreadErrorValue |
| 43 |
63 |
33 |
|
0.07 |
0.18 |
0.21 |
GetMessageDetails |
| 29 |
39 |
32 |
|
0.05 |
0.11 |
0.20 |
GetMessagePayload |
| 27 |
33 |
46 |
|
0.05 |
0.09 |
0.29 |
GetMessageReceiveInfo |
| 46 |
66 |
44 |
|
0.08 |
0.19 |
0.28 |
GetNumAllocatedBlocks |
| 45 |
66 |
40 |
|
0.08 |
0.19 |
0.25 |
GetNumFreeBlocks |
| 38 |
74 |
44 |
|
0.06 |
0.21 |
0.28 |
GetPriority |
| 48 |
80 |
11 |
|
0.08 |
0.23 |
0.07 |
GetSemaphoreValue |
| 14 |
14 |
13 |
|
0.02 |
0.04 |
0.08 |
GetThreadHandle |
| 27 |
25 |
49 |
|
0.05 |
0.07 |
0.31 |
GetThreadID |
| 67 |
59 |
3875 |
|
0.11 |
0.17 |
24.22 |
GetThreadSlotValue |
| 1346 |
3226 |
40 |
|
2.24 |
9.22 |
0.25 |
GetThreadStackUsage |
| Not Applicable |
Not Applicable |
Not Applicable |
|
Not Applicable |
Not Applicable |
Not Applicable |
GetThreadStack2Usage |
| 39 |
75 |
40 |
|
0.07 |
0.21 |
0.25 |
GetThreadStatus |
| 15 |
13 |
10 |
|
0.03 |
0.04 |
0.06 |
GetTickPeriod |
| 15 |
24 |
11 |
|
0.03 |
0.07 |
0.07 |
GetUptime |
| 30 |
33 |
42 |
|
0.05 |
0.09 |
0.26 |
GetVersion |
| Not Applicable |
Not Applicable |
12 |
|
Not Applicable |
Not Applicable |
0.08 |
InstallMessageControlSemaphore |
| 371 |
4982 |
2099 |
|
0.62 |
14.23 |
13.12 |
InstrumentStack |
| 297 |
426 |
309 |
|
0.50 |
1.22 |
1.93 |
Load Event |
| 197 |
306 |
261 |
|
0.33 |
0.87 |
1.63 |
LocateAndFreeBlock |
| 16 |
12 |
15 |
|
0.03 |
0.03 |
0.09 |
LogHistoryEvent |
| 117 |
174 |
117 |
|
0.20 |
0.50 |
0.73 |
MakePeriodic <no other periodic> |
| 86 |
147 |
103 |
|
0.14 |
0.42 |
0.64 |
MallocBlock |
| 396 |
456 |
225 |
|
0.66 |
1.30 |
1.41 |
Malloc (from C library, for comparison) |
| 35 |
18 |
27 |
|
0.06 |
0.05 |
0.17 |
MessageAvailable |
| Device dept. |
Device dept. |
Device dept. |
|
Device dept. |
Device dept. |
Device dept. |
OpenDevice |
| Device dept. |
Device dept. |
Device dept. |
|
Device dept. |
Device dept. |
Device dept. |
PendDeviceFlag |
| 72 |
97 |
47 |
|
0.12 |
0.28 |
0.29 |
PendEvent <no context switch> |
| 210 |
292 |
350 |
|
0.35 |
0.83 |
2.19 |
PendEvent <with context switch> |
| 170 |
194 |
169 |
|
0.28 |
0.55 |
1.06 |
PendMessage <no context switch> |
| 277 |
406 |
411 |
|
0.46 |
1.16 |
2.57 |
PendMessage <with context switch> |
| 79 |
118 |
56 |
|
0.13 |
0.34 |
0.35 |
PendSemaphore <available> |
| 261 |
399 |
405 |
|
0.44 |
1.14 |
2.53 |
PendSemaphore <not available/no timeout> |
| 310 |
477 |
434 |
|
0.52 |
1.36 |
2.71 |
PendSemaphore <not available, with timeout, no threads> |
| 137 |
219 |
90 |
|
0.23 |
0.63 |
0.56 |
PopCriticalRegion <no reschedule> |
| 121 |
173 |
97 |
|
0.20 |
0.49 |
0.61 |
PopNestedCriticalRegions <no reschedule> |
| 114 |
166 |
86 |
|
0.19 |
0.47 |
0.54 |
PopNestedUnscheduledRegions <no reschedule> |
| 114 |
176 |
81 |
|
0.19 |
0.50 |
0.51 |
PopUnscheduledRegion <no reschedule> |
| Device dept. |
Device dept. |
Device dept. |
|
Device dept. |
Device dept. |
Device dept. |
PostDeviceFlag |
| 471 |
606 |
612 |
|
0.79 |
1.73 |
3.83 |
PostMessage <with context switch> |
| 313 |
384 |
314 |
|
0.52 |
1.10 |
1.96 |
PostMessage <no context switch> |
| 90 |
130 |
80 |
|
0.15 |
0.37 |
0.50 |
PostSemaphore <no thread pending> |
| 176 |
222 |
193 |
|
0.29 |
0.63 |
1.21 |
PostSemaphore <low priority thread pending> |
| 227 |
312 |
372 |
|
0.38 |
0.89 |
2.33 |
PostSemaphore <high priority thread pending> |
| 57 |
111 |
22 |
|
0.10 |
0.32 |
0.14 |
PushCriticalRegion |
| 34 |
39 |
11 |
|
0.06 |
0.11 |
0.07 |
PushUnscheduledRegion |
| 66 |
Not Applicable |
Not Applicable |
|
0.11 |
Not Applicable |
Not Applicable |
ReleaseMutex <nested Release> |
| 85 |
Not Applicable |
Not Applicable |
|
0.14 |
Not Applicable |
Not Applicable |
ReleaseMutex <no new owner> |
| 215 |
Not Applicable |
Not Applicable |
|
0.36 |
Not Applicable |
Not Applicable |
ReleaseMutex <owner change, context switch> |
| 89 |
130 |
98 |
|
0.15 |
0.37 |
0.61 |
RemovePeriodic <one periodic> |
| 192 |
281 |
154 |
|
0.32 |
0.80 |
0.96 |
ResetPriority <no context switch> |
| 421 |
596 |
473 |
|
0.70 |
1.70 |
2.96 |
ResetPriority <with context switch> |
| 358 |
500 |
1383 |
|
0.60 |
1.43 |
8.64 |
SetClockFrequency |
| 135 |
183 |
97 |
|
0.23 |
0.52 |
0.61 |
SetEventBit <no context switch> |
| 657 |
895 |
684 |
|
1.10 |
2.56 |
4.28 |
SetEventBit <with context switch> |
| 51 |
104 |
41 |
|
0.09 |
0.30 |
0.26 |
SetInterruptMaskBits |
| Not Applicable |
Not Applicable |
Not Applicable |
|
Not Applicable |
Not Applicable |
Not Applicable |
SetInterruptMaskBitsEx |
| 21 |
35 |
25 |
|
0.04 |
0.10 |
0.16 |
SetMessagePayload |
| 275 |
426 |
256 |
|
0.46 |
1.22 |
1.60 |
SetPriority <no context switch> |
| 302 |
476 |
434 |
|
0.50 |
1.36 |
2.71 |
SetPriority <with context switch> |
| 21 |
28 |
20 |
|
0.04 |
0.08 |
0.13 |
SetThreadError |
| 71 |
98 |
58 |
|
0.12 |
0.28 |
0.36 |
SetThreadSlotValue |
| 301 |
509 |
1397 |
|
0.50 |
1.45 |
8.73 |
SetTickPeriod |
| 240 |
371 |
372 |
|
0.40 |
1.06 |
2.33 |
Sleep <causing context switch> |
| Device dept. |
Device dept. |
Device dept. |
|
Device dept. |
Device dept. |
Device dept. |
SyncRead |
| Device dept. |
Device dept. |
Device dept. |
|
Device dept. |
Device dept. |
Device dept. |
SyncWrite |
| 94 |
97 |
85 |
|
0.16 |
0.28 |
0.53 |
Yield <no threads present> |
| 212 |
276 |
295 |
|
0.35 |
0.79 |
1.84 |
Yield <threads present> |
| 254 |
351 |
283 |
|
0.42 |
1.00 |
1.77 |
Yield <first entry to new thread> |