Riksia Posted August 19, 2011 Report Share Posted August 19, 2011 Czy są jakieś sposoby kompilacji, by program jak najszybciej się uruchamiał? Skompilowałem najnowszego Amaroka ale prędkość uruchamiania mnie nie zadowala. Niby dodałem do bash profile export CC=gcc export CXX=g++ export CFLAGS="-march=i686 -O2 export CXXFLAGS=$CFLAGS Ale nie wiem czy cmake z tego automatycznie skorzystało czy nie... Link to comment Share on other sites More sharing options...
@WalDo Posted August 19, 2011 Report Share Posted August 19, 2011 Wątpię byś uzyskał zauważalny przyrost szybkości. Przede wszystkim należy pamiętać, że Amarok korzysta z gotowych bibliotek KDE i nie tylko (kdelibs, Qt, mysql), więc żeby zoptymalizować pod swoje wymagania, to prawdopodobnie musiałbyś pół KDE przekompilować. Link to comment Share on other sites More sharing options...
thof Posted August 19, 2011 Report Share Posted August 19, 2011 To takie myślenie w stylu, skompiluję program na szybszym komputerze to otrzymam szybsze binarki Myślisz, że dodanie dwóch flag (poza tym dlaczego nie -O3) coś zmieni? Developerzy Fedory stosują na pewno bardziej wyrafinowane sztuczki, żeby zoptymalizować oprogramowanie. Amarok jest rozbudowany i ciężki przez to potrzebuje więcej czasu niż inne odtwarzacze. Jeśli Amarok przypadł Ci do gustu to sprawdź Clementine (jakby fork Amaroka), który jest trochę lżejszy. Poza tym możesz ładować potrzebne pliki programu do pamięci już w czasie uruchamiania systemu, czyli technologia readahead. Ale zdecydowanie najwięcej zyskasz zmieniając sprzęt, a szczególnie wymieniając standardowy dysk twardy na SSD. Link to comment Share on other sites More sharing options...
morsik Posted August 19, 2011 Report Share Posted August 19, 2011 Róznica jest odczuwalna, ale na wolniejszych maszynach. Poza tym, musisz przekompilować cały system żeby różnicę poczuć (Amarok zależy od kdelibs, kdelibs zależy od Qt, Qt zależy od wielu bibliotek systemowych... biblioteki systemowe zależą od kernela). Dla takich ludzi powstało Gentoo właśnie. Dodatkowo przyjąłeś złe flagi (-; -march powinno przyjąć coś bardziej pod Twój procesor (konkretny model, i686 to optymalizacja "ogólna" dzięki której program uruchomisz na każdym i686. Czasem -march=athlon64 (dla przykładu) dodaje dodatkowe flagi dla tego konkretnego procesora. No i jeszcze -O3 o którym już thof powiedział. Trzeba pamiętać też o skutkach. przy -O3 program jest szybszy, ale pobiera więcej RAM-u... Link to comment Share on other sites More sharing options...
sokar620 Posted August 19, 2011 Report Share Posted August 19, 2011 Paczki dla fedory budowane są przy użyciu takich flag (i686): -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables Link to comment Share on other sites More sharing options...
8xxa_FC Posted August 19, 2011 Report Share Posted August 19, 2011 z ciekawosci - a jakie flagi dla 64-bit? po odpowiedzi mlodira - jakie flagi sa ustawiane dla paczek fedory (x86_64)? kiedys przymierzalem sie do gentoo (zostawilem sobie nawet partycje), ale ze stage 1/2. tyle, ze na to trzeba czasu. a raczej CCCCZZZZZAAAAASSSSUUUU. i dalem sobie spokój. pamieci teraz tanie(sze), mozna miec duzo. takiego knoppiksa z nosnika da sie podniesc kopiujac go do pamieci - tyle, ze start systemu trwa (za to, jak dla mnie, predkosc podnoszenia sie aplikacji, a i pracy niektórych z nich jest znacznie wieksza; no i napedy/sloty wolne ). moze ktos próbowal podobnej zabawy z fedora. dostep do ramu jest nadal szybszy niz do nosników zewnetrznych... jak kompilowac - wydaje sie, ze flagi kompilatora maja zdecydowanie mniejszy wplyw na predkosc wykonywania programu, niz to, jak zostalo napisane zródlo (jakby sie uprzec to i "hello world" mozna zamulic). ja bym poszedl na latwizne i zmienil odtwarzacz. Link to comment Share on other sites More sharing options...
Riksia Posted August 20, 2011 Author Report Share Posted August 20, 2011 Nie wiem czemu, ale na tym kompilowanym Amaroku, wentylator procesora się coś rozpędza Link to comment Share on other sites More sharing options...
mlodir Posted August 20, 2011 Report Share Posted August 20, 2011 z ciekawości - a jakie flagi dla 64-bit? kiedyś przymierzałem się do gentoo (zostawiłem sobie nawet partycję), ale ze stage 1/2. tyle, że na to trzeba czasu. a raczej CCCCZZZZZAAAAASSSSUUUU. i dałem sobie spokój. pamięci teraz tanie(sze), można mieć dużo. takiego knoppiksa z nośnika da się podnieść kopiując go do pamięci - tyle, że start systemu trwa (za to, jak dla mnie, prędkość podnoszenia się aplikacji, a i pracy niektórych z nich jest znacznie większa; no i napędy/sloty wolne ). może ktoś próbował podobnej zabawy z fedorą. dostęp do ramu jest nadal szybszy niż do nośników zewnętrznych... jak kompilować - wydaje się, że flagi kompilatora mają zdecydowanie mniejszy wpływ na prędkość wykonywania programu, niż to, jak zostało napisane źródło (jakby się uprzeć to i "hello world" można zamulić). ja bym poszedł na łatwiznę i zmienił odtwarzacz. Tutaj jest wszystko napisane. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now