[BGLug VS] Accelerare del 300% la codifica MPEG4 !
Fleur @ BGLUG
fleur@bglug.it
Gio 3 Lug 2008 11:42:22 CEST
Ho recuperato il link dell'interessante articolo d cui vi ho parlato
l'altra sera [1].
In sostanza l'autore ha ricompilato il pacchetto Xvid nella speranza che
l'accoppiata make&gcc ottimizzasse la libreria per il suo pc...
L'articolo inizia con la considerazione (ovvia) che i pacchetti binari
di una distribuzione cercano di essere il pił possibile trasversali
rispetto alle varie architetture x86 ed in sostanza vengono ottimizzati
per processori 686... in questo modo funzionano sulla stragrande
maggioranza dei pc degli ultimi 10 anni (dal PentiumPro/PentiumII/K7 in
poi).
Una prima ricompilazione del pacchetto Xvid e della relativa librera
libxvidcore4.so.1 ha come risultato solo un piccolo, marginale,
incremento di prestazioni...
Da un'analisi piu' approfondita del log di configure si nota pero' come
venga utilizzata un'implementazione di alcuni algoritmi in C invece dei
piu' performanti scritti in ASM a causa della mancanza del compilatore
assembler yasm [2,3,4] in grado di supportare il set di istruzioni AMD64
Beh, presto detto, ha scaricato il sorgente di yasm 0.7.1 (la
distribuzione aveva ancora un vecchia versione); compilato ed installato
quest'ultimo ha rilanciato il configure di xvid che ha riconosciuto
correttamente la disponibilitą di yasm.
A questo punto la libreria Xvid ricompilata si e' dimostrata decisamente
pił performante, passando da 7 frame codificati in un secondo a 21!
Qualcuno che abbia voglia di sperimentare martedi' prossimo ?!?
Ciao
Fleur
[1] :
http://www.freesoftwaremagazine.com/columns/tale_of_a_codec_optimisation_doing_things_the_linux_way
[2] : http://www.tortall.net/projects/yasm/
[3] : http://en.wikipedia.org/wiki/Yasm
[4] : http://www.programmazione.it/index.php?entity=eitem&idItem=30881
Maggiori informazioni sulla lista
BglugVS