# [OT] Jak wykorzystać mozliwości nowego GCC?

## timor

Witam!

Zastanawiam się jakie nowe możliwości oferuje GCC 4 i pewnie wielu innych forumowiczów też. Do tej pory korzystałem z takiej konfiguracji:

```
CHOST="i686-pc-linux-gnu"

CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer -funroll-loops"

CXXFLAGS="-march=pentium4 -O2 -pipe -funroll-loops"

LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
```

Czy pod nowym GCC można coś lepiej opymalizować? Jakie nowe flagi się pojawiły które można wykorzystać?

Na pewno wiele osób korzystających od pewnego czasu z gcc 4 może podzielić się takimi informacjami, będzie to o niebo przyjemnejsze niż brnięcie w pojedynkę przez manuala  :Wink: 

Zapraszam do dyskusji.

----------

## martin.k

A może tak przeszukasz forum... Bo temat powtarza się co jakiś czas.

----------

## tboloo

Tak trochę OT - czy takie pytania mają w ogóle sens ?? Moim zdaniem szybkość i optymalizacja zależą bardziej od samego kodu niż kompilatora. Swego czasu robiłem rożne próby z intelowskim icc (zajmuję się przetwarzaniem obrazu, a tam używane są bardzo zasobożerne algorytmy) vs. gcc-3.4.4. Różnice oczywiście były, ale czasem na korzyść icc, czasem gcc.

Podobnie jest (moim zdaniem) z super-agresywnymi flagami - kilka pakietów przyspieszy, kilka zwolni, kilka się nie skompiluje i w jakimś momencie użytkownik będzie dostawał różne dziwne błędy. Zresztą wystarczy popatrzeć na CFLAGS zaawansowawnych użytkowników Gentoo - sporo z nich ma -march=architektura -O2 -pipe.

Kończąc OT wydaje mi się, że decyzje dotyczące zmiany komilatora powinny być podyktowane postępem (nie ma co trzynać się 2.9.5 jeżeli są nowsze wersje   :Very Happy:  ) ale nie należy oczekiwać magicznego przyrostu wydajności o 300% i tego że programy będą działały tak szybko, że uruchomią się zanim je uruchomimy   :Very Happy: 

----------

## psotnik

@tboloo

Więcej czasu tracisz na układanie flag optymalizacyjnych niż daje to efektywności. Poza tym przy błędach kompilacji łatwiej jest zdiagnozować problem. Prostota. 

Co do samego gcc to z większości opinii które do mnie docierają gcc4 nie jest niczym rewolucyjnym.

od raku: ort.

----------

## nbvcxz

Z nowości to przede wszystkim -ftree-vectorize (CFLAGS), ale większość pytań i odpowiedzi w tym temacie masz tutaj: https://forums.gentoo.org/viewtopic-t-450504.html

----------

## timor

 *nbvcxz wrote:*   

> Z nowości to przede wszystkim -ftree-vectorize (CFLAGS), ale większość pytań i odpowiedzi w tym temacie masz tutaj: https://forums.gentoo.org/viewtopic-t-450504.html

 Dzięki, taka odpowiedź mnie w zupełności zadowala.

Nie mogę się do końca zgodzić, że zmiana ustawień kompilatora nic nie daje. W przypadku większych pakietów można na prawdę dużo zyskać, ot taki firefox kompilowny z domyślymi flagami wlecze się jak szkapa. Stosując odpowiednie flagi można to zmienić. Myślę, że Gentoo powstało właśnie z myślą o ludziach gotowych eksperymentować, bo nawet niewielki zysk jest przecież zyskiem. Ja będę kombinować dalej  :Wink: 

Pozdrawiam.

----------

## Odinist

 *nbvcxz wrote:*   

> Nie mogę się do końca zgodzić, że zmiana ustawień kompilatora nic nie daje. W przypadku większych pakietów można na prawdę dużo zyskać, ot taki firefox kompilowny z domyślymi flagami wlecze się jak szkapa. Stosując odpowiednie flagi można to zmienić. Myślę, że Gentoo powstało właśnie z myślą o ludziach gotowych eksperymentować, bo nawet niewielki zysk jest przecież zyskiem. Ja będę kombinować dalej 
> 
> Pozdrawiam.

 

