Board: PC CPU: 433MHz Celeron Startup, main stack : stack used 124 size 2912 Startup : Interrupt stack used 280 size 4108 Startup : Idlethread stack used 62 size 2048 eCos Kernel Timings Notes: all times are in microseconds (.000001) unless otherwise stated Reading the hardware clock takes 8 'ticks' overhead ... this value will be factored out of all other measurements Clock interrupt took 6.75 microseconds (8 raw clock ticks) Testing parameters: Clock samples: 32 Threads: 64 Thread switches: 128 Mutexes: 32 Mailboxes: 32 Semaphores: 32 Scheduler operations: 128 Counters: 32 Alarms: 32 Confidence Ave Min Max Var Ave Min Function ====== ====== ====== ====== ========== ======== 3.93 1.68 8.38 0.93 68% 3% Create thread 0.71 0.00 3.35 0.84 59% 59% Yield thread [all suspended] 0.65 0.00 5.03 0.84 64% 64% Suspend [suspended] thread 0.63 0.00 1.68 0.79 62% 62% Resume thread 0.76 0.00 1.68 0.83 54% 54% Set priority 0.39 0.00 1.68 0.60 76% 76% Get priority 1.34 0.00 6.70 0.67 73% 25% Kill [suspended] thread 0.68 0.00 1.68 0.81 59% 59% Yield [no other] thread 0.92 0.00 1.68 0.83 54% 45% Resume [suspended low prio] thread 0.63 0.00 1.68 0.79 62% 62% Resume [runnable low prio] thread 0.84 0.00 1.68 0.84 100% 50% Suspend [runnable] thread 0.73 0.00 1.68 0.82 56% 56% Yield [only low prio] thread 0.58 0.00 1.68 0.76 65% 65% Suspend [runnable->not runnable] 1.26 0.00 3.35 0.67 71% 26% Kill [runnable] thread 0.86 0.00 3.35 0.86 98% 50% Destroy [dead] thread 1.44 0.00 1.68 0.40 85% 14% Destroy [runnable] thread 4.45 3.35 6.70 0.89 53% 40% Resume [high priority] thread 1.62 0.00 1.68 0.10 96% 3% Thread switch 0.41 0.00 1.68 0.61 75% 75% Scheduler lock 0.48 0.00 1.68 0.69 71% 71% Scheduler unlock [0 threads] 0.59 0.00 1.68 0.76 64% 64% Scheduler unlock [1 suspended] 0.45 0.00 1.68 0.65 73% 73% Scheduler unlock [many suspended] 0.45 0.00 1.68 0.65 73% 73% Scheduler unlock [many low prio] 0.52 0.00 1.68 0.72 68% 68% Init mutex 0.79 0.00 5.03 0.93 96% 59% Lock [unlocked] mutex 0.84 0.00 5.03 0.94 96% 56% Unlock [locked] mutex 0.63 0.00 1.68 0.79 62% 62% Trylock [unlocked] mutex 0.52 0.00 1.68 0.72 68% 68% Trylock [locked] mutex 0.58 0.00 1.68 0.76 65% 65% Destroy mutex 3.40 3.35 5.03 0.10 96% 96% Unlock/Lock mutex 0.99 0.00 1.68 0.81 59% 40% Create mbox 0.47 0.00 1.68 0.68 71% 71% Peek [empty] mbox 0.79 0.00 5.03 0.93 96% 59% Put [first] mbox 0.42 0.00 1.68 0.63 75% 75% Peek [1 msg] mbox 0.79 0.00 1.68 0.83 53% 53% Put [second] mbox 0.37 0.00 1.68 0.57 78% 78% Peek [2 msgs] mbox 0.73 0.00 3.35 0.87 59% 59% Get [first] mbox 0.73 0.00 1.68 0.82 56% 56% Get [second] mbox 0.79 0.00 3.35 0.88 56% 56% Tryput [first] mbox 0.68 0.00 3.35 0.85 62% 62% Peek item [non-empty] mbox 0.73 0.00 3.35 0.87 59% 59% Tryget [non-empty] mbox 0.63 0.00 1.68 0.79 62% 62% Peek item [empty] mbox 0.68 0.00 1.68 0.81 59% 59% Tryget [empty] mbox 0.26 0.00 1.68 0.44 84% 84% Waiting to get mbox 0.63 0.00 1.68 0.79 62% 62% Waiting to put mbox 0.73 0.00 3.35 0.87 59% 59% Delete mbox 3.25 1.68 3.35 0.20 93% 6% Put/Get mbox 0.63 0.00 1.68 0.79 62% 62% Init semaphore 0.63 0.00 1.68 0.79 62% 62% Post [0] semaphore 0.63 0.00 1.68 0.79 62% 62% Wait [1] semaphore 0.52 0.00 1.68 0.72 68% 68% Trywait [0] semaphore 0.52 0.00 1.68 0.72 68% 68% Trywait [1] semaphore 0.52 0.00 1.68 0.72 68% 68% Peek semaphore 0.21 0.00 1.68 0.37 87% 87% Destroy semaphore 3.30 1.68 3.35 0.10 96% 3% Post/Wait semaphore 0.79 0.00 3.35 0.88 56% 56% Create counter 0.42 0.00 1.68 0.63 75% 75% Get counter value 0.37 0.00 1.68 0.57 78% 78% Set counter value 0.73 0.00 1.68 0.82 56% 56% Tick counter 0.63 0.00 1.68 0.79 62% 62% Delete counter 0.89 0.00 3.35 0.89 96% 50% Create alarm 0.84 0.00 1.68 0.84 100% 50% Initialize alarm 0.52 0.00 1.68 0.72 68% 68% Disable alarm 0.89 0.00 3.35 0.89 96% 50% Enable alarm 0.58 0.00 1.68 0.76 65% 65% Delete alarm 0.63 0.00 1.68 0.79 62% 62% Tick counter [1 alarm] 5.03 3.35 6.70 0.10 93% 3% Tick counter [many alarms] 0.94 0.00 1.68 0.82 56% 43% Tick & fire counter [1 alarm] 11.16 10.06 11.73 0.76 65% 34% Tick & fire counters [>1 together] 5.19 5.03 6.70 0.28 90% 90% Tick & fire counters [>1 separately] 0.01 0.00 1.68 0.03 99% 99% Alarm latency [0 threads] 0.13 0.00 1.68 0.24 92% 92% Alarm latency [2 threads] 0.94 0.00 3.35 0.85 53% 45% Alarm latency [many threads] 1.75 1.68 6.70 0.15 96% 96% Alarm -> thread resume latency 41 0 368 (main stack: 1036) Thread stack used (1712 total) All done, main stack : stack used 1036 size 2912 All done : Interrupt stack used 368 size 4108 All done : Idlethread stack used 288 size 2048 Timing complete - 28520 ms total PASS:<Basic timing OK> EXIT:<done> |