# Firefox - dodatkowe flagi kompilacji

## ar_it

Witam,

Wróciłem do mojej ulubionej dystrybucji - Gentoo

Zainstalowałem sobie firefox'a i jest niestety trochę za wolny jak dla mnie (stosunkowo długo się ładuje)

Wiem że mogę dodać dodatkowe flagi kompilacji dla firefox, niestety google milczy   :Sad:  , albo ja źle pytam.

```

processor       : 0

vendor_id       : GenuineIntel

cpu family      : 6

model           : 13

model name      : Intel(R) Celeron(R) M processor         1.40GHz

stepping        : 8

cpu MHz         : 1396.769

cache size      : 1024 KB

fdiv_bug        : no

hlt_bug         : no

f00f_bug        : no

coma_bug        : no

fpu             : yes

fpu_exception   : yes

cpuid level     : 2

wp              : yes

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx

bogomips        : 2795.21

```

emerge --info

```

Portage 2.0.54 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.5-r2, 2.6.15-gentoo-r1 i686)

=================================================================

System uname: 2.6.15-gentoo-r1 i686 Intel(R) Celeron(R) M processor         1.40GHz

Gentoo Base System version 1.6.14

dev-lang/python:     2.3.5-r2, 2.4.2

sys-apps/sandbox:    1.2.12

sys-devel/autoconf:  2.13, 2.59-r6

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1

sys-devel/binutils:  2.16.1

sys-devel/libtool:   1.5.22

virtual/os-headers:  2.6.11-r2

ACCEPT_KEYWORDS="x86"

AUTOCLEAN="yes"

CBUILD="i686-pc-linux-gnu"

CFLAGS="-Os -march=pentium4 -mcpu=pentium4 -mmmx -msse -pipe -fomit-frame-pointer -fforce-addr -mfpmath=sse,387 -ffast-math -DNDEBUG -DG_DISABLE_DEBUG -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /var/qmail/control"

CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"

CXXFLAGS="-march=pentium4 -mcpu=pentium4 -Os -pipe -DNDEBUG -DG_DISSABLE_ASSERT -ffast-math"

DISTDIR="/usr/portage/distfiles"

FEATURES="autoconfig distlocks sandbox sfperms strict"

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LANG="pl_PL"

LC_ALL="pl_PL"

LINGUAS="pl"

MAKEOPTS="-j2"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="x86 X a52 aac aalib acpi alsa amarok apm arts asf audiofile avi berkdb bitmap-fonts bluetooth bzip2 cdparanoia cdr clamav crypt cups curl dga directfb dri dvd dvdr dvdread eds emboss encode exif expat extraicons extramodules fam fdftk ffmpeg flac foomaticdb fortran ftp gd gdbm gif glut gphoto2 gpm gstreamer gtk2 hal hardened icc idn ieee1394 imagemagick imlib ipv6 java jpeg kde lcms libg++ libwww lirc lm_sensors mad mail matroska mikmod mjpeg mmx mng motif mp3 mpeg mythtv ncurses nls nptl nptlonly nvidia ogg oggvorbis openal opengl oss pam pcmcia pcre pdf pdflib perl pmu png python qt quicktime readline samba sdl sensord slang smartcard speex spell sse sse2 ssl svg svga symlink tcpd theora tiff truetype truetype-fonts type1-fonts udev usb userlocales v4l vcd vidix visualization voice vorbis wifi win32codecs wmf xanim xine xinerama xml2 xpm xv xvid zlib linguas_pl userland_GNU kernel_linux elibc_glibc"

Unset:  ASFLAGS, CTARGET, LDFLAGS, PORTDIR_OVERLAY

```

Będę wdzięczny za pomysły  :Very Happy: 

Pozdrawiam

ar_it

od raku: używaj znaczników [ CODE ].

[ QUOTE ] służy do CYTOWANIA wypowiedzi innych.

poprawiono znaczniki

----------

## Belliash

gdzies na tym forum krecil sie shackowany ebuild,

moze zainteresuj sie nim?

P.S. GCC 4 jest szybsze niz 3

----------

## ar_it

 *rafkup wrote:*   

> gdzies na tym forum krecil sie shackowany ebuild,
> 
> moze zainteresuj sie nim?
> 
> 

 

Szperałem i na tym forum, ale wyszukiwarki chyba mnie dziś chyba nie do końca lubią.

 *Quote:*   

> 
> 
> P.S. GCC 4 jest szybsze niz 3
> 
> 

 

Co do GCC 4 to poszperam  :Smile: 

--

Pozdrawiam

ar_it

----------

## n0rbi666

Wyszukiwarka tu nikogo nie lubi  :Wink: 

https://forums.gentoo.org/viewtopic-p-3108553.html#3108553 - tu jest mój post o zmianie flag, jak udało mi się tego dokonać  :Smile: 

najlepiej będzie : skopiować te 3 pliki (mozconfig.eclass mozcore.eclass mozilla.eclass) do /usr/local/portage/eclass - oczywiście overlay tam musi być  :Smile: 

i wtedy je edytować - wyszukać ciągu znaków O2 (występuje tylko raz w każdym pliku) - zmienić na Os

a po komendach stripujących flagi dać

```
append-flags -march=athlon-xp -fomit-frame-pointer 
```

i tu możemy dorzucić co tylko chcemy

wg mnie, mozilla z Os działa o wiele lepiej, niż ta kompilowana O2

----------

## ar_it

 *n0rbi666 wrote:*   

> Wyszukiwarka tu nikogo nie lubi 
> 
> https://forums.gentoo.org/viewtopic-p-3108553.html#3108553 - tu jest mój post o zmianie flag, jak udało mi się tego dokonać 
> 
> najlepiej będzie : skopiować te 3 pliki (mozconfig.eclass mozcore.eclass mozilla.eclass) do /usr/local/portage/eclass - oczywiście overlay tam musi być 
> ...

 

Dzięki bardzo,

Będę walczył  :Smile: 

--

ar_it

----------

## tboloo

Ja uzywam standardowego ebuildu 1.5.0.1 z CFLAGS="-O2 -march=pentium-m -mtune=pentium-m -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe" i CXXFLAGS="-O2 -march=pentium-m -mtune=pentium-m -fomit-frame-pointer -momit-leaf-frame-pointer -fno-ident -pipe -fvisibility-inlines-hidden".

Ogniolisek uruchamis mi sie bardzo szybko, a dziala nie najgorzej - z pluginem fasterfox stronka http://www.metoyou.co.uk/ wspomniana w powyzszym poscie laduje sie 3.830s

----------

## n0rbi666

tboloo - piszesz, że używasz firefoxa skompilowanego z takimi flagami - a wiesz, że podczas kompilacji firefox sam sobie ustawia flagi (olewa make.conf)?  :Smile: 

----------

## yaq

Tak calkiem na marginesie - dla celerona m na gcc 3.3.x powinno sie ustawiac -march itp na pentium3 a nie 4, tak samo mozna wlaczyc sse2.

Nie pamietam konkretnych wpisow ale defaultowo cos tam bylo dziwnego w /etc/hosts i firefox staral sie to resolvovac przy starcie - pomagalo usuniecie wpisow opocz localhost.

----------

## tboloo

 *n0rbi666 wrote:*   

> tboloo - piszesz, że używasz firefoxa skompilowanego z takimi flagami - a wiesz, że podczas kompilacji firefox sam sobie ustawia flagi (olewa make.conf)? 

 

Wydaje mi sie w ebuildzie do 1.5.0.1 juz to poprawili, przynajmniej cos takiego znalazlem na forum, ale sie nie upieram ...

----------

## ar_it

 *Quote:*   

> 
> 
> Wysłany: Sob Lut 25, 2006 10:48 pm    Temat postu: 
> 
>   n0rbi666 napisał:
> ...

 

Ja też gdzieś czytałem, że firefox olewa flagi z make.conf.

Dlatego powstał ten post.

Co do firefox'a 1.5 tonaprawdę działa szybciej, ale na pewno nie jest tak szybki jak ten binarny. 

Bedę dalej szperał  :Smile: 

----------

## n0rbi666

tboloo - cały czas flagi są stripowane  :Smile: 

ar_it - kompilowałeś już z nowymi flagami ? dodałeś coś ciekawego ?  :Smile: 

----------

## ar_it

 *n0rbi666 wrote:*   

> tboloo - cały czas flagi są stripowane 
> 
> ar_it - kompilowałeś już z nowymi flagami ? dodałeś coś ciekawego ? 

 

Kompilowałem z dodatkowymi flagami dla LDFLAGS

```

LDFLAGS="-Wl,-O1,--sort-common -s -Bdirect"

```

