VXW 68 Benchmark Datasheet mv3100 Sfdiab Up
VXW 68 Benchmark Datasheet mv3100 Sfdiab Up
VXW 68 Benchmark Datasheet mv3100 Sfdiab Up
VxWorks 6.8
833 MHz Motorola MVME3100
The benchmark results presented in this datasheet The Maximal Performance Profile is a build of the
consist of interrupt and task response times, context VxWorks runtime source, intended to approximate
switch times, and various kernel and user-mode routine deployed kernel-mode-only VxWorks systems. This
timings. profile builds the kernel without support for the
following:
VxWorks 6, like VxWorks 5 before it, fully meets the • Real-Time Processes (RTP)
needs of devices requiring hard real-time performance. • System-Viewer Instrumentation
Of course, new features in VxWorks 6, such as MMU- • Kernel object ID validation checks
based memory protection, have necessitated low-level • Kernel object ownership information
changes to the RTOS. The performance of the • Kernel object class lists
individual OS routines listed in this datasheet may have
been affected, but may not in general be relevant to
application steady-state performance.
VxWorks 6.8 Benchmark Datasheet: mv3100 Confidential and Proprietary © 2010 Wind River Systems, Inc.
Kernel Mode Timings
page 2
Default Build Maximal Performance
μs μs
Key Measurements
Interrupt response 0.47 0.50
Task response 1.88 1.59
Semaphores
semCreate
Binary 2.72 2.18
Counting 2.90 2.17
Mutual Exclusion 2.89 2.17
semDelete
Binary 2.35 1.69
Counting 2.51 1.69
Mutual Exclusion 2.52 1.68
semGive
Tasks in queue
Binary 0.43 0.39
Binary inline 0.34 0.32
Counting 0.44 0.39
Mutual Exclusion 0.55 0.50
Mutual Exclusion inline 0.46 0.44
No tasks in queue
Binary 0.16 0.14
Binary inline 0.06 0.06
Counting 0.17 0.14
Mutual Exclusion 0.23 0.20
Mutual Exclusion inline 0.10 0.10
semTake
Semaphore available
Binary 0.17 0.13
Binary inline 0.05 0.06
Counting 0.17 0.14
Mutual Exclusion 0.19 0.16
Mutual Exclusion inline 0.08 0.08
Semaphore unavailable
Binary 0.21 0.18
Binary inline 0.09 0.09
Counting 0.21 0.18
Mutual Exclusion 0.18 0.14
Mutual Exclusion inline 0.09 0.09
Reader-Writer semaphore operations page 2
Tasks
taskInit 10.68 9.15
taskActivate 0.29 0.32
taskLock 0.04 0.01
taskUnlock 0.05 0.05
taskResume
Ready task 0.24 0.24
Pended task 0.24 0.23
Suspended task 0.32 0.31
Delayed task 0.24 0.24
taskSuspend
Ready task 0.30 0.29
Pended task 0.21 0.20
Suspended task 0.21 0.20
Delayed task 0.21 0.21
taskPrioritySet
Ready task 0.49 0.48
Pended task 0.33 0.31
taskSpawn 13.06 12.00
taskDelete 11.23 9.16
Message Queues
msgQReceive
Message available 0.47 0.44
Message unavailable 0.35 0.33
msgQSend
No tasks pending 0.61 0.57
Tasks pending 0.88 0.82
Queue full 0.38 0.36
msgQCreate 3.96 3.18
msgQDelete 2.52 1.64
page 3
Watchdogs
wdCreate 2.07 1.37
wdDelete
Timer started 2.21 1.62
Timer not started 2.13 1.55
wdStart
No timer in queue 0.43 0.37
Timer in queue 0.51 0.46
wdCancel 0.32 0.26
page 4
Context Switches
Within an RTP
Task blocked on unavailable event 3.09
Task unblocked by incoming event 2.94
Task blocked by unavailable message 3.30
Task unblocked by incoming message 3.95
Task blocked by unavailable semaphore 3.28
Task unblocked by available semaphore 3.13
RTP-to-RTP
Task blocked on unavailable event 3.40
Task unblocked by incoming event 2.53
Task blocked by unavailable message 3.06
Task unblocked by incoming message 4.17
Task blocked by unavailable semaphore 3.34
Task unblocked by available semaphore 3.00
Semaphores
semCreate
Binary 6.37
Counting 6.37
Mutual Exclusion 6.83
semDelete
Binary 7.91
Counting 7.88
Mutual Exclusion 8.15
semGive
Tasks in queue
Binary 1.97
Counting 1.89
Mutual Exclusion 3.95
No tasks in queue
Binary 1.21
Counting 1.22
Mutual Exclusion 0.39
semTake
Semaphore available
Binary 1.33
Counting 1.31
Mutual Exclusion 0.37
Semaphore unavailable
Binary 1.37
Counting 1.38
Mutual Exclusion 0.35
page 5
Events
Send self 0.82
Receive available 1.05
Receive unavailable 1.48
Task send wanted 1.46
Task send unwanted 1.11
Message Queues
msgQCreate 5.64
msgQDelete 5.26
msgQReceive
Message available 1.66
Message unavailable 1.91
msgQSend
No tasks pending 1.81
Task pending 2.05
Queue full 1.92
page 6
Events
Send self
Task to send event to self
Receive available
Receive event that is already available (does not
block)
Receive unavailable
Receive unavailable event with no wait (does not
block)
Task send wanted
Send an event wanted by another lower-priority
task
Task send unwanted
Send an event that no task is currently waiting for
page 7
VxWorks 6.8 Benchmark Datasheet: mv3100 Confidential and Proprietary © 2010 Wind River Systems, Inc.