Last results:
--------------------------------------------------------------------------------
Configuration 1: one FBSim process, running on a different machine and
sending frames containing 10 adc channels at 20kHz,
one dataDisplay process connected on this FBSim and showing one TIME
plot over 1 second, with a refresh at 50%.
Dy/v8r14 Dy/v9r00 without .rootrc Dy/v9r00 with .rootrc
on ax10: 0.19 s 0.30 s 0.25
Configuration 2: Use of configuration file /virgoData/Dy/alignement.car
Dy/v8r14 Dy/v9r00 without .rootrc Dy/v9r00 with .rootrc
on ax10: 0.67 s 0.99 s 0.61
on LinuxA: - - 0.55
screen ax10: - - 0.99
(ssh farmn2)
--------------------------------------------------------------------------------
Version tested: Dy/v9r00 (uses root/v3r5p5)
Configuration: one FBSim process, running on a different machine and
sending frames containing 10 adc channels at 20kHz,
one dataDisplay process connected on this FBSim and showing one TIME
plot over 1 second, with a refresh at 50%.
Legend:
LinuxAnnecy = RedHat 7.2, AMD Athlon XP1800+ (1532.94 MHz), 256kB cache
ax10 = Unix OSF1 v5, XP1000, 667 MHz, 2MB cache
Xterminal = NCD900, 32 MB de RAM
SCREEN (X11 server) PROCESS (X11 client) ConnectionType TimeToAnalyseOneFrame
without .rootrc
--------------------------------------------------------------------------------
LinuxAnnecy LinuxAnnecy - 0.23 seconds (0.11s with .rootrc)
LinuxAnnecy ax10 (ssh) 3.40
LinuxAnnecy ax10 (telnet) 0.40
ax10 ax10 - 0.25
ax10 ax15 (ssh) 6.50
ax10 ax15 (telnet) 0.65
ax10 LinuxAnnecy (ssh) 2.35
ax10 LinuxAnnecy (telnet) 0.41
Xterminal LinuxAnnecy (telnet ou XDM) 0.72
Xterminal ax10 (telnet ou XDM) 0.81
-------------------------------------------------------------------
First conclusion: Depending on the X11 server (display of the Root Canvas
that contains the plots) and the X11 client (machine on which is running the dataDisplay)
used, the version Dy/v9r00 (that uses root/v3r5p5) is slower
than Dy/v8r10p1 (that uses root/v3r3p8) by about a factor 2 if the .rootrc file
(containing the line: "Unix.*.Root.UseTTFonts: false") is not used and about the same
speed if .rootrc is used.
Test program used: /users/verkindt/test_root.C compiled
#ifndef __CINT__ // includes in case of compilation
#include "TBenchmark.h"
#include "TCanvas.h"
#include "TH1.h"
#include "TPaveText.h"
#include "VManagerFrameL.h"
#include "FrameL.h"
#include "Frv.h"
#endif
void test_root()
{
int i;
double gtime;
struct FrameH *fr1;
FrFile* f1 = FrFileINew("/data/E4/raw2/FR710787734.dat_15_Jul_2002_19:02:06");
TCanvas* can = new TCanvas("nom","titre",1);
gtime = FrFileITStart(f1);
if (gtime < 0) exit(0);
for (i=0; i<20; i++)
{
gBenchmark->Start("frameread");
fr1 = FrameReadTChnl(f1, gtime+0.1, "Pr_B1_ACq");
if (!fr1) break;
gBenchmark->Start("hdrawupdate");
can->cd(1);
gVM->Draw(fr1,"Pr_B1_ACq");
gPad->Update();
gBenchmark->Show("hdrawupdate");
gBenchmark->Reset();
FrameFree(fr1);
if (gtime >= 0.) gtime = FrFileITNextFrame(f1, gtime+0.01);
}
}
Legend:
LinuxAnnecy = RedHat 7.2, AMD Athlon XP1800+ (1532.94 MHz), 256kB cache
ax10 = Unix OSF1 v5, XP1000, 667 MHz, 2MB cache
Xterminal = NCD900, 32 MB de RAM
SCREEN (X11 server) PROCESS (X11 client) ConnectionType Time per refresh without
.rootrc (numbers for Dy/v8r10p1)
--------------------------------------------------------------------------------
LinuxAnnecy LinuxAnnecy - 0.09 seconds (0.05)
LinuxAnnecy ax10 (ssh) 4.50 (0.13)
LinuxAnnecy ax10 (telnet) 0.15 (0.07)
ax10 ax10 - 0.15 (0.13)
ax10 ax10 (ssh) 11.30 (1.00)
ax10 ax15 (ssh) 7.50 (0.50)
ax10 ax15 (telnet) 0.40 (0.12)
ax10 LinuxAnnecy (ssh) 1.10 (0.25)
ax10 LinuxAnnecy (telnet) 0.15 (0.10)
Xterminal LinuxAnnecy (telnet ou XDM) 0.22 (0.18)
Xterminal ax10 (telnet ou XDM) 0.28 (0.25)
-------------------------------------------------------------------
First conclusion: Depending on the X11 server (display of the Root Canvas
that contains the plots) and the X11 client (machine on which is running the dataDisplay)
used, root/v3r5p5 is slower
than root/v3r3p8 by about a factor 2 if the .rootrc file
(containing the line: "Unix.*.Root.UseTTFonts: false") is not used.
Version tested: Dy/v8r10p1 (uses root/v3r3p8)
Machine used: Alpha XP1000, 667 MHz, OSF1 v5
Configuration: one FBSim process, running on a different machine and
sending frames containing 2 adc channels at 20kHz
and 2 proc channels at 20 kHz, one dataDisplay process connected
on this FBSim.
PlotType PlotsNbr TimeWindow SampFreq RefreshPeriod TimeToAnalyseOneFrame
------------------------------------------------------------------------------
TIME 1 1 sec 20 kHz 50% 0.08 seconds
TIME 1 1 sec 20 kHz 5% 0.80
TIME 1 10 sec 20 kHz 50% 0.02 (and 0.165 every 5 frames)
TIME 1 10 sec 20 kHz 10% 0.18
TIME 10 10 sec 20 kHz 10% 1.60
TIME 10 10 sec 20 kHz 50% 0.12 (and 1.6 every 5 frames)
FFT 1 0.8192 sec 20 kHz 100% (fft=23ms) 0.10 (and 0.17 every 4 ffts)
FFT 1 0.8192 sec 20 kHz 10% (fft=23ms) 0.93
FFT 1 0.0512 sec 20 kHz 100% (fft=0.9ms) 0.75
FFT 1 3.2768 sec 20 kHz 100% (fft=121ms) 0.24
FFT 1 13.1072 sec 20 kHz 100% (fft=673ms) 0.98
2D 1 128x128 20 kHz 5 sec 0.05 (and 0.38 every 5 frames)
2D 1 256x256 20 kHz 5 sec 0.05 (and 1.05 every 5 frames)
1D 1 128 20 kHz 5 sec 0.02 (and 0.05 every 5 frames)
1D 1 1024 20 kHz 5 sec 0.02 (and 0.05 every 5 frames)
FFTTIME 1 10 sec 20 kHz 0.4096 sec 7.50
FFTTIME 1 10 sec 200 Hz 0.64 sec 0.25
FFTTIME 1 10 sec 20 kHz 0.0256 sec 24.10
-------------------------------------------------------------------------------
TimeWindow = time duration over which data are shown (TIME or FFTTIME) or fft computed (FFT).
Replaced by number of bins in case of 1D and 2D plots.
SampFreq = sampling frequency of the data shown (20 kHz except if resampled by the dataDisplay)
RefreshPeriod = in percentage of the timeWindow length or in number of seconds. This is the period
of refresh of the plot in the Root Canvas.
(fft=...) = contribution of the fft computation to the "one frame treatment time".
This shows that in most of the cases, the refresh of the plots
is the more time consuming task.
Test program used: /users/verkindt/test_root.C compiled (using Root/v3r3p8) Legend: LinuxAnnecy = RedHat 7.2, AMD Athlon XP1800+ (1532.94 MHz), 256kB cache LinuxShared = RedHat 7.2, AMD Athlon XP1800+ (1532.94 MHz), 256kB cache ax10 = Unix OSF1 v5, XP1000, 667 MHz, 2MB cache Mac Damir = MacOS10 + X11 Apple, PowerPC G4 900 MHz PC Benoit = Windows 2000, Exceed X11 server, Pentium III, xxx MHz Xterminal = NCD900, 32 MB de RAM SCREEN (X11 server) PROCESS (X11 client) ConnectionType Time per refresh -------------------------------------------------------------------------------- LinuxAnnecy LinuxAnnecy - 0.05 seconds LinuxAnnecy ax10 (ssh) 0.13 LinuxAnnecy ax10 (telnet) 0.07 LinuxAnnecy LinuxShared (ssh) 0.07 LinuxAnnecy LinuxShared (telnet) 0.06 ax10 ax10 - 0.13 ax10 ax10 (ssh) 1.00 ax10 ax10 (telnet) 0.13 ax10 ax15 (ssh) 0.50 ax10 ax15 (telnet) 0.12 alternate with 0.07 ax10 LinuxAnnecy (ssh) 0.25 ax10 LinuxAnnecy (telnet) 0.10 Xterminal LinuxAnnecy (telnet ou XDM) 0.18 Xterminal ax10 (telnet ou XDM) 0.25 Mac Damir Mac Damir - 0.13 Mac Damir LinuxAnnecy (ssh) 0.10 Mac Damir LinuxAnnecy (telnet) 0.08 PC Benoit LinuxAnnecy (ssh) 0.20 ------------------------------------------------------------------- First conclusion: Linux machines as X11 server (display of the Root Canvas that contains the plots) provide a 3 times faster refresh of the plots, which means a dataDisplay 3 times faster. Second conclusion: A ssh connection between X11 server (machine on which are displayed the plots) and X11 client (machine on which is running the dataDisplay) decreases by a factor 5 to 20 the speed of the Root Canvas refresh, which means a dataDisplay 5 to 20 times slower.