64 bitars-optimering...???

Tråden skapades och har fått 5 svar. Det senaste inlägget skrevs .
1

Jag har förstått att vi inte alls sett den fulla kraften av G5:an än, innan panther och dess optimering för 64-bitarstekniken. Men räcker det med att ha ett optimerat OS för att använda hela processorkraften, eller måste också varje specifikt program OCKSÅ skrivas om för att kunna tillvarata alla fördelar???

Varje program måste skrivas om för att dra full nytta av ett 64-bitars OS. Det är långt ifrån alla program som drar mycket nytta av att 64-bitarsoptimering. I dagsläget är själva OSet inte helt omskrivet för 64-bitaroptimering. Men, Apple har släppt en uppdatering av sin utvecklingsmiljö samt bibliotek för att låta applikationsutvecklare skriva 64-bittarsoptimerade program redan idag. Dvs, trots att OSet inte är 64-bitsoptimerat så kan vissa program vara det. Med tiden kommer Apple antagligen släppa en version av OSet som är helt optimerat för 64-bitar, och det antar jag mer är en PR-stunt än en praktisk grej. För, som sagt, många program drar inte nytta av 64-bitsoptimering. Det tar eventullt lite mera minne i anspråk. Men, för många icke teknsikt insatta låter det mycket oroväckande om ett program INTE är 64-bitsoptimerat.

  • Medlem
  • Stockholm
  • 2003-10-27 13:14

Hur snabba kommer Apple vara denna gång? Med PowerPC skiftet tog det väl 3-4 år eller liknande innan optimerat OS kom.

Citat:

Skrevs ursprungligen av ace4711
Varje program måste skrivas om för att dra full nytta av ett 64-bitars OS.

Eh? Vilka förändringar förutom omkompilering med korrekt optimerande kompilator menar du skulle vara aktuella? Förutsatt att programmet inte är handknackat i assembler då...

Citat:

Skrevs ursprungligen av thorman
Eh? Vilka förändringar förutom omkompilering med korrekt optimerande kompilator menar du skulle vara aktuella? Förutsatt att programmet inte är handknackat i assembler då...

Det är massa saker man måste tänka på för att få ett fullt optimerat program. Kompilatorn kan inte åstadkomma magiska grunkor av sig själv. En G5 kan hantera fler register än en G4, därför lönar det sig att använda lokala variabler istället för globala, t ex. Att fylla register med det data som "bäst behövs där" är en uppgift som inte alltid kan bestämmas vid compile-time, du som programmerare vet i många fall mer än kompilatorn. Det är ett stort straff att typkonvertera mellan t ex float och int. Detta undviker man i källkoden, inte med kompilatorn.

Vissa datatyper i vissa språk har bestämd storlek. 16-bitarsheltal, 32-bitars heltal eller 64-bitars, te x. Andra datatyper har "odefinerat" storlek. Du kan beroende på ordlängd hos processorn tjäna på att använda datatyper av rätt storlek. Kompilatorn får inte bryta mot språkets begränsningar, utan du som programmerare måste optimera för en speciell ordlängd, eller hitta en avvägning.

Optimera för en processor (eller ordlängd) kan övergripande göras i två steg. Dels optimerar man källkoden och dels låter man kompilatorn optimera i kodgenereringen. Man kan självklart bara göra det ena av dom två stegen, men då får man ju inte full effekt. Däremot kan ju markndsavdelningen basunera ut att man har "G5-optimerat" den nya versionen av "Splatter Joe G5" bara man gör det ynkligase minsta man kan.

Citat:

Skrevs ursprungligen av gleisner
Jag har förstått att vi inte alls sett den fulla kraften av G5:an än, innan panther och dess optimering för 64-bitarstekniken. Men räcker det med att ha ett optimerat OS för att använda hela processorkraften, eller måste också varje specifikt program OCKSÅ skrivas om för att kunna tillvarata alla fördelar???

Mycket av det som gör PowerMac G5 till en snabbare dator får du del av direkt idag. Det är busshastigheter, intern bandbredd, minnestyper, hårddiskcontroller (S-ATA) och massa annat smaskens som gör att G5 blir en så pass mycket snabbare dator. Processorn är bara en del av det och antagligen en liten sådan.

Sen så håller jag med ace om att det här med 64 bitar till mångt och mycket är en PR-grej. Många av de program du använder idag kan inte dra nytta av 64 bitar på ett effektivt sätt, så det finns ingen optimering att göra. Det är ju inte alls samma sak som att t.ex. optimera för två processorer. 64 bitar är jättebra i vissa sammanhang, men för det mesta spelar det absolut ingen roll, det viktigaste för dig är att det går lika bra att köra 32-bitarsprogram på en 64-bitarsprocessor.

(Jag är inte nån guru på processorer, detta är bara vad jag läst mig till.)

1
Bevaka tråden