Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018 
<== Date ==> <== Thread ==>

Subject: Re: EPICS performance test/benchmark
From: Andrew Johnson <anj@aps.anl.gov>
To: "EPICS tech-talk" <tech-talk@aps.anl.gov>
Date: Fri, 5 Apr 2013 17:58:34 -0500
Hi Jiro,

On 2013-04-05 you wrote:
> I too am interested in EPICS performance test/benchmark.  I have downloaded
> the soft-test regression test suite, but could you please explain how to
> use it and how to interpret the result?

You build it like any other EPICS support module by editing the 
configure/RELEASE file to set EPICS_BASE and then running make.  Once it has 
built you can manually run any of the tests, which can be found in the various 
*App directories.  Each of them has a README file and maybe some other files 
containing notes or old results.  The performApp/README file contains these 
instructions:

> This is a record processing performance test
>
> 1. Boot the IOC
>
>   on vxWorks boot with CMDLINE set to st.cmd
>   on RTEMS boot with CMDLINE set to perform.main
>   on others run ../../bin/<arch>/perform perform.main
>
> 2. Run the timing test
>
>   on vxWorks execute
>      sp timeproc,"mrkfanout",1000
>
>   on others execute
>      timeproc,"mrkfanout",1000
>
> See the file TIMING for comparison data.

It should tell you to cd into the iocBoot/iocperform directory first, which is 
where the startup scripts referred to above are found, but that instruction 
seems to have been omitted.  The test measures how quickly the IOC can process 
a chain of 103 calc and ai records which are all forward-linked together using 
database links.  It measures that 1000 times, and reports the total and 
average time for the processing chain (it says recordsPerSecond, but that's 
actually wrong, it is timing the whole chain).

The performApp/TIMING file contains some past results on various kinds of CPU 
and OS.  It's interesting to note that an MVME167 board could run the chain at 
189 Hz under EPICS 3.12.2, but it was down to 140 Hz by EPICS 3.14.9.

The dbcaPerformApp is less interesting, it measures how long the IOC takes to 
modify record link fields at run-time.  I'd have to read the code directly to 
understand the details though.

Jeff Hill builds a CA timing test program within Base.  See
  http://www.aps.anl.gov/epics/base/R3-14/12-docs/CAref.html#catime
for a few details.

HTH,

- Andrew
-- 
It is difficult to get a man to understand something, when his salary
depends upon his not understanding it. -- Upton Sinclair

Navigate by Date:
Prev: Re: EPICS performance test/benchmark Jiro Fujita
Next: RE: asynAddress, asynPortDriver maxAddr, and addr in setXXXParam Mark Rivers
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018 
Navigate by Thread:
Prev: Re: EPICS performance test/benchmark Jiro Fujita
Next: asynAddress, asynPortDriver maxAddr, and addr in setXXXParam Emmanuel Mayssat
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  <20132014  2015  2016  2017  2018 
ANJ, 20 Apr 2015 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·