Skip to content

membench: Add memory benchmark programs

Summary

membench: Add memory benchmark programs

These memory benchmark programs are not supposed to run (*.norun.exe). Instead, they can be analysed on the host system to measure the memory usage of features. See the membench module of rtems-central, for example:

./membench.py modules/rtems/build/sparc/gr740 \[...\] .. \_BenchmarksBasedOnSpecRtemsValMemBasic:

# Benchmarks Based on: spec:/rtems/val/mem-basic

The following static memory benchmarks are based on the reference memory benchmark specified by :ref:`spec:/rtems/val/mem-basic <MembenchRtemsValMemBasic>`. The numbers of the first row represent the section sizes of the reference memory benchmark program in bytes. The numbers in the following rows indicate the change in bytes of the section sizes with respect to the reference memory benchmark program of the first row. A `+` indicates a size increase and a `-` indicates a size decrease. This hints how the static memory usage changes when the feature set changes with respect to the reference memory benchmark.

.. table:: :class: longtable
`` `

================================================================================= ===== ======= ===== ==== =======
Specification                                                                     .text .rodata .data .bss .noinit ================================================================================= ===== ======= ===== ==== =======
:ref:`/rtems/val/mem-basic <MembenchRtemsValMemBasic>`                            33728 96      560   4080 14048
:ref:`/dev/clock/val/mem-clock <MembenchDevClockValMemClock>`                     +2624 +0      +48   +32  +0
:ref:`/rtems/barrier/val/mem-wait-rel <MembenchRtemsBarrierValMemWaitRel>`        +1424 +0      +64   +0   +48
:ref:`/rtems/barrier/val/mem-wait-rel-del <MembenchRtemsBarrierValMemWaitRelDel>` +1584 +0      +64   +0   +80
:ref:`/rtems/clock/val/mem-get-uptime <MembenchRtemsClockValMemGetUptime>`        +352  +0      +16   +0   +32
:ref:`/rtems/clock/val/mem-set <MembenchRtemsClockValMemSet>`                     +3088 +0      +64   +16  -16
:ref:`/rtems/clock/val/mem-set-get-tod <MembenchRtemsClockValMemSetGetTod>`       +5264 +0      +64   +16  -16
:ref:`/rtems/event/val/mem-snd-rcv <MembenchRtemsEventValMemSndRcv>`              +1248 +0      +16   +0   +32
:ref:`/rtems/fatal/val/mem-fatal <MembenchRtemsFatalValMemFatal>`                 +0    +0      +0    +0   +0
:ref:`/rtems/message/val/mem-bcst-rcv <MembenchRtemsMessageValMemBcstRcv>`        +4624 +0      +64   +0   +112
:ref:`/rtems/message/val/mem-snd-rcv <MembenchRtemsMessageValMemSndRcv>`          +4752 +0      +64   +0   +112
:ref:`/rtems/message/val/mem-snd-rcv-del <MembenchRtemsMessageValMemSndRcvDel>`   +4928 +0      +64   +0   +128
:ref:`/rtems/message/val/mem-ugt-rcv <MembenchRtemsMessageValMemUgtRcv>`          +4720 +0      +64   +0   +80
:ref:`/rtems/part/val/mem-get-ret <MembenchRtemsPartValMemGetRet>`                +752  +0      +64   +0   +80
:ref:`/rtems/part/val/mem-get-ret-del <MembenchRtemsPartValMemGetRetDel>`         +944  +0      +64   +0   +80
:ref:`/rtems/ratemon/val/mem-period <MembenchRtemsRatemonValMemPeriod>`           +1984 +0      +48   +0   +192
:ref:`/rtems/ratemon/val/mem-period-del <MembenchRtemsRatemonValMemPeriodDel>`    +2240 +0      +48   +0   +192
:ref:`/rtems/sem/val/mem-obt-rel <MembenchRtemsSemValMemObtRel>`                  +9008 +0      +48   +0   +80
:ref:`/rtems/sem/val/mem-obt-rel-del <MembenchRtemsSemValMemObtRelDel>`           +9360 +0      +48   +0   +112 
:ref:`/rtems/signal/val/mem-catch-snd <MembenchRtemsSignalValMemCatchSnd>`        +1216 +0      +16   +0   +0
:ref:`/rtems/task/val/mem-delete <MembenchRtemsTaskValMemDelete>`                 +912  +0      +16   +0   -16
:ref:`/rtems/task/val/mem-exit <MembenchRtemsTaskValMemExit>`                     +96   +0      +16   +0   +32
:ref:`/rtems/task/val/mem-get-affinity <MembenchRtemsTaskValMemGetAffinity>`      +400  +0      +0    +0   -16
:ref:`/rtems/task/val/mem-get-priority <MembenchRtemsTaskValMemGetPriority>`      +640  +0      +0    +0   +0
:ref:`/rtems/task/val/mem-get-scheduler <MembenchRtemsTaskValMemGetScheduler>`    +160  +0      +0    +0   +32
:ref:`/rtems/task/val/mem-mode <MembenchRtemsTaskValMemMode>`                     +672  +0      +16   +0   +32
:ref:`/rtems/task/val/mem-restart <MembenchRtemsTaskValMemRestart>`               +1184 +0      +16   +0   +32
:ref:`/rtems/task/val/mem-set-affinity <MembenchRtemsTaskValMemSetAffinity>`      +480  +0      +16   +0   +32
:ref:`/rtems/task/val/mem-set-priority <MembenchRtemsTaskValMemSetPriority>`      +976  +0      +16   +0   -16
:ref:`/rtems/task/val/mem-set-scheduler <MembenchRtemsTaskValMemSetScheduler>`    +1728 +0      +16   +0   +0
:ref:`/rtems/task/val/mem-sus-res <MembenchRtemsTaskValMemSusRes>`                +224  +0      +16   +0   +32
:ref:`/rtems/task/val/mem-wake-after <MembenchRtemsTaskValMemWakeAfter>`          +432  +0      +16   +0   +16
:ref:`/rtems/task/val/mem-wake-when <MembenchRtemsTaskValMemWakeWhen>`            +1056 +0      +16   +0   +32
:ref:`/rtems/timer/val/mem-after <MembenchRtemsTimerValMemAfter>`                 +864  +0      +48   +0   +96
:ref:`/rtems/timer/val/mem-cancel <MembenchRtemsTimerValMemCancel>`               +448  +0      +48   +0   +64
:ref:`/rtems/timer/val/mem-delete <MembenchRtemsTimerValMemDelete>`               +496  +0      +48   +0   +80
:ref:`/rtems/timer/val/mem-reset <MembenchRtemsTimerValMemReset>`                 +736  +0      +48   +0   +96
:ref:`/rtems/timer/val/mem-srv-after <MembenchRtemsTimerValMemSrvAfter>`          +1344 +0      +48   +0   +64
:ref:`/rtems/timer/val/mem-srv-init <MembenchRtemsTimerValMemSrvInit>`            +1520 +0      +64   +32  +80
:ref:`/rtems/timer/val/mem-srv-when <MembenchRtemsTimerValMemSrvWhen>`            +2000 +0      +64   +0   +112
:ref:`/rtems/timer/val/mem-when <MembenchRtemsTimerValMemWhen>`                   +1488 +0      +64   +0   +112
:ref:`/rtems/userext/val/mem-create <MembenchRtemsUserextValMemCreate>`           +208  +0      +64   +0   +112
:ref:`/rtems/userext/val/mem-delete <MembenchRtemsUserextValMemDelete>`           +784  +0      +64   +0   +112 ================================================================================= ===== ======= ===== ==== =======

`` `

\[...\]

Update #3716.

Edited by Chris Johns

Merge request reports