To ja poproszę o takie magiczne flagi dla Firefoxa, co by mi się tak nie wlóĸł  :Cool: 

----------

## tomekb

Jest też magiczny firefox-bin w portage, bez wad wersji kompilowanej  :Smile:  Ale flagi kolega może podać. Co do kompilatora, flagi MUSZĄ dawać większą wydajność. Testując przez wakacje różne dystrybucje, powaliła mnie np szybkość aplikacji pythonowej w fedorze, o której w gentoo mogę pomarzyć (np. gajim). Bez porównania.

PS. Czy wie coś ktoś o -as-needed dodanej na stałe? Można? Wiem, że to daje sporo, w rpmowych distro jest używane od dłuższego czasu. Może i dlatego w takiej fedorze GNOME chodzi szybciutko jak u mnie na gentoo. A może to też i inne przyczyny? Kto mnie poprawi?  :Smile: 

----------

## Gabrys

 *-Nile- wrote:*   

> To ja poproszę o takie magiczne flagi dla Firefoxa, co by mi się tak nie wlóĸł 

 

Ja też poproszę.

Kiedyś próbowałem (był gdzieś na forum taki temat o flagach dla Firefoksa). Przekompilowałem najpierw Firefoksa, ale nic to nie dało, to potem wszystkie biblioteki, na których opiera się Fx i nadal to nic nie dało. Nie zauważyłem ŻADNEGO wzrostu wydajności ani szybkości uruchamiania.

Zauważyłem natomiast wzrost przy przechodzeniu z wersji 1.0.x na 1.5 i ostatnio (na ciągle niestabilną) 2.0.

Zauważalny (nie mówiąc już o znacznym  :Exclamation: ) wzrost wydajności jak słusznie zauważono jest powodowany przez zmianę jakości kodu a nie optymalizacji.

A jeśli ktoś chce, żeby program mu się uruchamiał szybciej niż go uruchomi, to niech się zainteresuje prefetchingiem, preloadingiem i kilkoma innymi pre*  :Wink: . Dodam, że preloadowanie Firefoksa jest stosowane w SUSE.

----------

## Belliash

 *tomekb wrote:*   

> Jest też magiczny firefox-bin w portage, bez wad wersji kompilowanej  Ale flagi kolega może podać. Co do kompilatora, flagi MUSZĄ dawać większą wydajność. Testując przez wakacje różne dystrybucje, powaliła mnie np szybkość aplikacji pythonowej w fedorze, o której w gentoo mogę pomarzyć (np. gajim). Bez porównania.
> 
> PS. Czy wie coś ktoś o -as-needed dodanej na stałe? Można? Wiem, że to daje sporo, w rpmowych distro jest używane od dłuższego czasu. Może i dlatego w takiej fedorze GNOME chodzi szybciutko jak u mnie na gentoo. A może to też i inne przyczyny? Kto mnie poprawi? 

 

--as-needed i -Bdirect

te 2 LDFLAGS daja kopa takim aplikacjom jak KDE czy Gnome.

szkoda ze czesc pakietow nie kompiluje sie z --as-needed ale i tak mam go na stale w make.conf...

----------

## polygon7

 *-Nile- wrote:*   

> To ja poproszę o takie magiczne flagi dla Firefoxa, co by mi się tak nie wlóĸł 

 

Uruchamiaj ff za pomocą takiego skryptu (powinien przyspieszyć):

 *Quote:*   

> #!/bin/sh
> 
> export MOZ_DISABLE_PANGO=1
> 
> exec firefox $@

 

Poza tym można spróbować np. takich flag (Athlon-xp):

 *Quote:*   

> 
> 
> CFLAGS="-O2 -march=athlon-xp -mtune=athlon-xp -mfpmath=387
> 
> -pipe -fomit-frame-pointer -fno-ident -ftracer -fweb -fno-rename-registers
> ...

  i włączyć prelink.

----------

## timor

 *-Nile- wrote:*   

> To ja poproszę o takie magiczne flagi dla Firefoxa, co by mi się tak nie wlóĸł 

 

Ja to kompiluję z takimi flagami:

