| measure | kernel functions | clock cycles (time) internal | clock cycles (time) external (0 wait states) |
| context switch (new task) | _DSP_K_SWITCH | 180(3uS) programmatic
300(5uS) unravel interrupt 240(4uS) average |
270(4uS) average |
| context switch (same task) | _DSP_K_SWITCH | 35(<1uS) | 40(<1uS) |
| task schedule | DSP_K_TASK_SCHEDULE
priority scheduler |
75(1uS) | 85(1uS) |
| task pend | MONOLITH_TASK_PEND | 25(<1uS) | 30(<1uS) |
| task ready | MONOLITH_TASK_READY | 30(<1uS) | 35(<1uS) |
| semaphore give (non-block) | MONOLITH_SEMA_GIVE | 75(1uS) | 80(1uS) |
| semaphore take (non-block) | MONOLITH_SEMA_TAKE | 60(1uS) | 65(1uS) |
| message send (unblock) | MONOLITH_MSG_SEND | 230(4uS) | 250(4uS) |
| message receive (block) | MONOLITH_MSG_RECEIVE | 140(2uS) | 155(2uS) |
| channel output (blocking) | PROCESS_OUT | 80(1uS) | 90(<2uS) |
| channel input (non-blocking) | PROCESS_IN | 100(<2uS) | 110(<2uS) |
| interrupt latency (into ISR) | fast wrapper | 55(<1uS) | 60(1uS) |
| interrupt exit (ISR to code) | fast wrapper | 20(<1uS) | 25(<1uS) |
| driver open | MONOLITH_DRVR_OPEN | 40(<1uS) | 45(<1uS) |
| driver read | MONOLITH_DRVR_READ | 50(<1uS) | 55(<1uS) |
| driver write | MONOLITH_DRVR_WRITE | 50(<1uS) | 55(<1uS) |
| driver close | MONOLITH_DRVR_CLOSE | 40(<1uS) | 45(<1uS) |
| Tasks | ITCs | Drivers | Pcode | Data |
| 4 | 5 | 1 | 0xc77 | 0xd8 |