[csw-maintainers] Solaris Studio vs GCC
Dagobert Michelsen
dam at opencsw.org
Thu Mar 15 09:37:53 CET 2012
Hi Maciej,
Am 15.03.2012 um 07:59 schrieb Maciej Bliziński:
> Ben Walton wrote:
>> Excerpts from Peter Bonivart's message of Sun Mar 11 19:21:30 -0400 2012:
>>> On Sun, Mar 11, 2012 at 11:48 PM, Ben Walton <bwalton at opencsw.org> wrote:
>>
>>>> I understand that performance of the binaries generated by studio
>>>> used to be superior, but I don't know if that's still the
>>>> case. Aside from this (possible) win for studio, what are some of
>>>> the other reasons we've traditionally preferred it to gcc?
>>>
>>> I'd like to switch the _default_ compiler only. :)
>>
>> Yes, this is important. It was implicit in my mind, but it's good to
>> be explicit.
>
> If we wanted to do this, we need to plan how to transition. If we
> rebuild a C++ library sitting in /opt/csw/lib, we'll break all the
> clients that are built with Studio. We probably don't want that.
>
> We need to find a way to automatically check which libraries are built
> with Studio and which with GCC (by only looking at the binary and maybe
> doing some pattern searches on symbols). This will allow us to assess
> the situation better. If the target is to have GCC-built C++ libs in
> /opt/csw/lib, it would have to look something like this:
What if something requires Sun Studio? (I have no example at hand, but
it is thinkable for some more proprietary stuff)
> 1. Identify all Studio C++ libs and their dependencies
> 2. Build the GCC versions of these libs into /opt/csw/gxx
> 3. Rebuild the dependencies using the libs in /opt/csw/gxx
> 4. Move the Studio libs from /opt/csw/lib to /opt/csw/studio or remove
> them altogether
> 5. Rebuild the GCC libs into /opt/csw/lib
> 6. Rebuild the dependencies
>
> It's not a trivial task.
>
> As an alternative, we could see if we can do a gradual migration,
> meaning that once we rebuild something, we follow this path. We could
> probably come up with a set of checks that would ensure the right order
> of operations. But then we'd have a mix of Studio and GCC C++ libraries
> in /opt/csw/lib, which could be royally confusing.
>
> Thoughts?
I don't think it is a real gain. The current model allows building C code
with the compiler of the maintainers choice (which is good IMHO), whereas
C++ code needs to be compiled twice. While this is more work it is only
needed for C++ projects which are a limited set.
Additionally, I prefer Sun Studio because it is stricter and helps upstream
to keep a portable codebase. Most upstream projects are indeed concerned about
this.
To summarize, I see a lot of work for the transition with little gain.
We have probably more important things to do. Just my 0,02 €
Best regards
-- Dago
--
"You don't become great by trying to be great, you become great by wanting to do something,
and then doing it so hard that you become great in the process." - xkcd #896
More information about the maintainers
mailing list