```
CFLAGS="-Wall -pedantic -O3 -march=pentium4 -pipe -fomit-frame-pointer -msse2 -mmmx -mfpmath=sse -D_FORTIFY_SOURCE=2 -pthread -ffast-math -funroll-loops"

CXXFLAGS="fno-rtti -fno-exceptions -Wall -pedantic -O3 -march=pentium4 -pipe -fomit-frame-pointer -ffast-math -funroll-loops"
```

Obowiązkowo wyłącza się pango:

```
MOZ_DISABLE_PANGO=0 firefox
```

Można wyeksportować tą zmienną, albo dodawać przy uruchamianiu.

No i jeszcze prefetching, preloading, którego jednak ze względu na stabilność nie stosuję (to akurat jest ciut niebezpieczne - można się tym bawić, ale nie polecam na stabilnym systemie).

Do testów polecam stronę: http://scragz.com/tech/mozilla/test-rendering-time

Mam P4 3.0GHz, 512MB DualDRR400, zeszłem na tej stronie do ok. 3,1 s

Na razie jeszcze sprawdzam jak to działa pod nowym gcc ale jedno już widzę, nowe gcc jest cholernie szybkie  :Smile:  Można zrobić więcej testów w krótkim czasie.

Pozdrawiam.

P.S. firefox-bin'a robią ludzie, skoro oni mogą to dlaczego nie miałoby być możliwe zrobinie co najmniej równie szybkiego builda samemu?  :Smile: 

Kurde ciut się spóźniłem, zaraz sobie obejrzę te flagi...  :Wink: 

....

Już sobie obejrzałem.

Troszke się nasze rady różnią. Tak o 180 stopni....  :Smile: 

 *polygon7 wrote:*   

> 
> 
> Uruchamiaj ff za pomocą takiego skryptu (powinien przyspieszyć):
> 
>  *Quote:*   #!/bin/sh
> ...

 

Gwarantuję, że nie przyspieszy  :Smile:  Ta zmienna powinna być ustawiona na 0, wyłączenie pango znacznie przyspieszy FF.

Flagi to już kwestia indywidualna, te które podałem znacznie przyspieszyły w moim przypadku FF. Kombinowanie z flagami LD praktycznie nic nie zmieniło, więc ich nie podałem.

W tym teście rendnerującym w chwili obecnej, mój FF wypada prawie tak dobrze jak opera, opera ciagle jest szybsza o ok. 0,15 s  :Smile:  Domyślna kompilacja FF nie rendnerowała tego w 3s tylko w 13-16 u mnie. Różnica masakryczna!

od raku: ort.Last edited by timor on Sat Sep 02, 2006 6:34 am; edited 1 time in total

----------

## c2p

 *Morpheouss wrote:*   

> --as-needed i -Bdirect
> 
> te 2 LDFLAGS daja kopa takim aplikacjom jak KDE czy Gnome.
> 
> szkoda ze czesc pakietow nie kompiluje sie z --as-needed ale i tak mam go na stale w make.conf...

 

Dodaj do make.conf:

```
EXTRA_ECONF=" --enable-new_ldflags "
```

Jeśli dany pakiet "obsługuje" jakieś dodatkowe flagi LD to zostaną one włączone (np. --as-needed).

----------

## tomekb

 *Morpheouss wrote:*   

>  *tomekb wrote:*   Jest też magiczny firefox-bin w portage, bez wad wersji kompilowanej  Ale flagi kolega może podać. Co do kompilatora, flagi MUSZĄ dawać większą wydajność. Testując przez wakacje różne dystrybucje, powaliła mnie np szybkość aplikacji pythonowej w fedorze, o której w gentoo mogę pomarzyć (np. gajim). Bez porównania.
> 
> PS. Czy wie coś ktoś o -as-needed dodanej na stałe? Można? Wiem, że to daje sporo, w rpmowych distro jest używane od dłuższego czasu. Może i dlatego w takiej fedorze GNOME chodzi szybciutko jak u mnie na gentoo. A może to też i inne przyczyny? Kto mnie poprawi?  
> 
> --as-needed i -Bdirect
> ...

 

Gdzieś był wątek na anglojęzycznym forum o --as-needed. Jeśli masz na stałe i Ci działa, to spróbuje, na początek z paroma kobyłami, takimi jak np. nautilus.

@timor: dzięki, chętnie potestuje. Dam znać jak wyszło.

