Portál AbcLinuxu, 26. dubna 2024 10:33


Dotaz: Používat vyrovnávací paměť kompilace (cache)

4.8.2005 17:21 Petr Tomeš | skóre: 23 | blog: ptomes | Brno
Používat vyrovnávací paměť kompilace (cache)
Přečteno: 159×
Odpovědět | Admin
Dobrý den, handbooku letmo zmíňuje ccache a její možné nevýhody ccache - rychlé vyrovnávací paměti kompilátoru, která umožňuje zhruba 5-10x urychlit kompilaci. Má s tím někdo zkušenosti? Předem děkuji za odpovědi.

Sestava: Gentoo 2005.0/1 Pentium III 900 MHz Celeron2 Coppermine 128 MB RAM Nvidia Riva TNT2 32 MB RAM. /boot (32 MB) / (9 GB) swap (1024 MB) KDE-base 3.4 + základní programy (Firefox, Amarok, KMail, K3B, MPlayer, KWord, KSpread...)
Petr Tomeš - Blog
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.8.2005 18:43 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
Odpovědět | | Sbalit | Link | Blokovat | Admin
ccache používám pořád. Akorát nepoužívám Gentoo...

Jako nejméně problematická metoda se ukazují symlinky cc, gcc, g++, c++, v nějakém adresáři, který je v PATH před /usr/bin. Pokud ti jde jen o kompilaci programů z Portage, tak ty zlobivé asi vývojáři napravili v ebuildech, takže by ti mělo být jedno, kterou metodu používá FEATURES="ccache".

Zrychlení kompilace programů nepoužívajících libtool je skutečně řádové; režie libtoolu sežere dost, ale i s ním je zrychlení citelné.
4.8.2005 19:53 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
Z popisu intuitívne tuším, o čo sa jedná, ale nikdy som o tom nepočul. Vyzerá to zaujímavo a možno by som to chcel použiť. Môžete ma nasmerovať, čo si mám pozrieť? V manuály gcc som "ccache" nenašiel, man -k tiež mlčí. Google našiel http://ccache.samba.org/, ale čo má samba s kompilovaním? O čo teda ide?
JaMa avatar 4.8.2005 20:00 JaMa | skóre: 1 | blog: jama
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
Pokud mas gentoo tak je to jednoduche.. http://gentoo-wiki.com/TIP_Use_ccache
4.8.2005 20:29 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
Gentoo nemám, keby som ho mal, pravdepodobne by som o tej črte už vedel. Z uvedenej stránky som sa dočítal:
ccache is a compiler cache. It uses the -E gcc switch and a hash to detect when a compilation can be satisfied from cache.
Z manuálu gcc som sa dočítal:
Stop after the preprocessing stage; do not run the compiler proper. The output is preprocessed source code, which is sent to the standard output.
To mi spolu nejako stále zmysel nedáva.
4.8.2005 20:34 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
Samozřejmě zrychlení opakované kompilace se stejnými volbami kompilátoru -- takže zda a o kolik se tím zrychlí emergování pro normální lidi, to by asi musel nějaký gentooista změřit...
4.8.2005 20:39 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
No, to sa mi paci. Castejsie kompilujem napriklad jadro FreeBSD s minimalnou zmenou v jeho konfiguraku a vzdy s tymi istymi volbami kompilatora. Mozem nejakym sposobom toto vyuzit?
4.8.2005 20:15 jm
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
Odpovědět | | Sbalit | Link | Blokovat | Admin
Vzdyt to funguje uplne samo, akorat staci do FEATURES pridat ccache. :-)
4.8.2005 20:20 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
Pokud tazateli jde o kompilaci z Portage a ne třeba vlastních věcí... No, píše cosi o handbooku, takže snad.
4.8.2005 20:26 jm
Rozbalit Rozbalit vše Re: Používat vyrovnávací paměť kompilace (cache)
To use ccache with **non-Portage** C compiling, add /usr/lib/ccache/bin to the beginning of your path, before /usr/bin.
pise se v tom ebuildu. To by snad mohl taky zvladnout. ;-)

P.S. Maximalni velikost se nastavuje pomoci ccache -M, napr. ccache -M 2G - no a to je asi vsechno.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.