Why a large difference in number of ROOTMARKS

Hi Rooters,

ROOT 5.12 is used under Windows XP at the computer with P4-3.4GHz and 2 GB of memory. I got a strange result. The macros benchmarks.C showed only ~570 Rootmarks and wrote that P4-2.4GHz demonstrates 600 Rootmarks. I did not take into consideration this result for a long time. But yesterday I instalel ROOT 5.12 from the BNL cite, which showed ~830 Rootmarks at the same computer. Two questions arose.
(1) Why ROOT copied from the CERN cite demonstrates so small number of Rootmarks? At the P4-3.4 GHz the number is less then at the P4-2.4 GHz.
(2) Why the same ROOT version compiled at the BNL demonstrates a notably higher velocity? Is it result of using of MVS-2005 only or what more?

Sincerely Yours,

Hi Andrey,

do you mean QtRoot version from V.Fine?

Regards. Valeriy

The ROOTMARKS are computed on a reference machine running Linux
not Windows.
I have no idea of the compilation options and compiler used by BNL.
Also do not draw any conclusion from the interactive benchmarks.C.
In version 5.13 we implemented a new benchmark suite stressHepix
that should give a more significative comparison between machines and OS. See:


Correct. I read about it on this forum and got it from root.bnl.gov.


the GUI benchmarks can vary in large range depending on many factors:

  • platform (x11 vs win32). In fact, we tried to make them “equal”.
  • which compiler and compiler optimization options
  • which fonts are used (TrueType or native x11)
  • display mode (16bit high color, 24 bit true color)
  • … and many others

However I can admit that QtRoot is slightly faster than default ROOT.
I investigated this problem by digging Qt sources and the reason is known.
Hopefully we will implement “their tricks” in the future ROOT.
IMHO, it is not the first priority task for ROOT project.

Regards. Valeriy

I got ROOT 5.13.04 and translated codes in the directory test using NMAKE. Unfortunately, Makefile.win32 creates only one test STRESS, which I have run. The result is in the attached file. It is comparable to P4-2.8 GHz presented in the list of results.

Also test 5 give an error:
Test 5 : Test graphics & Postscript… Error in : class TUtil3D not found in plugin Graf3d

test.txt (3.68 KB)

Did you follow the instructions at the URL that I indicated?


[quote=“brun”] . . .
I have no idea of the compilation options and compiler used by BNL.
. . .
Rene[/quote] Just for the record.
BNL doesn’t use any special option. The distribution in question (see root.bnl.gov ) is done with the ROOT standard “configure” and ROOT standard “Makefile”. It uses the code from ROOT CVS. BNL neither introduces nor changes any ROOT compilation flag / option. No significant shift in performance between the ROOT compiled with VC++ v.7 and VC++8 was discovered either. One can easily check it by installing ROOT 5.10 from the same Web site to see ROOT 5.10 (compiled with VC++ v.7.0 ) is as fast as ROOT 5.12 (compiled with VC++ v.8 )
The only difference between BNL and CERN distribution is that from BNL adds one extra DLL to allow for the extra Qt-based plug-in for the standard ROOT GuiFactory and Gui.Backend and this backend uses the one thread. This DLL doesn’t change any other ROOT DLLs. The standard ROOT GDK-based Gui.Backend uses more then one thread.

Concerning the test.
I downloaded binary ROOT version for Windows (old tar file) from root.cern.ch cite and installed it as usual.
The make command does not work under Windows and I did not want to use Cygwin thus nmake from MVS-8 was used with Makefile.win32. As result only first test was created. The test was started as it was described on root.cern.ch/root/Benchmark.html.
When the header of Makefile has bee modified according to the header of Makefile.win32 I got an error:

makefile(170) : fatal error U1036: syntax error : too many names to left of ‘=’

Line 170 corresponds to the PROGRAMS = in the Makefile. Thus only the first test could be used.


Hi Andrey,

Could you try with the Makefile.win32 in attachment, please ?
( type nmake -f Makefile.win32 )
If it solves your problem, then I will apply changes in CVS.

Makefile.win32.txt (11.7 KB)

Hi Bertrand,

The new Makefile.win32 works without errors. There were only two rgular warnings:
cl : Command line warning D9025 : overriding ‘/MDd’ with ‘/MD’
cl : Command line warning D9002 : ignoring unknown option ‘-G5’.

But some tests ended with error. These are

I attached results of all tests, which ended with and without errors.

Sincerely Yours,
roottest.rar (5.56 KB)

Hi Andrey,

Please change your attachment format - avoid rar files (use tar.gz, tgz or zip instead)


File is attached.
roottest.tar.gz (2.86 KB)

Hi Andrey,

Well, hard to guess what’s happening there, but one reason could be the mix between binaries compiled with VC++7.1 (if you downloaded the binary tarfile) and the test applications compiled with VC++8.
I will try to reproduce the problem and I’ll let you know.