EDIT:  może ktoś podać gotowy i BEZPIECZNY zestaw LDFLAGS z --as-needed i -Bdirect? i jak to jest z EXTRA_ECONF="--enable-new_ldflags"? U niektórych --enable-new_ldflags jest w LDFLAGS. Przeczytawszy pobieżnie ten wątek pogubiłem się kompletnie :/

@c2p: czy ta spacja przy cytowaniu enable-new_ldflags jest zamierzona?

----------

## Belliash

mam bashrc i package.ldflags

jak jakis pakiet sie nie kompiluje z --as-needed to poprostu podaje mu inne flagi w tym pliku.

 */etc/make.conf wrote:*   

> # MAKE.CONF file made by Morpheouss
> 
> # Copyright(C) 2006.
> 
> # Architecture and optimalization specific
> ...

 

 */etc/portage/package.ldflags wrote:*   

> dev-libs/cyrus-sasl -Wl,-O1,--enable-new-dtags,--sort-common -Bdirect -s
> 
> gnome-base/orbit -Wl,-O1,--enable-new-dtags,--sort-common -Bdirect -s
> 
> media-video/mjpegtools -Wl,-O1,--enable-new-dtags,--sort-common -Bdirect -s
> ...

 

 */etc/portage/package.cflags wrote:*   

> app-shells/zsh -march=athlon64 -mtune=athlon64 -O2 -s -pipe -fomit-frame-pointer -mfpmath=sse,387 -msse -msse2 -msse3 -mmmx -m3dnow -ftracer -finline-limit=1200 -fno-ident -fforce-addr -fpeel-loops -fprefetch-loop-arrays -funroll-loops -funswitch-loops -ftree-vectorize -fprefetch-loop-arrays -frerun-cse-after-loop -momit-leaf-frame-pointer -maccumulate-outgoing-args -mno-align-stringops -minline-all-stringops -DNDEBUG -DG_DISABLE_ASSERT -DNO_DEBUG
> 
> sys-apps/hal -march=athlon64 -mtune=athlon64 -O2 -s

 

 */etc/portage/bashrc wrote:*   

> # Copyright 1999-2004 Gentoo Foundation
> 
> # Distributed under the terms of the GNU General Public License v2
> 
> # $Header: $
> ...

 

----------

## polygon7

 *timor wrote:*   

> 
> 
> Troszke się nasze rady różnią. Tak o 180 stopni.... 
> 
>  *polygon7 wrote:*   
> ...

 

Ustawienie w tej zmiennej wartości "1" wyłącza właśnie pango.

https://forums.gentoo.org/viewtopic-t-487376-highlight-mozdisablepango.html

https://forums.gentoo.org/viewtopic-t-472065-highlight-mozdisablepango.html

 ;]

----------

## Gabrys

 *timor wrote:*   

> 
> 
> ```
> MOZ_DISABLE_PANGO=0 firefox
> ```
> ...

 oczywiście DISABLE=1 wyłącza. Szkoda, że zmienia nieco wygląd stron, ale OK, zastosowałem, dzięki  :Wink: .

 *Quote:*   

> Do testów polecam stronę: http://scragz.com/tech/mozilla/test-rendering-time
> 
> Mam P4 3.0GHz, 512MB DualDRR400, zeszłem na tej stronie do ok. 3,1 s

 

Ja na

o CFLAGS="-march=athlon-xp -pipe -O2 -fomit-frame-pointer", czyli domyślnych

o Firefox 2beta1

o Fasterfox, zainstalowałem, żeby mieć licznik czasu i przy okazji dałem Turbo

o po ściągnięciu plikiem wgetem, bo mam słabe łączę a interesował mnie wyłącznie czas renderowania

o MOZ_DISABLE_PANGO=1

zszedłem (bez żadnych zabiegów) do 4.212.

Chyba jasno to świadczy o tym, że diabeł tkwi nie we flagach GCC a w jakości kodu i ustawieniach aplikacji.

 *Quote:*   

> W tym teście rendnerującym w chwili obecnej, mój FF wypada prawie tak dobrze jak opera, opera ciagle jest szybsza o ok. 0,15 s  Domyślna kompilacja FF nie rendnerowała tego w 3s tylko w 13-16 u mnie. Różnica masakryczna!

 

