Optimera kompilering för processorarkitektur, osx
Optimera kompilering för processorarkitektur, osx
Blivit tvungen att kompilera en del program på sistone och då känner jag att jag lika gärna hade kunnat ställa in kompileringen på att optimera efter min arkitektur, G4-processorn är långsam nog som den är.
Hur går jag till väga för att ställa standardkompileringsflaggorna och vad är lämpligt att välja?
Hur går jag till väga för att ställa standardkompileringsflaggorna och vad är lämpligt att välja?
http://sniglom.blogspot.com
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
Re: Optimera kompilering för processorarkitektur, osx
Det lär ska bero på vilken kompilator du använder...snigel wrote: Hur går jag till väga för att ställa standardkompileringsflaggorna och vad är lämpligt att välja?
Re: Optimera kompilering för processorarkitektur, osx
Det vet jag faktiskt inte, jag har installerat xcode med medföljande kompilatorer. Antar att det vanligaste att optimera är för c/c++. Men ju fler desto bättre.Trappski wrote:Det lär ska bero på vilken kompilator du använder...snigel wrote: Hur går jag till väga för att ställa standardkompileringsflaggorna och vad är lämpligt att välja?
http://sniglom.blogspot.com
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
Jag tror inte på det.
IMHO är det en gentoo-sjuka som spritt sig att man kan få nåt att bli bättre genom
att ställa om flaggorna till nåt utvecklarna inte avsåg och sen bygga om openoffice
i 24h för att "spara tid".
IMHO är det en gentoo-sjuka som spritt sig att man kan få nåt att bli bättre genom
att ställa om flaggorna till nåt utvecklarna inte avsåg och sen bygga om openoffice
i 24h för att "spara tid".
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
Alltså, det beror väl på ifrån fall till fall. Förra hösten satt vi och kodade Fortran i några labbar och att slänga in -O4 hjälpte prestationen på våra simuleringsprogram en hel del. Då pratar vi dock relativt enkla och väldigt beräkningstunga program, vilket förmodligen optimeras mer och enklare än annat.IcePic wrote:Jag tror inte på det.
IMHO är det en gentoo-sjuka som spritt sig att man kan få nåt att bli bättre genom
att ställa om flaggorna till nåt utvecklarna inte avsåg och sen bygga om openoffice
i 24h för att "spara tid".
Som jag förstod det så är det i Snigels fall program som oavsett måste kompileras manuelt och då kan man väl lika gärna slänga med några flaggor som fortfarande är "safe", såsom att specificera arkitekturen. Som Trappski säger borde det väl stå i dokumentationen för varje kompilator, så leta efter ord såsom "arch" och "mach".
"Broadcom and Apple are the antithesis of free disclosure of information." - Theo de Raadt
"Unconditional love costs extra." - Sun Microsystems
"Unconditional love costs extra." - Sun Microsystems
De saker jag kompilerar finns det ingen binär för, hade gärna fått allt serverat om det fanns.IcePic wrote:Jag tror inte på det.
IMHO är det en gentoo-sjuka som spritt sig att man kan få nåt att bli bättre genom
att ställa om flaggorna till nåt utvecklarna inte avsåg och sen bygga om openoffice
i 24h för att "spara tid".
Jag tror inte heller på optimeringshysterin, men om man ändå ska kompilera finns det väl ingen anledning att låta bli?
http://sniglom.blogspot.com
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
En anledning är att du kommer använda gcc på sätt som folk i normalfallet inte gör. Du kommer få ut kod som klart färre personer testat, än om du körsnigel wrote:De saker jag kompilerar finns det ingen binär för, hade gärna fått allt serverat om det fanns.
Jag tror inte heller på optimeringshysterin, men om man ändå ska kompilera finns det väl ingen anledning att låta bli?
på default för plattformen.
Beroende på hur udda just din cpu är kan man få rätt intressanta problem med
länkning senare (brukar hända mig på sparc64) när ett lib och en applikation
inte är helt överens om hur långa relativa pekare kan vara eller andra cpu-specifika
detaljer som påverkar hur koden anropar subrutiner.
Om man bygger allt själv ser man inte såna problem, men så fort man senare drar
in nåt som någon annan byggt så blir det konstigt.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
G4 räknas väl som någorlunda udda antar jag, men inte väldigt ovanlig.
Jag har inget emot att testa, maskinen är inte i något behov av driftsäkerhet och skulle det inte fungerar får jag bara kompilera om dem som vanligt igen.
Hade varit lärorikt att pröva.
Jag har inget emot att testa, maskinen är inte i något behov av driftsäkerhet och skulle det inte fungerar får jag bara kompilera om dem som vanligt igen.
Hade varit lärorikt att pröva.
http://sniglom.blogspot.com
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
Nja, men generisk PPC-kod ska ju funka på G3-G5, och antagligen ner till 60Mhz 601-ppc:er.snigel wrote:G4 räknas väl som någorlunda udda antar jag, men inte väldigt ovanlig.
-march=nånting lär det ju vara, om det är i linje med hur gcc brukar funka.Jag har inget emot att testa, maskinen är inte i något behov av driftsäkerhet och skulle det inte fungerar får jag bara kompilera om dem som vanligt igen.
Hade varit lärorikt att pröva.
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
Vet någorlunda hur jag ska ställa in det, men jag vet inte var jag ska ställa in det om det ska vara som default vid kompilering från exempelvis portsystem och liknande.IcePic wrote: -march=nånting lär det ju vara, om det är i linje med hur gcc brukar funka.
http://sniglom.blogspot.com
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
Work |i5 760@4.2GHz|16GB|P55|GTX 670|850 500GB|Xonar D2|2TB
Extra |q9550@3.4GHz|8GB|P45|GTX 670|830 256GB|Audigy 2
MacB.|p8600@2.4GHz|8GB|320m|BX100 500GB
Serve|c1037@1.8GHz|8GB|NM70|X25-M 80GB|Seagate 4TB
på openbsd skulle det varasnigel wrote:Vet någorlunda hur jag ska ställa in det, men jag vet inte var jag ska ställa in det om det ska vara som default vid kompilering från exempelvis portsystem och liknande.
CFLAGS="-march=foo" i filen /etc/mk.conf
Kanske nåt liknande där?
Oh give me a clone, my very own clone,
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!
with the Y chromosome changed to X!
And since she's my own, of my own flesh and bone,
she'll be thinking of nothing but sex!