Se tiver um CPU Pentium, um AMD K6, Athlon ou Athlon-XP, poderá querer usar as optimizações do compilador para criar a sua versão do Kwave com a possibilidade de correr mais rápido em alguns pontos percentuais. O ganho em velocidade será na ordem dos 30% em alguns sistemas, enquanto as funções que lidam com a manipulação de sinais e todas as funções que façam operações complexas de tempo-frequência (como a FFT e o Audiograma) irão tirar bastante partido disto.
Não precisa de perceber muito sobre programação para usar um compilador optimizado na compilação do Kwave, mas talvez precise de algum tempo para pôr o compilador a funcionar e instalado.
Poderá compilar facilmente o pacote RPM para o Athlon, Athlon-XP, Pentium e Pentium Pro (entre outros CPU's), usando algumas definições no seu ficheiro rpmrc
. Tanto poderá modificar o ficheiro rpmrc
do seu sistema em /usr/lib/rpm
como o ficheiro .rpmrc
na sua pasta pessoal. Aqui poderá indicar algumas linhas de opções como as seguintes:
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
(Descobri estes truques interessantes em http://www.keywarrior.net/duesti/rpmopt.en.html. Obrigado a Matthias Düsterhöft!).
Isto significa que, numa arquitectura k7
, o pacote RPM será compilado com -O3 -march=athlon-xp -DNDEBUG -fomit-frame-pointer
como opções de compilação, e assim por diante; poderá estender ou adaptar essas opções de acordo com as suas próprias necessidades. As definições aplicam-se a todas as secções descritas acima onde é usado o rpmbuild -ta, ou onde for para criar um RPM binário a partir de um RPM de código com a opção rpmbuild --rebuild.
Note
Se o rpm se recusar a instlaar o seu pacote, por não parecer ser o adequado à arquitectura do seu computador, poderá instalar normalmente um pacote optimizado, indicando o parâmetro adicional --ignorearch e não se preocupar.
A invocação do compilador é bastante simples. Normalmente é suficiente definir as variáveis de ambiente CFLAGS
e CXXFLAGS
da forma correcta e depois compilar como de costume. Para saber as melhores configurações, consulte por favor a documentação na página Web sobre o compilador correspondente.
Se tiver compilado o Kwave a partir de uma estrutura de código (pacote .tar.bz2 descomprimido ou Git), tem de indicar as opções antes da chamada. Por exemplo:
%
CFLAGS="-O4 -march=athlon-xp -mcpu=athlon-xp -pipe" \ CXXFLAGS="-O4 -march=athlon-xp -mcpu=athlon-xp -pipe" \ cmake[pasta de código]
Se tiver recompilado o Kwave a partir de um pacote RPM de código, siga por favor as instruções na secção anterior.