Re: Compiling FreeBSD with GCC 4.3+

2009-04-21 Thread Mel Flynn
Hi David,

On Monday 20 April 2009 21:48:39 David Naylor wrote:

 There has been an article recently published by phoronix
 (http://www.phoronix.com/scan.php?page=articleitem=pcbsd_vs_kubuntunum=1)
 that compares PC-BSD to Kubuntu.  Kubuntu uses GCC 4.3.3 compared to
 FreeBSD's GCC 4.2.2.  There is a considerable performance difference
 between the two OS's, the article contributes this difference to the
 compiler.

Nice shot in the dark, since except the calculations a lot of these are 
influenced by journaled FS vs stock UFS.

 In order to check if this is so (and to get the speed improvements of GCC
 4.3+) one needs to compile the ports (and preferable world/kernel as well)
 with GCC 4.3+.

It's license is incompatible with world/kernel. That said, install lang/gcc43 
and set CC/CXX for ports. World/kernel would be a lot harder. Maybe setting 
WITHOUT_GCC in /etc/src.conf and setting CC/CXX would work, but there's quite 
a few modifications to gcc that aren't in ports lang/gcc, so I have my doubts.

 Is there an easy way to set this up and does anyone know the compatibility
 of world/kernel/ports with GCC 4.3+?

 Also has anyone tried this and benchmarked the result?

Not me, but be sure to stick around for the new non-gcc compiler coming to a 
FreeBSD near you. And with the work done by Marcel Molenaar on gpart, 
hopefully we can have ZFS and gjournal as choices in the installer.
-- 
Mel
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Compiling FreeBSD with GCC 4.3+

2009-04-21 Thread David Naylor
On Tuesday 21 April 2009 10:32:04 Mel Flynn wrote:
 Hi David,

 On Monday 20 April 2009 21:48:39 David Naylor wrote:
  There has been an article recently published by phoronix
  (http://www.phoronix.com/scan.php?page=articleitem=pcbsd_vs_kubuntunum=
 1) that compares PC-BSD to Kubuntu.  Kubuntu uses GCC 4.3.3 compared to
  FreeBSD's GCC 4.2.2.  There is a considerable performance difference
  between the two OS's, the article contributes this difference to the
  compiler.

 Nice shot in the dark, since except the calculations a lot of these are
 influenced by journaled FS vs stock UFS.

I know, benchmarking anything but the simplest things are influenced by too 
many factors.  Pity it doesn't provide an unbiased comparison of FreeBSD and 
Linux.  

  In order to check if this is so (and to get the speed improvements of GCC
  4.3+) one needs to compile the ports (and preferable world/kernel as
  well) with GCC 4.3+.

 It's license is incompatible with world/kernel. 

What type of incompatibility.  I know FreeBSD has reservations about GPLv3 (I 
personally don't understand why everyone cannot be friends and use BSD 
Licenses).  So is this a policy incompatibility or a legal one (i.e. would it 
be 'illegal' for me to use GCC 4.3+ to compile world/kernel, as an 
end-user/consumer of FreeBSD).  I assume the same discussion applies to 
binutils.  

 That said, install 
 lang/gcc43 and set CC/CXX for ports. World/kernel would be a lot harder.
 Maybe setting WITHOUT_GCC in /etc/src.conf and setting CC/CXX would work,
 but there's quite a few modifications to gcc that aren't in ports lang/gcc,
 so I have my doubts.

I suppose it would be nice if there was an easy way to use an out-of-source 
compiler in FreeBSD.  Like set PORTS_COMPILER=gcc43 and the port will 
installed and used... One may have dreams.  

  Is there an easy way to set this up and does anyone know the
  compatibility of world/kernel/ports with GCC 4.3+?
 
  Also has anyone tried this and benchmarked the result?

 Not me, but be sure to stick around for the new non-gcc compiler coming to
 a FreeBSD near you. And with the work done by Marcel Molenaar on gpart,
 hopefully we can have ZFS and gjournal as choices in the installer.

You mean llvm, waiting patiently.  I suppose my suggestion above will become 
even more important (at least for compiling ports) since it will be a while 
till llvm has decent c++ support.  

Thanks for your reply


signature.asc
Description: This is a digitally signed message part.


Re: Compiling FreeBSD with GCC 4.3+

2009-04-21 Thread Mel Flynn
On Tuesday 21 April 2009 17:37:50 David Naylor wrote:
 On Tuesday 21 April 2009 10:32:04 Mel Flynn wrote:
  Hi David,
 
  On Monday 20 April 2009 21:48:39 David Naylor wrote:
   There has been an article recently published by phoronix
   (http://www.phoronix.com/scan.php?page=articleitem=pcbsd_vs_kubuntunu
  m= 1) that compares PC-BSD to Kubuntu.  Kubuntu uses GCC 4.3.3 compared
   to FreeBSD's GCC 4.2.2.  There is a considerable performance difference
   between the two OS's, the article contributes this difference to the
   compiler.
 
  Nice shot in the dark, since except the calculations a lot of these are
  influenced by journaled FS vs stock UFS.

 I know, benchmarking anything but the simplest things are influenced by too
 many factors.  Pity it doesn't provide an unbiased comparison of FreeBSD
 and Linux.

That and comparing apples and pears as default configured fruit, don't usually 
work well. Of course it appeals to the end user which fruit is healthier.

   In order to check if this is so (and to get the speed improvements of
   GCC 4.3+) one needs to compile the ports (and preferable world/kernel
   as well) with GCC 4.3+.
 
  It's license is incompatible with world/kernel.

 What type of incompatibility.  I know FreeBSD has reservations about GPLv3
 (I personally don't understand why everyone cannot be friends and use BSD
 Licenses).  So is this a policy incompatibility or a legal one (i.e. would
 it be 'illegal' for me to use GCC 4.3+ to compile world/kernel, as an
 end-user/consumer of FreeBSD).  I assume the same discussion applies to
 binutils.

Policy. Only legal issue in FreeBSD for the end user is WITH_IDEA.

  That said, install
  lang/gcc43 and set CC/CXX for ports. World/kernel would be a lot harder.
  Maybe setting WITHOUT_GCC in /etc/src.conf and setting CC/CXX would work,
  but there's quite a few modifications to gcc that aren't in ports
  lang/gcc, so I have my doubts.

 I suppose it would be nice if there was an easy way to use an out-of-source
 compiler in FreeBSD.  Like set PORTS_COMPILER=gcc43 and the port will
 installed and used... One may have dreams.

cat 'EOF'  /etc/make.conf
.if !empty(.CURDIR:M/usr/ports/*)
CC=/usr/local/bin/gcc43
CXX=/usr/local/bin/g++43
.endif
EOF

Pretty close, huh?

   Is there an easy way to set this up and does anyone know the
   compatibility of world/kernel/ports with GCC 4.3+?
  
   Also has anyone tried this and benchmarked the result?
 
  Not me, but be sure to stick around for the new non-gcc compiler coming
  to a FreeBSD near you. And with the work done by Marcel Molenaar on
  gpart, hopefully we can have ZFS and gjournal as choices in the
  installer.

 You mean llvm, waiting patiently.  I suppose my suggestion above will
 become even more important (at least for compiling ports) since it will be
 a while till llvm has decent c++ support.

Yeah, I don't know how that's gonna work if llvm is ready for base, but no 
c++. I guess we'll have to sit out g++ 4.2 for a while. If you're in the 
position to do so, I'd do their benchmarks with ZFS and see how much 
difference that already makes.
-- 
Mel
___
freebsd-questions@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to freebsd-questions-unsubscr...@freebsd.org


Re: Compiling FreeBSD with GCC 4.3+

2009-04-21 Thread David Naylor
On Tuesday 21 April 2009 17:58:15 Mel Flynn wrote:
 On Tuesday 21 April 2009 17:37:50 David Naylor wrote:
  On Tuesday 21 April 2009 10:32:04 Mel Flynn wrote:
   Hi David,
  
   On Monday 20 April 2009 21:48:39 David Naylor wrote:
There has been an article recently published by phoronix
(http://www.phoronix.com/scan.php?page=articleitem=pcbsd_vs_kubuntu;
   nu m= 1) that compares PC-BSD to Kubuntu.  Kubuntu uses GCC 4.3.3
compared to FreeBSD's GCC 4.2.2.  There is a considerable performance
difference between the two OS's, the article contributes this
difference to the compiler.
  
   Nice shot in the dark, since except the calculations a lot of these are
   influenced by journaled FS vs stock UFS.
 
  I know, benchmarking anything but the simplest things are influenced by
  too many factors.  Pity it doesn't provide an unbiased comparison of
  FreeBSD and Linux.

 That and comparing apples and pears as default configured fruit, don't
 usually work well. Of course it appeals to the end user which fruit is
 healthier.

:-)

In order to check if this is so (and to get the speed improvements of
GCC 4.3+) one needs to compile the ports (and preferable world/kernel
as well) with GCC 4.3+.
  
   It's license is incompatible with world/kernel.
 
  What type of incompatibility.  I know FreeBSD has reservations about
  GPLv3 (I personally don't understand why everyone cannot be friends and
  use BSD Licenses).  So is this a policy incompatibility or a legal one
  (i.e. would it be 'illegal' for me to use GCC 4.3+ to compile
  world/kernel, as an end-user/consumer of FreeBSD).  I assume the same
  discussion applies to binutils.

 Policy. Only legal issue in FreeBSD for the end user is WITH_IDEA.

Thanks for sorting that out.  Good news for me.

   That said, install
   lang/gcc43 and set CC/CXX for ports. World/kernel would be a lot
   harder. Maybe setting WITHOUT_GCC in /etc/src.conf and setting CC/CXX
   would work, but there's quite a few modifications to gcc that aren't in
   ports lang/gcc, so I have my doubts.
 
  I suppose it would be nice if there was an easy way to use an
  out-of-source compiler in FreeBSD.  Like set PORTS_COMPILER=gcc43 and the
  port will installed and used... One may have dreams.

 cat 'EOF'  /etc/make.conf
 .if !empty(.CURDIR:M/usr/ports/*)
 CC=/usr/local/bin/gcc43
 CXX=/usr/local/bin/g++43
 .endif
 EOF

 Pretty close, huh?

Kinda, it is what I was thinking about (or just symlinking cc, cxx to the 
proper programs).  Of course if this is implemented 'properly' in ports then 
auto-dependencies and all that will be added.  

I was actually thinking about replacing the standard compiler by
a) not installing gcc 4.2.2 (i think WITHOUT_GCC, as mentioned by yourself)
b) installing latest gcc: 
# make -C /usr/ports/lang/gcc43 install DESTDIR=/new/freebsd/system 
PREFIX=/usr -DWITHOUT_JAVA
 [ With symlinks from gcc43 - gcc, etc]
c) Hoping this works

Well something like that (with extra hope)

Is there an easy way to set this up and does anyone know the
compatibility of world/kernel/ports with GCC 4.3+?
   
Also has anyone tried this and benchmarked the result?
  
   Not me, but be sure to stick around for the new non-gcc compiler coming
   to a FreeBSD near you. And with the work done by Marcel Molenaar on
   gpart, hopefully we can have ZFS and gjournal as choices in the
   installer.
 
  You mean llvm, waiting patiently.  I suppose my suggestion above will
  become even more important (at least for compiling ports) since it will
  be a while till llvm has decent c++ support.

 Yeah, I don't know how that's gonna work if llvm is ready for base, but no
 c++. I guess we'll have to sit out g++ 4.2 for a while. If you're in the
 position to do so, I'd do their benchmarks with ZFS and see how much
 difference that already makes.

Well, llvm does support C++ (with the gcc frontend) so that shouldn't be too 
much of a problem.  clang is more of the issue but I suppose we could always 
have llvm-clang for C and llvm-gcc for C++ (until clang gets full C++ 
support).  


signature.asc
Description: This is a digitally signed message part.


Compiling FreeBSD with GCC 4.3+

2009-04-20 Thread David Naylor
Hi,

There has been an article recently published by phoronix 
(http://www.phoronix.com/scan.php?page=articleitem=pcbsd_vs_kubuntunum=1) 
that compares PC-BSD to Kubuntu.  Kubuntu uses GCC 4.3.3 compared to 
FreeBSD's GCC 4.2.2.  There is a considerable performance difference between 
the two OS's, the article contributes this difference to the compiler.  

In order to check if this is so (and to get the speed improvements of GCC 
4.3+) one needs to compile the ports (and preferable world/kernel as well) 
with GCC 4.3+.  

Is there an easy way to set this up and does anyone know the compatibility of 
world/kernel/ports with GCC 4.3+?

Also has anyone tried this and benchmarked the result?

Regards,

David


signature.asc
Description: This is a digitally signed message part.