Bygga processoroptimerade paket

Om du äger en Pentium, AMD K6, Athlon eller Athlon-XP processor kan du vilja använda kompilatoroptimeringar för att kompilera din version av Kwave som kör några procent snabbare. Hastighetsökningen är upp till 30 % på vissa system, medan funktioner som hanterar signalmanipulering och alla funktioner som gör komplexa tid-frekvensoperationer (som FFT och sonogram) drar störst nytta av det.

Du behöver inte förstå mycket om programmering för att använda en optimerad kompilator för att kompilera Kwave, men kanske kan du behöva en del tid för att få själva kompilatorn installerad och fungerande.

RPM-optimeringar

Det är enkelt att kompilera RPM-paket optimerat för Athlon, Athlon-XP, Pentium och Pentium Pro (och några andra processorer) genom att använda några definitioner i filen rpmrc. Du kan antingen ändra systemets rpmrc i /usr/lib/rpm eller .rpmrc i din hemkatalog. Där kan du ange alternativ som liknar följande:

optflags: i586 -O2 -march=pentium -DNDEBUG -fomit-frame-pointer
optflags: i686 -O2 -march=pentiumpro -DNDEBUG -fomit-frame-pointer
optflags: athlon -O2 -march=athlon -DNDEBUG -fomit-frame-pointer
optflags: k6 -O3 -march=k6 -DNDEBUG -fomit-frame-pointer
optflags: k7 -O3 -march=athlon-xp -DNDEBUG -fomit-frame-pointer

(Jag hittade de snygga tricken på http://www.keywarrior.net/duesti/rpmopt.en.html. Tack till Matthias Düsterhöft!)

Det betyder att rpm-pakete kompileras med kompilatoralternativen -O3 -march=athlon-xp -DNDEBUG -fomit-frame-pointer på en k7-arkitektur, och så vidare. Du kan utöka eller anpassa dem efter egna behov. Inställningarna gäller alla tidigare avsnitt på alla platser där rpmbuild -ta används eller där ett RPM-binärpaket skapas från ett RPM-källkodspaket med användning av rpmbuild --rebuild.

Notera

Om rpm vägrar installera paketet eftersom det inte verkar passa ihop med datorns arkitektur, kan du normalt bara installera ett optimerat paket genom att ange de ytterligare parametrarna --ignorearch och inte bry dig om det.

Hur man skickar optimeringsalternativ till kompilatorn för hand

Att anropa kompilatorn är rätt enkelt. Normalt är det tillräckligt att ställa in miljövariablerna CFLAGS och CXXFLAGS på rätt sätt och därefter kompilera som vanligt. För de bästa inställningarna, se dokumentationen eller hemsidan för respektive kompilator.

Om du bygger Kwave från ett källkodsträd (uppackad tar.bz2 eller från GIT) måste flaggorna anges innan anropet. Exempelvis:

% CFLAGS="-O4 -march=athlon-xp -mcpu=athlon-xp -pipe" \
  CXXFLAGS="-O4 -march=athlon-xp -mcpu=athlon-xp -pipe" \
  cmake [källkodskatalog]

Om du bygger om Kwave från ett RPM-källkodspaket, följ instruktionerna i föregående avsnitt.