Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 20 reacties
Bron: Intel

Intel heeft een nieuwe versie van zijn C/C++-compiler Uitgebracht. Deze software is ontwikkeld om broncode op een Intel-processor zo efficiënt mogelijk te compileren. De update is beschikbaar voor zowel Linux als Windows. Wat er precies veranderd is in beide varianten kan je hieronder lezen:

Here are some of the new features
  • Linux:
    • New Processor Support: Provides optimization support for the latest Intel processors code-named Prescott, a new generation of IA-32 processors.
    • Compiler Code-Coverage Tool: Provides software developers with the ability to see a complete picture of how much application code is exercised when a specific workload is applied. To determine which code was used, the code-coverage tool uses profile-guided optimization technology.
    • Compiler Test-Prioritization Tool: Provides software developers with the ability to select and prioritize application tests as application profiles change.
    • Precompiled Headers: Support both automatic and manual precompiled header processing. Under the right circumstances, this new feature can dramatically improve compilation time.
    • Windows* and Linux: Compilers are sold separately for Windows and Linux, and can be purchased from resellers worldwide or from Intel directly at the IntelŽ Web Store.
    • Multiplatform: C++ Compilers are packaged and licensed with compilers for both IA-32 and Itanium 2 processors.
    • Support: Every purchase of an IntelŽ Software Development Product includes one year of support services, which provides access to IntelŽ Premier Support and all product updates during that time.
  • Windows:
    • Provides compilers for IA-32 and Itanium 2 processors and now includes IntelŽ C++ Compiler for eMbedded Visual C++*, an optimizing compiler for PDAs, handheld devices, and mobile phone solutions
    • Support for the latest IntelŽ processors: Optimization support for Intel processors code-named Prescott, a new generation of IA-32 processors
    • Compiler Code-Coverage Tool allows developers to profile workloads on application code. The tool uses Intel profile-guided optimization (PGO) technology.
    • Compiler Test-Prioritization Tool lets developers select and prioritize application tests as the profile of applications change
    • Improved integration: Significantly improved integration with Microsoft Visual Studio* .NET 2002 and 2003
    • Windows* and Linux*: Compilers are packaged and sold separately for Windows and Linux and each can be purchased from resellers around the world or directly from Intel at the IntelŽ Web store
    [break]Om gebruik te maken van de shareware-versies moet je je wel registreren. Op dezelfde pagina is het mogelijk om de software aan te schaffen:
Versienummer:8.0
Besturingssystemen:Windows 9x, Windows NT, Windows 2000, Linux, Windows XP, Linux x86
Website:Intel
Download:http://www.intel.com/software/products/global/eval.htm#compilers
Licentietype:Shareware
Moderatie-faq Wijzig weergave

Reacties (20)

Ik heb toch wel misschien een raar vraagje :
M.b.v. welke compiler zou deze compiler nu zijn ontwikkeld ? :?
Dat is een kip-ei vraagstuk.
De eerste compiler is ooit in machinecode geschreven. Daarna is zoveel mogelijk gebruik gemaakt van de mogelijkheid van compilers om zichzelf (en de nakomelingen) te kunnen compileren.
Dat gebeurt via een ingenieus proces: in de eerste stap schrijft de 'oude" compiler een ruwe eerste versie van de "nieuwe" compiler, met nog niet alle nieuwe features erin. In de tweede stap wordt de cpmiler nogmaals gecompileerd met de ruwe eerste versie van de compiler, zodat nu hopelijk wel alle nieuwe features in de nieuwe compiler zitten.
Tot slot wordt de compiler voor de derde keer gecompileerd. De tweede en derde compiler worden via een checksum gecontroleerd.
Als ze hetzelfde zijn, dan is de compilatie geslaagd, en is er een nieuwe compiler geboren O+ Dit proces heet het bootstrappen van een compiler.

Als je wat meer wil wteen over praktijkervaringen met ICC 8.0, zijn hier een linkje naar de Gentoo forums, waar de ervaringen "gemengd' zijn. Duidelijk is wel dat ICC niet zomaar als vervanger van GCC kan worden gezien.
Dat boeit natuurlijk niks, deze nieuwe compiler zelf kunnen ze met een willekeurig verrot trage bestaande compiler hebben geschreven. Daardoor zal hij hooguit langzamer code compileren, maar geen langzamere.

En als ze dan vervolgens hun sources opnieuw compileren maar dan met hun eigen ding, is ook dat verholpen.
Zichzelf waarschijnlijk. Zoals Apache_ met veel te veel woorden aangeeft: De compiler kan z'n eigen source compileren, mits die source eerst in een andere compiler gecompileerd is.