Ale sam nie wiem czy to dało cos lepszego. w kazdym badz razie, prawdopodobnie jutro spróbuje sie przesiasc na gcc 4 (podobno jest szybsze  :Smile:  ) i pokombinuje z flagami. 

A co do flag dla firefox to czytałem o nich kiedyś w polemice jakiegoś usera do numeru linux+extra poświęconego gentoo. Muszę poszperać w moich archiwach.

Edit

 *Quote:*   

> Tak calkiem na marginesie - dla celerona m na gcc 3.3.x powinno sie ustawiac -march itp na pentium3 a nie 4, tak samo mozna wlaczyc sse2. 
> 
>  Nie pamietam konkretnych wpisow ale defaultowo cos tam bylo dziwnego w /etc/hosts i firefox staral sie to resolvovac przy starcie - pomagalo usuniecie wpisow opocz localhost.
> 
> 

 

Czy jesteś tego pewien co do pentium celeron M, przecież to odchudzony pentum?

Zrobiłem test przeglądarek firefox v konqueror

http://www.24fun.com/downloadcenter/benchjs/benchjs.html

i wyszło że firefox jest 3 krotnie szybszy niż konqueror w renderowaniu stron - dziwne, ja mam odmienne uczucie :/

OK

Mam skompilowanego FF, ale zrobił sobei na własnych flagach, olał moje (prawie)

```

Build tools

Compiler    Version    Compiler flags

i686-pc-linux-gnu-gcc    gcc version 3.3.6 (Gentoo Hardened 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)    -Wall -W -Wno-unused -Wpointer-arith -Wcast-align -Wno-long-long -march=pentium4 -mcpu=pentium4 -pipe -Wno-return-type -w -fno-stack-protector-all -freorder-blocks -fno-reorder-functions -pthread -pipe

i686-pc-linux-gnu-g++    gcc version 3.3.6 (Gentoo Hardened 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)    -fno-rtti -fno-handle-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=pentium4 -mcpu=pentium4 -pipe -Wno-deprecated -Wno-return-type -w -fno-stack-protector-all -freorder-blocks -fno-reorder-functions -fshort-wchar -pthread -pipe -DARON_WAS_HERE

Configure arguments

--enable-application=browser --enable-optimize=-O2 --enable-old-abi-compat-wrappers --disable-installer --disable-pedantic --enable-crypto --with-system-jpeg --with-system-png --with-system-zlib --disable-updater --enable-single-profile --disable-profilesharing --disable-profilelocking --enable-default-toolkit=gtk2 --enable-pango --enable-svg --enable-svg-renderer=cairo --enable-system-cairo --enable-ipv6 --enable-xinerama --disable-xprint --disable-freetype2 --disable-debug --disable-tests --enable-reorder --enable-strip --enable-strip-libs --enable-elf-dynstr-gc --disable-gnomevfs --disable-gnomeui --disable-mailnews --enable-image-encoder=all --enable-canvas --with-system-nspr --with-system-nss --enable-official-branding --enable-oji --enable-mathml --disable-jsd --disable-xpctools --with-default-mozilla-five-home=/usr/lib/mozilla-firefox --enable-extensions=default,typeaheadfind,-venkman --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --build=i686-pc-linux-gnu 
```

To chyba niestety będę musiał go przerobić w/g wskazań kilka postów wyżej  :Smile: 

od raku: używaj znaczników [ CODE ].

[ QUOTE ] służy do CYTOWANIA wypowiedzi innych.

poprawiono znaczniki

----------

## yaq

 *ar_it wrote:*   

> 
> 
> Czy jesteś tego pewien co do pentium celeron M, przecież to odchudzony pentum?
> 
> 

 

Odchudzony ale Pentium M (Dothan), pentium m jest pochodna pentium3 i powinno sie ustawiac pentium3 w starszych gcc. Pentium 4 m rozni sie znaczaco od pentiuma m i odpowiednie ustawienie tej flagi (+dodatnie -msse2)moze miec duzy wplyw na wydajnosc.

----------

## ar_it

 *yaq wrote:*   

>  *ar_it wrote:*   
> 
> Czy jesteś tego pewien co do pentium celeron M, przecież to odchudzony pentum?
> 
>  
> ...

 

Ale ja mam 

```

vendor_id : GenuineIntel

cpu family : 6

model : 13

model name : Intel(R) Celeron(R) M processor 1.40GHz 

```

To chyba trochę nowsza technologia??

od raku: używaj znaczników [ CODE ].

[ QUOTE ] służy do CYTOWANIA wypowiedzi innych.

