[Date Prev][Date Next][Date Index]

Re: ezcaIDL vs CaIDL






> > I found out that in general that the caget in ezcaIDL is
> > 3 times slower than CaIDL.
> > In case 1 a caget is repeated 100 times on an AI record, in case 2 a 
> > caget is repeated 100 times on a waveform record with float type with 4000 
> > elements ...
> >                   CaIDL             ezcaIDL
> > 
> > Case 1             1 sec             4 sec
> > Case 2             3 sec             9 sec
> 
> This is simply incorrect.  These results were the result of using the ezca
> default timeout of .05 seconds.  The correct comparison is with a very short
> timeout in ezca.  In this case the following results are obtained on a 
> Sparc LX.
>                    CaIDL              ezcaIDL
>  
> 
> Case 1             0.72 sec            0.83 sec
> Case 2             3.05 sec            3.16 sec
> 
> Thus, ezcaIDL is at worst 10% slower than CaIDL.
> 

The actual time out I used in yesturday study for CaIDL, and ezcaIDL both
are 0.001 sec.   And the time I reported is the 'REALTIME'  used.

Since Mark reported different time, therefore I did exactly the same
calculation as Mark did again today.  

The time used on my Sparc 20 are listed below, I use the same 1.e-6 timeout
in both cases.

                    CaIDL                     ezcaIDL
  
 
 Case 1             0.41999996 sec            2.161000 sec
 Case 2             2.6480000 sec             4.217000 sec


The actual run for CaIDL and ezcaIDL are atached below, I just can not
believe why the version of ezcaIDL on our system is much slower then what 
Marks's Sparc LX. 


RUN FROM CAIDL
==============
kao 186: idl
IDL. Version 4.0.1 (sunos sparc).
Copyright 1989-1995, Research Systems, Inc.
All rights reserved.  Unauthorized reproduction prohibited.
Installation number: 2421-1.
Licensed for use by: Advanced Photon Source

Compiling CaWave ... 
Compiling CaWidgets ... 
CaWave Version 3.1(Lca2.2) (EPICS Version 3.12.1.3)
IDL> capendevent,time=1.e-6
IDL>     t1 = systime(1)
IDL>     for i=1, 100 do s = caget('chademoai1')
    t2 = systime(1)
    print, 'Elapsed time for caget on AI: ', t2-t1
    t1 = systime(1)
    for i=1, 100 do s = caget('chademowfmax7')
    t2 = systime(1)
    print, 'Elapsed time for caget on 4000 element waveform: ', t2-t1
IDL>     t2 = systime(1)
IDL>     print, 'Elapsed time for caget on AI: ', t2-t1
Elapsed time for caget on AI:       0.41999996				           <=======
IDL>     t1 = systime(1)
IDL>     for i=1, 100 do s = caget('chademowfmax7')
IDL>     t2 = systime(1)
IDL>     print, 'Elapsed time for caget on 4000 element waveform: ', t2-t1
Elapsed time for caget on 4000 element waveform:        2.6480000                  <=======
IDL> 




RUN FROM EZCAIDL
================
kao 205: idl
IDL. Version 4.0.1 (sunos sparc).
Copyright 1989-1995, Research Systems, Inc.
All rights reserved.  Unauthorized reproduction prohibited.
Installation number: 2421-1.
Licensed for use by: Advanced Photon Source
 
archsun4
/usr/local/epics/extensions/bin/sun4:/usr/local/epics/extensions/bin/sun4:/usr8/rsi/idl_4/lib/hook:/usr8/rsi/idl_4/lib/obsolete:/usr8/rsi/idl_4/lib:/usr8/rsi/idl_4/examples/hdf_ncdf:/usr8/rsi/idl_4/examples/general:/usr8/rsi/idl_4/examples/wexmast
Run ezcaIDL ...
Run ezcaIDLWidgets ...
IDL>     casettimeout, 1.e-6
    t1 = systime(1)
    for i=1, 100 do s = caget('chademoai1', value)
    t2 = systime(1)
    print, 'Elapsed time for caget on AI: ', t2-t1
    t1 = systime(1)
    for i=1, 100 do s = caget('chademowfmax7', value)
    t2 = systime(1)
    print, 'Elapsed time for caget on 4000 element waveform: ', t2-t1
IDL>     t1 = systime(1)
IDL>     for i=1, 100 do s = caget('chademoai1', value)
IDL>     t2 = systime(1)
IDL>     print, 'Elapsed time for caget on AI: ', t2-t1
Elapsed time for caget on AI:        2.1610000				        <=========
IDL>     t1 = systime(1)
IDL>     for i=1, 100 do s = caget('chademowfmax7', value)
IDL>     t2 = systime(1)
IDL>     print, 'Elapsed time for caget on 4000 element waveform: ', t2-t1
Elapsed time for caget on 4000 element waveform:        4.2170000	        <=========
IDL>