Op dezelfde manier zijn programmeertalen soms ook in zichzelf geschreven. Delphi is hier een hele bekende van. De volledige IDE van Delphi is in Delphi geschreven en gecompileerd. Dat kun je op veel plekken terugzien.
volgens mij worden de meeste compilers in assembly geschreven?
'k heb anders wel eens een compiler geschreven in Java hoor. Goed, alleen een scanner en parses, de code generator hebben we maar even achterwege gelaten. Kan prima, alleen kun je afvragen in hoeverre dat nuttig is natuurlijk.
Je hebt een zgn bootstrap.

De eerste compiler was waarschijnlijk in asm, daarmee kun je dan je eerste C versie maken, laten we die compiler v1 noemen.

Dan kan je met compiler v1 opnieuw de sourcetree van compiler v1 compilen omdat hij waarschijnlijk beter (optimized) code genereert dan de assembly versie.

Waarschijnlijk hebben ze deze compiler eerst gecompileerd met compiler v7 en dan met de binary die daar uitkomt, de compiler v8 nog eens over de source tree halen.
Waarschijnlijk hebben ze deze compiler eerst gecompileerd met compiler v7 en dan met de binary die daar uitkomt, de compiler v8 nog eens over de source tree halen
Ja ja, zoiets als Vriendin v2.0 wordt Vrouw 1.0 en daar komt dan kind 1.0 en 2.0 uit 8-)
Ik snap niet helemaal waar dit voor is? zijn dit een soort drivers voor je intel processor?
:?
Hiermee kun je je programma's die in "gewone" taal zijn geschreven omzetten naar machinetaal: een .exe voor Windows, bijvoorbeeld.

Voorbeeldje:

#include <stdio.h>

void main (void) {
printf ("Hallo Wereld!");
getch ();
}

Dit programmaatje doet het volgende:
- invoegen van de standaard input- en output library
- hoofdprogramma starten. Dit neemt geen argumenten aan, en geeft er geen terug. (Beiden void.)
- Het zet "Hallo Wereld" op het scherm.
- Het blijft wachten totdat je op een toets drukt, en stopt dan.

Omdat je computer dit niet begrijpt, verandert de compiler deze zogenaamde "source" in een .exe file, die machinetaal bevat. De computer kan die .exe file wel uitvoeren.
; achter printf vergeten ;)
cout << "Kijk nog eens Ikke, staat wel een puntkomma. \tPrint*, getver, dat doe je toch niet als het om C++ gaat. Is een persoonlijke voorkeur echter.";
Dus, met deze tool zou je zeg maar Win32 broncode [die bij bij WinLIRC wordt meegeleverd] dus zelf kunnen compilen???
Ja: Hiermee kan je code compilen naar een executable.
Nee: Het moet C-taal zijn en indien specifiek voor OS x (x als wildcard btw) kan je het niet compilen voor je linux client bijvoorbeeld.
Huh, hier staat : "New Processor Support: Provides optimization support for the latest Intel processors code-named Prescott, a new generation of IA-32 processors."

Ik dacht altijd dat de pentiumx x86-32 waren en de athlon 64 er dan x86-64 extensies bij had en dan IA-32 en IA-64 voor de itanium zijn.
IA staat simpelweg voor 'Intel Architecture'. IA32 is dus simpelweg een 32bit cpu die gebruik maakt van de door Intel ontworpen architectuur (bv. een P4).
Is er een mogelijkheid dat deze compiler verbeteringen biedt voor AMD's?
Ik weet dat het een Intel compiler is, maar ik dacht dat een specifieke AMD compiler niet bestond.
Behalve dat die compiler geen x86-64 en 3DNow code produceert, kan hij wel degelijk programma's voor AMD processoren optimaliseren. Het heeft voornamelijk te maken met hoe de processor intern is opgebouwd, dus hoeveel pipelines, hoeveel stages enz er in zitten. Bij processoren uit dezelfde "generatie" (bijvoorbeeld Pentium 3 en K7) zijn die features redelijk hetzelfde, maar in ieder geval verschillend van een vorige generatie (pentium 2 / K6-3). Ik heb genoeg testen gezien die met een intel compiler ook op een amd sneller liepen dan met een compiler van een oudere generatie.
Hoe verhoudt dit nieuwe intel geval zich trouwens tot de compiler van msvc 7 (die nieuwe dus, msdev 2003), zit er nog veel verschil tussen hoe goed deze twee optimizen?
Vraagje: wat kan deze shareware compiler wat de gcc compiler niet kan???

(Dit is overigens een oprechte vraag, geen flame ofzo)

Edit:
Ik kan overigens ook wel lezen dat er staat dat intel deze compiler voor intel processors heeft geoptimaliseerd, maar dat is dus gewoon diepe onzin, ik werk zelf dagelijks met compilers en snap niet echt waarom intel deze eigen compiler op de markt zet...

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True