poprawiono znaczniki

----------

## yaq

Wbrew pozorom Pentium 4 to nie szczytowe osiagniecie mysli technicznej w obecnych czasach, szczegolnie jezeli chodzi o pobor pradu i wydajnosc/mhz. Masz celerona M ktory jest okrojonym Pentiumem M (dothan), ktory powstawal na bazie pentiuma 3 (ma malo wspolnego z architektura p4 netburst), masz 1mb cache, o wiele krotszy potok wykonawczy niz p4. Dla gcc 3.3.x zalecane usatwienie to pentium3, w praktyce sprawdz sobie sam - roznice powinienes zauwazyc.

btw. Nie wydalo ci sie dziwne, ze ta "nowsza technologia" u ciebie ma tylko ~1.4Ghz a w desktopach 3Ghz i wiecej? :Smile:  Tu nie ma starszego/nowszego rozwiazania tylko to jest poprostu zupelnie inny procek i tyle.

http://gentoo-wiki.com/Safe_Cflags#Pentium-M_.2F_Centrino_.28Intel.29

https://forums.gentoo.org/viewtopic-t-404498.html

----------

## ar_it

 *yaq wrote:*   

> Wbrew pozorom Pentium 4 to nie szczytowe osiagniecie mysli technicznej w obecnych czasach, szczegolnie jezeli chodzi o pobor pradu i wydajnosc/mhz. Masz celerona M ktory jest okrojonym Pentiumem M (dothan), ktory powstawal na bazie pentiuma 3 (ma malo wspolnego z architektura p4 netburst), masz 1mb cache, o wiele krotszy potok wykonawczy niz p4. Dla gcc 3.3.x zalecane usatwienie to pentium3, w praktyce sprawdz sobie sam - roznice powinienes zauwazyc.
> 
> btw. Nie wydalo ci sie dziwne, ze ta "nowsza technologia" u ciebie ma tylko ~1.4Ghz a w desktopach 3Ghz i wiecej? Tu nie ma starszego/nowszego rozwiazania tylko to jest poprostu zupelnie inny procek i tyle.
> 
> http://gentoo-wiki.com/Safe_Cflags#Pentium-M_.2F_Centrino_.28Intel.29
> ...

 

THX

Widze  ze czeka mnie przejscie na GCC 4 i przekompilowanie całego systemu  :Smile: 

jutro powinienem znac efekty  :Smile: 

----------

## tboloo

 *n0rbi666 wrote:*   

> tboloo - cały czas flagi są stripowane 
> 
> ar_it - kompilowałeś już z nowymi flagami ? dodałeś coś ciekawego ? 

 

Masz racje, rzeczywiscie stripuje dalej, wystarczy sprawdzic about:buildconfig. Z drugiej strony firefox-bin jest kompilowany bez zadnych wyszukanych flag, a i tak w 80% przypadkow dziala szybciej niz ten kompilowany ze zrodel.

----------

## ar_it

 *tboloo wrote:*   

>  *n0rbi666 wrote:*   tboloo - cały czas flagi są stripowane 
> 
> ar_it - kompilowałeś już z nowymi flagami ? dodałeś coś ciekawego ?  
> 
> Masz racje, rzeczywiscie stripuje dalej, wystarczy sprawdzic about:buildconfig. Z drugiej strony firefox-bin jest kompilowany bez zadnych wyszukanych flag, a i tak w 80% przypadkow dziala szybciej niz ten kompilowany ze zrodel.

 

Ja też się dzowie, pozmieniałem trochę w eclas (zgodnie z kilkoma postami wyżej i nie widzę za dueżej rużnicy w pliku plikach eclas jest napisane że Ff przyjmuje tylko flagi O1 i O2  :Sad: 

Jak zmienię GCC i przekompiluje t znowu z Ff powalczę.

----------

## n0rbi666

Różnica między firefox-bin a firefox jest taka, że bin jest prekompilowany z Os, a mozilla-firefox kompiluje się z O2

po zmianie w pliku eclass - u mnie firefox chodzi o niebo lepiej  :Smile: 

a żeby dodać inne flagi - dodajemy

```
append-flags -march=athlon-xp -fomit-frame-pointer
```

po komendach stripujących flagi  :Smile: 

----------

## Maqlik

Przy Firefoxsie nie tyle kompilacja co budowa aplikacji. Moze troche pomoze ten link http://www.pcworld.pl/news/89120.html

----------

