⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 real-time-characterization.sgml

📁 开放源码实时操作系统源码.
💻 SGML
📖 第 1 页 / 共 5 页
字号:
<!-- {{{ Banner                         -->

<!-- =============================================================== -->
<!--                                                                 -->
<!--     config-tool.sgml                                            -->
<!--                                                                 -->
<!--     eCos User Guide                                             -->
<!--                                                                 -->
<!-- =============================================================== -->
<!-- ####COPYRIGHTBEGIN####                                          -->
<!--                                                                 -->
<!-- =============================================================== -->
<!-- Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.  -->
<!-- This material may be distributed only subject to the terms      -->
<!-- and conditions set forth in the Open Publication License, v1.0  -->
<!-- or later (the latest version is presently available at          -->
<!-- http://www.opencontent.org/openpub/)                            -->
<!-- Distribution of the work or derivative of the work in any       -->
<!-- standard (paper) book form is prohibited unless prior           -->
<!-- permission obtained from the copyright holder                   -->
<!-- =============================================================== -->
<!--                                                                 -->      
<!-- ####COPYRIGHTEND####                                            -->
<!-- =============================================================== -->
<!-- #####DESCRIPTIONBEGIN####                                       -->
<!--                                                                 -->
<!-- ####DESCRIPTIONEND####                                          -->
<!-- =============================================================== -->

<!-- }}} -->

<APPENDIX ID="REAL-TIME-CHARACTERIZATION">
<TITLE>Real-time characterization</TITLE>

<PARA>For a discussion of real-time performance measurement for eCos, see the
kernel documentation in the eCos Reference Manual.
</PARA>

<caution>
<para>
As with the target setup descriptions in the previous appendix, this
information will eventually be merged into per-target documents.
</para>
</caution>

<PARA>	Sample numbers:
      </PARA>

<!-- ==================================================== -->

<SECT1 id="rt-arm-aeb1">
<TITLE>Board: ARM AEB-1 Revision B Evaluation Board</TITLE>
<LITERALLAYOUT CLASS="MONOSPACED">

Board: ARM AEB-1 Revision B Evaluation Board

CPU : Sharp LH77790A 24MHz



Startup, main stack             : stack used   404 size  2400
Startup              :  Interrupt stack used   128 size  2048
Startup              : Idlethread stack used    80 size  2048

eCos Kernel Timings
Notes: all times are in microseconds (.000001) unless otherwise stated

Reading the hardware clock takes 13 'ticks' overhead
... this value will be factored out of all other measurements
Clock interrupt took  193.49 microseconds (290 raw clock ticks)

Testing parameters:
   Clock samples:            32
   Threads:                   7
   Thread switches:         128
   Mutexes:                  32
   Mailboxes:                32
   Semaphores:               32
   Scheduler operations:    128
   Counters:                 32
   Alarms:                   32


                                 Confidence
     Ave     Min     Max     Var  Ave  Min  Function
  ======  ======  ======  ====== ========== ========
  110.19  104.67  116.00    3.26   42%  28% Create thread
   34.00   34.00   34.00    0.00  100% 100% Yield thread [all suspended]
   24.67   24.67   24.67    0.00  100% 100% Suspend [suspended] thread
   25.05   24.67   25.33    0.33   57%  42% Resume thread
   37.14   36.67   37.33    0.27   71%  28% Set priority
    3.81    3.33    4.00    0.27   71%  28% Get priority
   80.00   80.00   80.00    0.00  100% 100% Kill [suspended] thread
   33.90   33.33   34.00    0.16   85%  14% Yield [no other] thread
   45.90   44.00   46.67    0.54   57%  14% Resume [suspended low prio] thread
   24.57   24.00   24.67    0.16   85%  14% Resume [runnable low prio] thread
   42.29   36.67   43.33    1.61   85%  14% Suspend [runnable] thread
   33.90   33.33   34.00    0.16   85%  14% Yield [only low prio] thread
   24.67   24.67   24.67    0.00  100% 100% Suspend [runnable-&#62;not runnable]
   80.00   80.00   80.00    0.00  100% 100% Kill [runnable] thread
   43.33   43.33   43.33    0.00  100% 100% Destroy [dead] thread
  106.29  101.33  107.33    1.41   85%  14% Destroy [runnable] thread
  144.95  141.33  166.00    6.01   85%  85% Resume [high priority] thread
   78.31   76.67  254.67    2.75   99%  99% Thread switch

    4.00    4.00    4.00    0.00  100% 100% Scheduler lock
   16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [0 threads]
   16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [1 suspended]
   16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [many suspended]
   16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [many low prio]

   10.67   10.67   10.67    0.00  100% 100% Init mutex
   28.67   28.67   28.67    0.00  100% 100% Lock [unlocked] mutex
   30.44   30.00   31.33    0.33   59%  37% Unlock [locked] mutex
   25.42   25.33   26.00    0.15   87%  87% Trylock [unlocked] mutex
   22.50   22.00   22.67    0.25   75%  25% Trylock [locked] mutex
    5.75    5.33    6.00    0.31   62%  37% Destroy mutex
  185.33  185.33  185.33    0.00  100% 100% Unlock/Lock mutex

   20.17   20.00   20.67    0.25   75%  75% Create mbox
    2.92    2.67    3.33    0.31   62%  62% Peek [empty] mbox
   32.42   32.00   32.67    0.31   62%  37% Put [first] mbox
    3.00    2.67    3.33    0.33  100%  50% Peek [1 msg] mbox
   32.50   32.00   32.67    0.25   75%  25% Put [second] mbox
    2.92    2.67    3.33    0.31   62%  62% Peek [2 msgs] mbox
   32.83   32.67   33.33    0.25   75%  75% Get [first] mbox
   32.67   32.67   32.67    0.00  100% 100% Get [second] mbox
   31.33   31.33   31.33    0.00  100% 100% Tryput [first] mbox
   27.58   27.33   28.00    0.31   62%  62% Peek item [non-empty] mbox
   32.83   32.67   33.33    0.25   75%  75% Tryget [non-empty] mbox
   26.50   26.00   26.67    0.25   75%  25% Peek item [empty] mbox
   28.00   28.00   28.00    0.00  100% 100% Tryget [empty] mbox
    3.25    2.67    3.33    0.15   87%  12% Waiting to get mbox
    3.25    2.67    3.33    0.15   87%  12% Waiting to put mbox
   30.83   30.67   31.33    0.25   75%  75% Delete mbox
  101.08  100.67  101.33    0.31   62%  37% Put/Get mbox

   11.17   10.67   11.33    0.25   75%  25% Init semaphore
   24.17   24.00   24.67    0.25   75%  75% Post [0] semaphore
   27.08   26.67   27.33    0.31   62%  37% Wait [1] semaphore
   22.75   22.67   23.33    0.15   87%  87% Trywait [0] semaphore
   22.21   22.00   22.67    0.29   68%  68% Trywait [1] semaphore
    7.33    7.33    7.33    0.00  100% 100% Peek semaphore
    5.92    5.33    6.00    0.15   87%  12% Destroy semaphore
  110.04  110.00  110.67    0.08   93%  93% Post/Wait semaphore

    9.54    9.33   10.00    0.29   68%  68% Create counter
    3.92    3.33    4.00    0.15   87%  12% Get counter value
    4.00    4.00    4.00    0.00  100% 100% Set counter value
   30.92   30.67   31.33    0.31   62%  62% Tick counter
    5.75    5.33    6.00    0.31   62%  37% Delete counter

   13.83   13.33   14.00    0.25   75%  25% Create alarm
   46.67   46.67   46.67    0.00  100% 100% Initialize alarm
    3.67    3.33    4.00    0.33  100%  50% Disable alarm
   45.67   45.33   46.00    0.33  100%  50% Enable alarm
    8.33    8.00    8.67    0.33  100%  50% Delete alarm
   36.33   36.00   36.67    0.33  100%  50% Tick counter [1 alarm]
  214.67  214.67  214.67    0.00  100% 100% Tick counter [many alarms]
   62.67   62.67   62.67    0.00  100% 100% Tick &#38; fire counter [1 alarm]
 1087.04 1075.33 1278.67   21.91   93%  93% Tick &#38; fire counters [&#62;1 together]
  246.35  240.67  412.00   10.35   96%  96% Tick &#38; fire counters [&#62;1 separately]
  168.01  167.33  237.33    1.08   99%  99% Alarm latency [0 threads]
  187.36  168.00  234.67    3.60   86%   1% Alarm latency [2 threads]
  187.37  167.33  235.33    3.59   85%   1% Alarm latency [many threads]
  303.12  280.00  508.67    3.21   98%   0% Alarm -&#62; thread resume latency

   36.65   36.00   38.67    0.00            Clock/interrupt latency

   65.79   52.00  152.67    0.00            Clock DSR latency

  316     316     316  (main stack:   752)  Thread stack used (1120 total)
All done, main stack            : stack used   752 size  2400
All done             :  Interrupt stack used   280 size  2048
All done             : Idlethread stack used   268 size  2048

Timing complete - 30390 ms total

PASS:&lt;Basic timing OK&#62;
EXIT:&lt;done&#62;

	</LITERALLAYOUT>
</SECT1>

<!-- ==================================================== -->

<SECT1 id="rt-at91-eb40">
<TITLE>Board: Atmel AT91/EB40</TITLE>
<LITERALLAYOUT CLASS="MONOSPACED">
Board: Atmel AT91/EB40
CPU : AT91R40807 (ARM7TDMI core), 32MHz
512KB RAM, 64K Flash

Startup, main stack             : stack used   420 size  2400
Startup              :  Interrupt stack used   144 size  4096
Startup              : Idlethread stack used    84 size  2048

eCos Kernel Timings
Notes: all times are in microseconds (.000001) unless otherwise stated

Reading the hardware clock takes 3 'ticks' overhead
... this value will be factored out of all other measurements
Clock interrupt took  127.53 microseconds (130 raw clock ticks)

Testing parameters:
   Clock samples:            32
   Threads:                  25
   Thread switches:         128
   Mutexes:                  32
   Mailboxes:                32
   Semaphores:               32
   Scheduler operations:    128
   Counters:                 32
   Alarms:                   32


                                 Confidence
     Ave     Min     Max     Var  Ave  Min  Function
  ======  ======  ======  ====== ========== ========
   86.48   71.29  101.56    7.99   48%  28% Create thread
   20.70   20.51   21.48    0.31   80%  80% Yield thread [all suspended]
   17.15   16.60   17.58    0.48   56%  44% Suspend [suspended] thread
   17.07   16.60   17.58    0.49   52%  52% Resume thread
   25.51   25.39   26.37    0.21   88%  88% Set priority
    3.16    2.93    3.91    0.36   76%  76% Get priority
   52.34   51.76   52.73    0.47   60%  40% Kill [suspended] thread
   20.70   20.51   21.48    0.31   80%  80% Yield [no other] thread
   28.98   28.32   30.27    0.48   60%  36% Resume [suspended low prio] thread
   17.11   16.60   17.58    0.49   52%  48% Resume [runnable low prio] thread
   27.85   26.37   28.32    0.52   96%   4% Suspend [runnable] thread
   20.70   20.51   21.48    0.31   80%  80% Yield [only low prio] thread
   17.23   16.60   17.58    0.45   64%  36% Suspend [runnable-&#62;not runnable]
   52.34   51.76   52.73    0.47   60%  40% Kill [runnable] thread
   33.01   32.23   33.20    0.31   80%  20% Destroy [dead] thread
   72.03   70.31   72.27    0.38   80%   4% Destroy [runnable] thread
   96.99   95.70  112.30    1.22   64%  96% Resume [high priority] thread
   51.48   49.80  164.06    1.76   99%  99% Thread switch

    2.78    1.95    2.93    0.26   84%  15% Scheduler lock
   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [0 threads]
   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [1 suspended]
   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [many suspended]
   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [many low prio]

    5.49    4.88    5.86    0.46   62%  37% Init mutex
   20.20   19.53   20.51    0.42   68%  31% Lock [unlocked] mutex
   24.44   24.41   25.39    0.06   96%  96% Unlock [locked] mutex
   18.25   17.58   18.55    0.42   68%  31% Trylock [unlocked] mutex
   16.11   15.63   16.60    0.49  100%  50% Trylock [locked] mutex
    6.10    5.86    6.84    0.37   75%  75% Destroy mutex
  124.21  124.02  125.00    0.30   81%  81% Unlock/Lock mutex

    9.28    8.79    9.77    0.49  100%  50% Create mbox
    2.93    2.93    2.93    0.00  100% 100% Peek [empty] mbox
   22.58   22.46   23.44    0.21   87%  87% Put [first] mbox
    2.44    1.95    2.93    0.49  100%  50% Peek [1 msg] mbox
   22.58   22.46   23.44    0.21   87%  87% Put [second] mbox
    2.44    1.95    2.93    0.49  100%  50% Peek [2 msgs] mbox
   22.71   22.46   23.44    0.37   75%  75% Get [first] mbox
   22.71   22.46   23.44    0.37   75%  75% Get [second] mbox
   21.18   20.51   21.48    0.42   68%  31% Tryput [first] mbox
   18.98   18.55   19.53    0.48   56%  56% Peek item [non-empty] mbox
   22.46   22.46   22.46    0.00  100% 100% Tryget [non-empty] mbox

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -