Portál AbcLinuxu, 22. července 2025 08:39


Do binutils byl zařazen nový linker gold

Do binutils byl zařazen nový linker gold (tj. sestavovací program). Zajímavý je tím, že je zhruba 5× rychlejší než klasické ld a navíc podporuje běh ve více vláknech, takže na víceprocesorovém systému se zrychlení projeví ještě více. Zkušenosti s linkerem si můžete přečíst v blogu na Serpentine.com; gold zatím neumí slinkovat kernel a občas se vyskytne nezreprodukovatelná chyba, ale ve 2 vláknech linkuje i více než 6× rychleji. Zatím je dostupný pouze pro architektury x86 a x86-64.

26.3.2008 19:56 | David Watzke | Zajímavý software


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

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

26.3.2008 21:52 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Odpovědět | Sbalit | Link | Blokovat | Admin
No konečně se to začalo hýbat! ld je naprosto tragický linker. Snad ty změny k lepšímu nebudou jen v samotné rychlosti linkování, ale promítnou se pozitivně i v rychlosti načítání C++ aplikací.
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
26.3.2008 22:12 R
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Odpovědět | Sbalit | Link | Blokovat | Admin
Este by to chcelo nejaky rychly a kvalitny kompilator.
26.3.2008 22:16 Boris Dušek | skóre: 22 | blog: everything
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
clang (C/C++/Obj-C frontend pro LLVM) se chlubí, jak parsuje hlavičky několikanásobně rychleji, než gcc (ale produkční, zvlášt pro C++, bude až za pár let).
vim ~/.emacs
26.3.2008 22:22 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
GCC je podle mě tak od verze 4.2 již hooodně vyspělý a kvalitní kompilátor.
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
26.3.2008 23:06 SigTERM
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
to nepochybne ano. ma to ale hacek. pozadavek byl RYCHLY (to GCC proste neni) A ZAROVEN KVALITNI (stejne nebo vic jak GCC)... nic free tady nevidim
27.3.2008 07:21 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Otázka je: "Co je to rychlý?" řekl bych že pro svižnost výsledné binárky rychlost překladače až tak podstatná není.
27.3.2008 08:24 alium | skóre: 38 | blog: Category 1100
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
+1
alblaho avatar 27.3.2008 08:39 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Rychlost kompilace je to, co snižuje náklady, jestli je výsledný program trochu pomalejší, to je většinou jedno :-)
27.3.2008 09:50 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
No, pokial prave neprogramujes vedecke analyzy, pri ktorych zrychlenie 1% moze znamenat mnoho hodin usetreneho casu.
alblaho avatar 27.3.2008 21:36 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Těší mě, že zde na ábíčku jsou lidi dělající opravdové vědecké výpočty, které chroustají a chroustají.

Zbytek světa vyrábí programy, které musí hlavně fungovat, tj. obsahovat minimum nepříjemných chyb, a musí být do takového stavu přiveden co nejrychleji.

Když dělám v C++, tak by se mi líbilo mít 10x rychlejší překladač s tím vědomím, že by výsledný program běžel o 10% pomaleji.
Kovář David avatar 28.3.2008 08:37 Kovář David | skóre: 2 | Telč
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Njn, ale to se pak kolem tvých programů povedou řeči jako kolem Javy (to je tak přííííšerně pomalé, že se to nedá používat) a když si přečteš ty příspěvky, tak nikoho nezajímá, jak ti ten jazyk (kompilátor) usnadní život.

A jak ti jednou lidi přišijou nálepku "pomalý program", tak už se jí nikdy nezbavíš (taky viz. Java)... Takže pozor na zpomalování uživatelských programů, u některých hlasitých mluvků má mi ms vliv, natož pak 10x
alblaho avatar 28.3.2008 13:19 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Nějaká pomalost Javy mě nerozhází, dělám v Pythonu :-)

Vždycky je lepší mít rychlý program to je jasné. Jde o to, jak toho dosáhnout. Například program psaný v pomalém Pythonu používající rychlou nativní GUI knihovnu (Qt nebo i Gtk) bude subjektivně rychlejší než JITovaná Java, protože:

- Qt je mnohem rychlejší než Swing

- Python startuje rychleji než Java (velká VM + "zahřívání", tj. JITování)
28.3.2008 09:03 Ladicek | skóre: 28 | blog: variace | Havlíčkův brod
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Ty děláš vědecké výpočty v C++? :-)

Měl jsem za to, že opravdové vědecké výpočty chroustají a chroustají zčástí proto, že je třeba zpracovat obrovské množství dat (ale kde je vzít?), a zčásti proto, že se píšou v Perlu a podobných jazycích :-D
Ještě na tom nejsem tak špatně, abych četl Viewegha.
28.3.2008 12:51 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Když dělám v C++, tak by se mi líbilo mít 10x rychlejší překladač s tím vědomím, že by výsledný program běžel o 10% pomaleji.

Tak prosím Tě nedělej v C++, ale zvol si třeba Python, Javu, nebo jiný jazyk, kde vývoj není oblivněn rychlostí kompilace. Já dělám v C++ léta a i dost velké projekty - a dnešní kompilátory jsou rychlé, nestěžuji si. Například můj kompilátor C++ umožňuje předkompilovat hlavičkové soubory, kromě toho detekuje rámec hlavičkových souborů aby poznal, kdy je zbytečné ho znovu natahovat. Dále má inkrementální linker, který zpracuje jen to, co se změnilo. A pak má debug mód, který dělá přesně to co požaduješ - rychle zkompiluje, rychle slinkuje, mnohem rychleji, než normálně a po odladění se udělá release verze, který zkompiluje pomaleji, protože brutálně optimalizuje, ale zase výsledný program běží nejrychleji jak to kompilátor umí.

Ale ono je to třeba i tím, že kompilátor C++, stejně tak jako linker a další chroustátory potřebné pro C++ je to IDE natažen jako sdílená knihovna, nikoli že se spouští jako samostatný proces. Což neuvěřitelně zrychluje. A ona spousta těchto maličkostí to tak neuvěřitelně zrychlí, že rychlost linkeru je naprosto nepodstatná.
alblaho avatar 28.3.2008 13:10 alblaho | skóre: 17 | blog: alblog
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Vždyť jo. Já jen říkám, že na rychlosti kompilace záleží, naproti tomu jestli je výsledný nativní kód o nějaké procento pomalejší často nevadí.

A ano, Python mám rád :-)
27.3.2008 10:28 vladaf
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Presne jako cronin. Par minut usetrenych kompilaci na nic. O par hodin kratsi beh je to uz je neco jineho.
27.3.2008 10:30 Boris Dušek | skóre: 22 | blog: everything
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
pro vývojáře to ale neplatí - toho samozřejmě zajímá, jak rychle může začít znovu debugovat po změně v kódu (=jak rychle proběhne rekompilace). A čím míň čeká, tím je produktivnější.
vim ~/.emacs
Vašek Lorenc avatar 27.3.2008 10:34 Vašek Lorenc | skóre: 27
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Vývojář, který víc kompiluje než přemýšlí nad tím, co píše.. Výborně, víc takových.
...včetně majestátného loosa
27.3.2008 10:39 Boris Dušek | skóre: 22 | blog: everything
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Zdržuje to určitě každého vývojáře ;)
vim ~/.emacs
27.3.2008 11:21 cronin | skóre: 49
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
jak rychle proběhne rekompilace
A dostavame sa do nekonecnej slucky: kompilator je tiez len program, ak je rychlejsi, bude kompilacia rychlejsia. :-)
27.3.2008 08:41 R
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Rychly kompilator je TCC. Pouzivatelia Gentoo a vyvojari to dost ocenia. Kompilacia jadra trva sekundy.

Ale rychly a kvalitny kompilator, to je problem.
27.3.2008 15:30 Miloslav Ponkrác | blog: miloslavponkrac
Rozbalit Rozbalit vše Re: Do binutils byl zařazen nový linker gold
Odpovědět | Sbalit | Link | Blokovat | Admin
Nový skvělý linker! Akorát není na něho spolehnutí, že slinkuje správně program. :-) Skvělý, ale děkuji nechci. U vývojových nástrojů mám na prvním místě spolehlivost, pak spolehlivost, na třetím spolehlivost, a pak teprve začínají další požadavky.
http://ponkrac.net

Založit nové vláknoNahoru


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