mboost-dp1

freeBSD

Ny compiler på vej til FreeBSD

- Via Version2 - , redigeret af Pernicious

Nu er turen kommet til FreeBSD, efter at både OpenBSD og NetBSD har valgt at se på en anden compiler. FreeBSD har nemlig også åbnet for overvejelserne om at skifte gcc ud; dog vil FreeBSD-projektet vælge LLVM og ikke PCC som hos de to andre projekter.

En af grundene til skiftet er, at compile-tiden bliver halveret for OS kodebasen, ligesom anden FreeBSD-kode kan være op til 20-30 % hurtigere ifølge Erik Cederstrand, dansk medlem af FreeBSD-projektet.

Det er dog ikke muligt at skifte helt til LLVM, da det i øjeblikket kun er muligt at kompilere 95 % af den nødvendige kode. Det har dog ikke stoppet projektet fra at forsøge at lave et komplet skifte.

Både Google og Apple har en interesse i LLVM, Googles interesse består i, at de har valgt LLVM til deres Unladen Swallow, og Apple har siden 2005 haft folk til at udvikle på LLVM





Gå til bund
Gravatar #1 - lnc12
6. apr. 2009 07:22
hvorfor kun de 3 ?????????????????
hvornår ændre de det i PcBSD køre pt med fibonacci eidtion 7 køre ganske godt men kode er af og til pænt uforståeligt
Gravatar #2 - Louis
6. apr. 2009 07:37
#1
PC-BSD og DesktopBSD er baseret på FreeBSD, så de skifter nok også compiler nogenlunde samtidigt med FreeBSD.
Gravatar #3 - spectual
6. apr. 2009 08:22
Spørgsmålet er om koden så også kører ligeså effektivt når den eksekveres
Gravatar #4 - keke
6. apr. 2009 08:26
#3

http://www.version2.dk/artikel/10518-farvel-og-tak-til-gcc-freebsd-overvejer-ny-compiler skrev:
derudover kan afviklingen af LLVM-oversat FreeBSD-kode i visse tilfælde speedes op med 20-30 procent.
Gravatar #5 - jfs
6. apr. 2009 08:48
#3
Højst sandsynligt, ja, måske endda bedre.
Jeg skal ikke gøre mig til ekspert på compilere, men jeg har hørt en del om at GCC ikke er specielt god til kodegenerering og har nogen arkitekturelle problemer der begrænser mulighederne for optimeringer. Men det er kun løse rygter og hullet hukommelse.
Gravatar #6 - spectual
6. apr. 2009 10:41
#4, #5: Ja okay. Jeg læste det som at det var compileren som var 20-30 procent hurtigere. Lyder til den er noget bedre :)
Gravatar #7 - lnc12
6. apr. 2009 10:59
#2
Tak du
Gravatar #8 - arne_v
11. apr. 2009 17:33
#0

Man er tilsyneladende ret desperate for at få en ikke-GPL compiler.

Ethvert halvfærdigt projekt som påstår at være en C compiler kan tilsyneladende "bruges".

Det er dog ikke muligt at skifte helt til LLVM, da det i øjeblikket kun er muligt at kompilere 95 % af den nødvendige kode.


siger jo alt. Hvem har lyst til at bruge en compiler som kun compiler 95% af noget valid C kode?

Når det så er sagt, så har LLVM da i det mindste et interessant perspektiv (i modsætning til at forsøge at genoplive PCC som er en 30 år gammel compiler).

C compiler og VM teknologi - det er da interessant !

Hvilket Google og Apple, så tilsyneladende også mener.
Gravatar #9 - arne_v
11. apr. 2009 18:11
#3-5

Jeg prøvede lige med min personlige lille benchmark program på Linux.

Resultat:

integer - LLVM ca. 20% hurtigere end GCC4
floating point - LLVM ca. 33% langsommere end GCC4
string (nul termineret char array) - LLVM ca. lige så hurtig som GCC4
Gravatar #10 - jfs
12. apr. 2009 15:34
#8
Problemet er at meget open source software bliver skrevet med den antagelse at det er GCC der skal compile det. Så kommer udviklerne til at bruge GCC-specifikke konstruktioner der ikke er accepterede andre steder, det kan være funktionsdekorationer eller inline assembly, for eksempel.
Gravatar #11 - arne_v
12. apr. 2009 15:44
#10

Mener du at GCC er specielt dårlig på dette område eller mener du bare at 2 alment brugte compilere generelt vil gøre kode mindre compiler specifikt.
Gravatar #12 - jfs
13. apr. 2009 01:05
#11
Det andet. Fordi der er så lidt (næsten ingen) variation i hvilke compilere folk bruger bliver der skrevet alt for meget kode der antager en compiler. Ved at der kommer mere variation får vi forhåbentlig generelt bedre kode.
(Endnu bedre: Konkurrence mellem compilerne kan give endnu bedre kodegenerering.)
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login