Optymalizacja w jack-audio-connection-kit.
Przemyslaw Iskra
sparky w pld-linux.org
Sob, 19 Gru 2009, 16:12:40 CET
On Sat, Dec 19, 2009 at 03:06:52PM +0100, Łukasz Krotowski wrote:
> Witam,
> mam zamiar podbić wersję JACK-a. Jednak jest tam wątpliwa łatka
> ustawiająca CFLAGS (z resztą wątpliwe, np. -fprefetch-loop-arrays
> lub -funroll-all-loops) wewnątrz configure. Podobnie samo configure
> z JACK-a próbuje zgadywać odpowiednie CFLAGS (znowu wątpliwe,
> np. -march=k8 zamiast -march=x86-64).
>
> W obecnej wersji łatka nakłada się ale flagi z configure nie są używane
> do kompilacji. Nie używane też są żadne wstawki assemblerowe
> zależne od SIMD (przynajmniej na pierwszy rzut oka).
>
> Najchętniej wyrzuciłbym łatkę i wyłączył (czyt. nie włączał) mechanizm
> zgadywania w configure odpowiednich flag -- po to jest makro optflags
> aby go używać.
>
> Jakieś przeciwwskazania? Coś mi umknęło?
Nie patrzyłem na JACK ale ogólnie konwencja jest taka:
1. Sprawdź czy jest wykrywanie możliwości SIMD w czasie runtime, jeśli
tak, i działa to można śmiało wszystkie załączyć. Jeśli niema wykrywania
runtime to dla każdej opcji potrzebny jest bcond i odpowiednie
ustawienie z zależności od arch.
* i486 - nic
* i586 - nic
* i686 - +mmx
* x86_64 - zależy czy asm tylko dla 32 bitów, czy może rozszeżenia gcc
są użyte do napisania tego kodu
2. -march (też mtune, mcpu) oraz -O2 ustawiamy my (-O3 oraz -Os są
niemie widziane), configure nie ma tego przestawiać.
Inne flagi są dopuszczone. Wszystkie nasze flagi mają być użyte.
3. Linkowanie ma być z naszymi rpmcflags oraz rpmldflags.
--
____ Sparky{PI] -- Przemyslaw _ ___ _ _ ........... LANG...Pl..Ca..Es..En
/____) ___ ___ _ _ || Iskra | | _ \| | | : WWW........ppcrcd.pld-linux.org
\____\| -_)'___| ||^'||//\\// < | _/| | | : JID......sparky<at>jabberes.org
(____/|| (_-_|_|| ||\\ || |_ |_| |_| _| : Mail....sparky<at>pld-linux.org
Więcej informacji o liście dyskusyjnej pld-devel-pl