Ciekawe, czemu mój niestuningowany Fx wypadł też o niebo lepiej niż Twój?

Kolejne wartości:

To samo tylko z pango (czyli bez MOZ_DISABLE_PANGO=1), 7,383 sekundy  :Exclamation:  . To tu tkwi zatem diabeł!

Jeszcze raz dzięki.

EDIT: a pokusiłem się o Twoje flagi i zaraz (jak się skompiluje Fx) będą wyniki. A może pokuszę się o jakąś tabelkę  :Smile: 

----------

## sarven

to skoru juz chwalimy sie wynikami, to mi ten plik pokazał ok 4,7 sekundy z włączonym pango i 2,5 z wyłączonym. moze pobawie sie jeszcze flagami i zobacze czy uda sie coś więcej wyciągnąć   :Twisted Evil: 

----------

## Gabrys

Nie sądzę, abyś zszedł (dużo) niżej  :Very Happy: . W sumie nasuwają mi się dwie konkluzje:

1. Trzeba wyłączyć Pango, żeby przyśpieszyć Fx.

2. Pango jest jeszcze bardzo niedopracowane. (A może to trzeba dopomóc właśnie Pango przez jakieś ricerskie flagi, bo Firefoksowi mało co pomaga).

----------

## piotruspan

jak to było ? go ricers go ?  :Wink: 

strata czasu (ale oczywiście to wasz czas)

ja mam starego AtlonaXP, ustawienia jak z podrecznika, nawet gorzej bo -march=i686

Firefox 1.5, zero dodatków i przeróbek

wasza strona z dysku wczytuje się w 5,90s przy MOZ_DISABLE_PANGO=1 w 3,25s

i powiedzcie mi czy warto przy tym się grzebać ? szczególnie całkiem początkujący lepiej

niech poświęcą czas na coś bardziej produktywnego...

a poza tym wasze testy są nic nie warte - przeprowadzone na różnych komputerach, "dokoloryzowane" przez entuzjastów...

eee tam !

----------

## n0rbi666

```
CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe"

CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer -pipe -fvisibility-inlines-hidden"

LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=both"
```

Łagodne flagi  :Smile:  (AMD Athlon XP @ 1823 MHz 512 ram) + FF2.0b2

Z pango - ok 6 sek

Bez pango - ok 3 sek

Wniosek jest prosty - nie ma co kombinować z flagami (a można łatwo przedobrzyć, i rozszerzenia działać nie będą  :Razz:  )

Ew chętnie zobaczyłbym wyniki z -Os  :Smile: 

----------

## v7n

Ricerom mówimy stop! Jedziesz szybciej niż myślisz! Zwolnij   :Twisted Evil: 

Sam kiedyś bawiłem się różnymi flagami ( to jeszcze na gcc3 ) i kiedy n'ty pakiet się nie skompilował, a reszta chodziła _wyjątkowo_ niestabilnie, zrezygnowałem z tego. Chyba, że komuś naprawdę się nudzi.. a tam.. testujcie co chcecie, przecież nikt Wam nie zabrania.. a może odkryjecie coś nowego?  :Very Happy: 

[FW mode]

Ja nie wiem czemu Wy się tak podniecacie tymi marnymi wynikami... zjedźcie do 2,355s to pogadamy   :Twisted Evil: 

[/FW]

----------

## Gabrys

Właśnie też nie wiem skąd to podniecenie. I nie wiem skąd wynik większy niż 10 sekund i zejście do 3. Może ktoś emerge'ował coś z wyższym priorytetem niż przeglądarki i jeszcze miał włączone Pango?

----------

## sarven

 *Quote:*   

> Ja nie wiem czemu Wy się tak podniecacie tymi marnymi wynikami... zjedźcie do 2,355s to pogadamy

 

Ja się nie podniecam. z ciekawości po prostu sprawdziłem. 

PS. zjechałem do 2,279s  :Wink: 

----------

## danrok^

Ja mam 1,9 sek, ale na Windowsie  :Smile:  Na Gentoo jak sprawdzę to dam wam znać  :Smile: 

----------

## Yatmai

Przy włączonym pango mam 3.2s, po wyłączeniu 11-14s (duża rozbieżność)  :Sad:  Btw. ma na to wpływ ilość włączonych tab'ów ?  :Smile: 

----------

## timor

 *polygon7 wrote:*   

> Ustawienie w tej zmiennej wartości "1" wyłącza właśnie pango.

  Przepraszam, zwracam honor koledze - słusznie. Totalną zaćmę miałem, a utwierdził ją fakt, ze wystarczy zaby zmienna MOZ_DISABLE_PANGO była wogóle ustawiona, bez względu na wartość.

Fakt, wyłączenie PANGO dało największe efekty. Ale na flagach też można nieco zjechac...  :Wink:  A ja zboczony jestem to będę się bawił  :Very Happy: 

A tak z innej beczki może wartobyłoby gdzieś spisywać takie rzeczy, kiedyś jak jeszcze forum było na gentoo.pl był tam taki dział Tips & Tricks teraz już od dłuższego czasu nie rozwijany. Sporo czasu spędziłem na przeglądaniu tego i naprawdę ciekawych rzeczy można się nauczyć a przeglądając forum, no po prostu się nie da. To forum to moloch niby jest tu wszystko, ale często nie ma nic. Może dało by się zrobić taki pod dział na forum?

----------

## przemos

Z zainteresowaniem przeczytałem topic, następnie sam sprawdziłem:

Swiftfox 1.5.0.6

Pango 1.14.2

z włączonym Pango: 2.599

z wyłączonym Pango: 2.568

Różnica jak widać kolosalna.

----------

## timor

 *przemos wrote:*   

> Z zainteresowaniem przeczytałem topic, następnie sam sprawdziłem:
> 
> Swiftfox 1.5.0.6
> 
> Pango 1.14.2
> ...

 

Zrób tak:

odpal firefox'a:

```
> firefox
```

przetestuj,

potem:

```
MOZ_DISABLE_PANGO=1 firefox
```

test,

i potem:

```
MOZ_DISABLE_PANGO=0 firefox
```

test.

U mnie pierwsze wywołanie daje najniższy wynik, wygląda na to, że wartość zmiennej MOZ_DISABLE_PANGO nie jest istotna - liczy się czy jest ustawiona czy nie.

----------

## przemos

MOZ_DISABLE_PANGO=1 firefox test-rendering-time 2.96

MOZ_DISABLE_PANGO=0 firefox test-rendering-time 2.995

firefox test-rendering-time 3.079

Zrobiłem jak zaproponowałeś - a teraz ty zrób tak - skompiluj Pango 1.14.2 (nie ma w portage) i sprawdź wyniki jeszcze raz.

----------

## n0rbi666

przemos - z tego co wiem, Swiftfox ma domyślnie wyłączone pango ... stąd róznica między FF a Swiftfox  :Razz: 

----------

## przemos

 *n0rbi666 wrote:*   

> przemos - z tego co wiem, Swiftfox ma domyślnie wyłączone pango ... stąd róznica między FF a Swiftfox 

 

Różnica - 0.4sek. Mrugnięcie powieką.

----------

## muzyk10

a jak zmierzyć czas otwierania ?

"time firefox"  - nic nie pokazuje  :Sad: 

----------

## Gabrys

 *muzyk10 wrote:*   

> a jak zmierzyć czas otwierania ?

 

Np. rozszerzeniem Fasterfox.

----------

## muzyk10

Gabrys: chodziło mi raczej o czas otwierania aplikacji firefox - o czym mowa w wątku .. fasterfox pokazuje jesynie czas otwierania stron www

[/code][/quote][/topic][/bug]

----------

## Gabrys

 *muzyk10 wrote:*   

> fasterfox pokazuje jesynie czas otwierania stron www

  I to mierzymy

----------

## muzyk10

odpalenie:     zajmuje:

 onet.pl          2.18 s

 wp.pl            3.65 s

(tego watku)  2.26 s

jaki sens zatem mierzyc to, skoro ewidentnie zalezy to od tresci strony??

----------

## Gabrys

 *muzyk10 wrote:*   

> jaki sens zatem mierzyc to, skoro ewidentnie zalezy to od tresci strony??

 

Przeczytaj jeszcze raz dokładnie ten wątek, to zobaczysz co mierzymy i na jakiej stronie.

----------

## n0rbi666

przemos - chodzi mi o to, że cała przewaga Swiftfoxa nad mozilla-firefox-bin bierze się właśnie z tego, że domyślnie w mozilla-firefox-bin pango jest włączone, a w Swiftfoxie - wyłączone. Po wyłączeniu pango w mozilla-firefox-bin uzyskujemy wyniki takie, jak Swiftfox.

----------

## tomekb

Te flagi nie dają nic praktycznie. Sęk tkwi w pango. Trzeba spróbowac tej zamaskowanej wersji i porównać z wynikami ze starej. Jescze pytanie, czy zauważył ktoś jakieś szczególnie anormalne sytuacje po wyłączeniu tego?

----------

## Gabrys

Tak, teksty wyglądają inaczej... brzydziej.

----------

## przemos

 *n0rbi666 wrote:*   

> przemos - chodzi mi o to, że cała przewaga Swiftfoxa nad mozilla-firefox-bin bierze się właśnie z tego, że domyślnie w mozilla-firefox-bin pango jest włączone, a w Swiftfoxie - wyłączone. Po wyłączeniu pango w mozilla-firefox-bin uzyskujemy wyniki takie, jak Swiftfox.

 

A mnie chodzi o coś zupełnie innego:

Otóż posiadam w systemie Firefoxa oraz Swiftfoxa, ale jak widzisz testy wykonałem na firefoxie (poza tym pierwszym postem, gdzie użyłem Swiftfoxa) a wyniki wskazują, że różnica jest nieduża w następującym przypadku:

MOZ_DISABLE_PANGO=1 firefox test-rendering-time 2.96

MOZ_DISABLE_PANGO=0 firefox test-rendering-time 2.995

firefox test-rendering-time 3.079

Nie przez przypadek podałem jaką wersję Pango posiadam, gdyż wg. mnie właśnie w tym tkwi "tajemnica" krótkiego czasu renderingu.

PS. Totalne OT się zrobiło.

 *Gabrys wrote:*   

> Tak, teksty wyglądają inaczej... brzydziej.

 

Mógłbyś zrobić sshota - bo wg. mnie nie ma wielkiej (żeby nie powiedzieć żadnej) różnicy.

PS2:

Porównanie u mnie (w png więc jakość ok):

http://img313.imageshack.us/img313/6787/porownanienc2.png

----------

## Yatmai

Kurcze, z każdym przyspieszającym zabiegiem mam coraz gorsze czasy  :Sad:  Gcc-4.1 + --as-needed + teraz prelink całego systemu.... i wynik spadl mi do ponad 17s  :Sad: 

----------

## nbvcxz

 *przemos wrote:*   

> PS. Totalne OT się zrobiło.

 

offtop jakich mało   :Laughing:  - czas by to chyba kończyć albo zmienić na "MOZ PANGO contest"   :Wink: 

 *Art.root wrote:*   

> Kurcze, z każdym przyspieszającym zabiegiem mam coraz gorsze czasy  Gcc-4.1 + --as-needed + teraz prelink całego systemu.... i wynik spadl mi do ponad 17s 

 

I dlatego wyrażałem dosyć nieładne opinie o prelinku - u mnie objaw był podobny - większa zajętość pamięci i wolniejsze działanie. Sprawę gładko rozwiązało -Bdirect a z -as-needed nie miałem z kolei problemów.

Na zakończenie jeszcze jedna myśl dla 'lubiących eksperymenty'. W portage jest gcc-4.2.0 - jest całkiem ok - w niektórych przypadkach nie działa poprawnie -ftree-vectorize , można mieć też problemy z kilkoma ważnymi ebuildami (np perl czy ostatnie gtk+) ale jak na alfę jest całkiem użyteczne.

----------

## Gabrys

 *przemos wrote:*   

>  *Gabrys wrote:*   Tak, teksty wyglądają inaczej... brzydziej. 
> 
> Mógłbyś zrobić sshota - bo wg. mnie nie ma wielkiej (żeby nie powiedzieć żadnej) różnicy.

 

Proszę bardzo:

http://158.75.205.24/quake/jpegs/firefox_pango.png (po lewej z pango, po prawej bez pango, oczywiście wszystkie inne ustawienia bez zmian)

Błogosławieni Ci, którzy nie zobaczą (bo będę miał wyłączonego kompa) a uwierzą.

----------

