Σάββατο 23 Φεβρουαρίου 2013

FreeBSD 9.0 and EKOPath (Path64) Compiler

You may be aware that Pathscale announced they are making their EKOPath compiler suite open-source. This is great news, even if it's a GPLv3 license. I''d be happier with a BSD license so we could stack it easier with FreeBSD, but regardless, having free access to this excellent compiler is just what we need to increase FreeBSD's performance, and start catching up with several OS'es for performance.

Phoronix released facts about the story here

Compilers do make a difference within the zoom of our OS, don't think for a sec that you're feat untasted performance within FreeBSD from the ripened gcc 4.2.2 on modern hardware.

I've recently done a few tests with clang/llvm vs gcc with various optimization switches, and there is a definite increase from the absence generic builds of FreeBSD for my standard environment of NFS-ZFS-ESX. I'll post about that not long when I've the end my tests.

For nowadays, Martin Matuska has some info about compiling FreeBSD with a newer magazine of gcc, and also course to some statistically valid data showing the speed increase from doing this. You can start here, and find his performance data knit at the bottom.  

clang/llvm is a great stair forward, I wish it would beat gcc for compiled binary run speed, but it can't. In my tests, the only time clang/llvm was faster than gcc was when I was doing compression based tests, and I'm assuming this is because the newer clang/llvm can return advantage of more modern processor extensions than the older gcc 4.2.2

FreeBSD is committed to clang/llvm, as it's a BSD license, and we need that for devising the entire FreeBSD distribution arsenic GPL free.  It will get better, but FreeBSD isn't the focus of this project.

Anyway, I digress: This is about Path64. Start here:

Sources to download Path64 compiler:
You shall need to include two libraries all for this to work;

pkg_add -r libdwarf
pkg_add -r cmake
material

Follow the instructions in the readme, OR check Marcello's page for more than info.

I followed his instructions, the only difference is that I'm on FreeBSD-9-CURRENT, a build from 2011.05.28.15.00.00 , and I used this cmake command:

set MYLIBPATH=/usr/lib

cmake ~/work/path64
-DPATH64_ENABLE_TARGETS=x86_64
-DPATH64_ENABLE_MATHLIBS=ON
-DPATH64_ENABLE_HUGEPAGES=OFF
-DPATH64_ENABLE_FORTRAN=OFF
-DPSC_CRT_PATH_x86_64=$MYLIBPATH
-DPSC_DYNAMIC_LINKER_x86_64=/libexec/ld-elf.so.1
-DPSC_LIBSUPCPP_PATH_x86_64=$MYLIBPATH
-DPSC_LIBSTDCPP_PATH_x86_64=$MYLIBPATH
-DPSC_LIBGCC_PATH_x86_64=$MYLIBPATH
-DPSC_LIBGCC_EH_PATH_x86_64=$MYLIBPATH
-DPSC_LIBGCC_S_PATH_x86_64=$MYLIBPATH
-DPATH64_ENABLE_HUGEPAGES=OFF
-DCMAKE_BUILD_TYPE=Debug

At hand is discussion nearly this on the FreeBSD mailing lists here.

That's as removed as I've made it - The tests with the compiler start now. I daze of a buildworld with this, but I know that's not going to be easy. For now, I'm going to creation with some "Hello World" category programs.

:-)



Source: http://christopher-technicalmusings.blogspot.com/feeds/2455355581482346298/comments/default

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου