Re: [ROOT] hsimple speed root_v3.04.02 vs root_v3.05.0x on Linux RH7.1-3

From: Rene Brun (Rene.Brun@cern.ch)
Date: Fri May 09 2003 - 17:54:52 MEST


Hi Valeri,

"Faine, Valeri" wrote:
> 
> Hello Rene.
> 
> The technical reason to introduce the TTF fonts and the special package
> on Windows platforms is not clear.

It is to us.

> 
> The total size of the ROOT distribution for Windows is
> 15Mb. With version 3.05 ones has to download 2.5 Mb extra TTF files with
> just to slowdown his/her application.

The total size is 20MB, of which 2.2 MB are due to TTF. We believe that the
extra penalty of downloading 2 additional MBytes is less than the burden
to download a separate tar file.

> 
> Windows always was working with TTF fonts with no extra software
> involved,
> It is standard way to manage fonts on Windows.

Correct. On the other hand, the old Windows version that you know very well
was not able to proceed correctly with Postscript files in batch. This version
contains Windows specific code that we would like to eliminate to simplify
the maintenance in the future.

> 
> The existent WIN32 implementation of TVirtualX methods does provide
> almost all functions one needs to manage the TTF fonts those are part of
> any Windows OS.

Our TTF package has additional functionality (see, eg, graf/TTF class).

> 
> Qt edition of TVirtualX doesn't require any separate TTF fonts either.

Your current implementation is not yet TVirtualX compliant. Once you are
compliant, you will realize how we use TTF in the kernel.

> Very likely it is a price one has to prepare to pay to use the free
> "win32gdk" version

The Qt people came to the same conclusion. They have the 
functionality in their system. 
The win32gdk (thanks Bertrand Bellenot) is now in an acceptable state.
Having the same look&feel on all platforms was an important decision on
our side. We have now the possibility to upgrade several old widgets.
This will be good for all platforms.

Coming back to your original question, I understand that you are worried by
the performance. Indeed an important question. In the version 3.05/05,
you can disable the TTF fonts if you think that there are more disadvantages
than advantages.

Last but not least, we hope to see a fully compliant Root/Qt version in the near
future ::)


Rene Brun

> 
>                   Valeri
> 
> >
> > I cannot reproduce this problem with $ROOTSYS/test/hsimple.cxx.
> >
> > The main difference between 3.04 and 3.05 is the introduction by
> default
> > of the True Type Fonts. If you run the benchmarks.C with 3.04 without
> > using TTF and 3.05 with TTF, you may see a factor 2 on graphics
> > applications. If you use the new 3.05/05, you can disable TTF in
> > system.rootrc.
> > We will work on the speed improvements with TTF.
> >
> > Rene Brun
> >
> > Andrzej Kupsc wrote:
> > >
> > > Hej,
> > >
> > >   We have found that some of our root based applications seems to
> run
> > > 2-4 times slower with root_v3.05.04 as compared to root_v3.04.02.
> > >
> > > In order to find the reason of decreased performance we have run
> > standard
> > > root benchmarks with precompiled root versions as well as
> root_v3.05.04
> > > compiled from sources.
> > > The comparison was done on the same computers with the only
> difference
> > > being root version used. Most dramatic difference is with
> > > $ROOTSYS/test/hsimple.cxx which seems to be more than 4 times slower
> > with
> > > ROOT 3.05/04.
> > > Does anyone observed similar decrease of performance with
> root_v3.05.04
> > > or have hints what could be wrong?
> > >
> > > Andrzej Kupsc
> > > ---------------------------------------------------------------
> > >                   The Svedberg Laboratory,
> > >                   Uppsala University, Uppsala.
> > > ---------------------------------------------------------------
> > >
> > > --------------------
> > > Results of the tests
> > > --------------------
> > >  ROOT versions used for tests:
> > >   root_v3.04.02.Linux.RH7.2.gcc296.tar.gz
> > >   root_v3.05.04.Linux.RH7.3.gcc296.tar.gz
> > >     root_v3.05.04 recompiled from sources was also tested but that
> make
> > >     no differences with root_v3.05.04.Linux.RH7.3.gcc296
> > >     also we have tried root_v3.05.03 which behaves similar
> > >
> > >
> > > **1** Script benchmark.C is 2x slower for hsimple and
> > > hsum  we run it on our 2 computers (1 and 2 processor)
> > > with RH 7.1 (but results are similar on a computer with RH 7.3)
> > >
> > >   computer1:  2x Pentium III
> > >   cpu MHz         : 799.693
> > >   kernel : 2.4.18-27.7.xsmp
> > >   Processing benchmark: rootmarks.C
> > > ---------------ROOT 3.04/02 benchmarks summary--------------------
> > > hsimple   : Real Time =   0.71 seconds Cpu Time =   0.65 seconds
> > > hsum      : Real Time =   0.31 seconds Cpu Time =   0.30 seconds
> > > .....
> > > ---------------ROOT 3.05/04 benchmarks summary--------------------
> > > hsimple   : Real Time =   1.32 seconds Cpu Time =   1.21 seconds
> > > hsum      : Real Time =   0.83 seconds Cpu Time =   0.83 seconds
> > > ....
> > >
> > >   computer2:  1x Intel(R) Pentium(R) 4 CPU 1.80GHz
> > >   gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-98)
> > >   Linux: 2.4.7-10
> > >
> > > Processing benchmark: rootmarks.C
> > > ---------------ROOT 3.05/04 benchmarks summary--------------------
> > > hsimple   : Real Time =   1.62 seconds Cpu Time =   0.89 seconds
> > > hsum      : Real Time =   1.10 seconds Cpu Time =   0.60 seconds
> > > ....
> > > Processing benchmark: rootmarks.C
> > > ---------------ROOT 3.04/02 benchmarks summary--------------------
> > > hsimple   : Real Time =   0.84 seconds Cpu Time =   0.47 seconds
> > > hsum      : Real Time =   0.42 seconds Cpu Time =   0.22 seconds
> > > ....
> > >
> > > **2**
> > > Standard  $ROOTSYS/test/hsimple.cxx with standard Makefile was used.
> > > In order to test speed the event loop in the hsimple.cxx were
> increased
> > to
> > > 1M events and TStopwatch was put at the beginning and at the end of
> the
> > > program to measure performance.
> > >
> > > computer1:
> > >   ROOT 3.05/04
> > > ./hsimple
> > > Time : RT= 11.53 s  Cpu= 11.44 s
> > >   ROOT 3.04/02
> > > ./hsimple
> > > Time : RT=  2.20 s  Cpu=  2.19 s
> > >
> > > computer2:
> > >   ROOT 3.05/04
> > > ./hsimple
> > > Time : RT=  7.88 s  Cpu=  7.67 s
> > >   ROOT 3.04/02
> > > ./hsimple
> > > Time : RT=  1.87 s  Cpu=  1.84 s



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET