RE: Shall we not use ROOT in cygwin at all ?

From: Fine, Valeri <fine_at_bnl.gov>
Date: Wed, 24 Jun 2009 14:09:29 -0400

> That clarify the situation a lot. On the other hand, using ROOT
> directly in cygwin is really convenient.

Could you clarify your last statement?

I think one has to distinguish two separate things

One can see ROOT DOES use the CYGWIN env with Visual C++ Compiler to build ROOT itself.

That combination (cygwin + VC++) can be used for any other ROOT-based applications as well right now. There is no obstacle.

Your "cygwin is really convenient" implies that you see some advantage of the hypothetical ( cygwin + gcc ) combo vs the current ( cygwin + VC++)

Can you say which one? Why do you think the ( cygwin + gcc ) combination is more convenient enough to justify an extra manpower needed to support it?

> I guess the following question is for cygwin team:
> is there a future plan that to get the cygwin/gcc
> performance improved?

I think it is not correct address.

On one hand, yes, everything can be improved. On the other hand, one really have to distinguish things.

There are TWO essential components contributing to the end-user application performance (as soon as "cygwin+ gcc" is concern)

  1. The quality of the gcc compiler. Since there is no special "cygwin" C++ compiler, you should address this issue to the GCC compiler team rather to the "cygwin". Cygwin is not "responsible" for the code generation quality that the "gcc compiler" does.
  2. The other factor is the posix env on the TOP of the native Win32/Win64 the application LINKED against of the cygwin provided run-time libraries are to run with. The extra "posix" layer between the application and Win32 environment does consume some performance. That consumption cannot be ZERO. This is what you pay for. You pay for the "posix" run-time environment.

The only way to avoid it is not LINK your gcc compiled code against of the cygwin provided run-time libraries and use the native Win32 env directly. Several such kinds of combinations do exist in the wild too. For example, MinGW (see http://www.mingw.org/ ).

Can you be more concrete?
What do you think is NOT convenient with the existing ROOT distributions?
What did it miss?

Thank you

Best Regards

                         Valeri Fine


Brookhaven National Laboratory
Upton, NY 11973, USA
Phone: +1 631 344 7806
Fax: +1 631 344 4206
E-mail: fine_at_bnl.gov

> Axel Naumann wrote:
> > Hi Wei,
> >
> > I clarified the message a bit on the latest dev download page (it
might
> > get changed again within the next minutes :-):
> >
> > "Note that the performance of cygwin/gcc binaries is currently very
> > poor; we only provide this build as an unsupported toy. We strongly
> > recommend to use the version above compiled with VC++."
> >
> > This should clarify why we recommend you and others not to use it:
the
> > performance is absolutely incomparable to MSVC builds. We also don't
> > test ROOT on cygwin as thoroughly as on the other platforms. So it's
> > really at your own risk, don't blame us if you hate it :-)
> >
> > Cheers, Axel.
> >
> > Wei Xie wrote on 06/24/2009 06:33 PM:
> >> In the following message, I mean "..we should NOT trust any ..."?
> >>
> >> Wei Xie wrote:
> >>> In the ROOT download website, there is the following note:
> >>> --------------------------------------
> >>> "Note that cygwin/gcc is currently in a very poor status. We
strongly
> >>> recommend to use the win32gdk version above compiled with VC++7.1.
> >>> The ROOT team will not answer any messages related to problems
with
> >>> the win32gcc version. "
> >>> --------------------------------------
> >>>
> >>> Since we are using ROOT to do data analysis, does above note mean
> >>> that we should trust any analysis that's done using ROOT in
cygwin?
> >>>
> >>> Thanks
> >>> --Wei
> >>>
> >>
> >>
>
Received on Wed Jun 24 2009 - 20:10:22 CEST

This archive was generated by hypermail 2.2.0 : Thu Jun 25 2009 - 11:50:02 CEST