Portál AbcLinuxu, 22. prosince 2025 03:59
Vítejte ve třetím dílu seriálu věnujicímu se srovnávání výkonu 32bit a 64bit verzí aplikací a knihoven. Tentokráte bude měřena rychlost komprimace audia do mp3, ogg/vorbis a flac. Jako v každé části se i dnes pokusím propašovat nějaké výsledky zrychlení díky quadcore procesoru.
lame -q 2 -V 4 --quiet track01.cdda.wav
-q 2 značí vysokou algoritmickou kvalitu a -V 4 implicitní kvalitu (bitrate ~140kbit)
64bit sekvenčně: 5:06
Pokusíme se dobu zkrátit nastavením implicitní algoritmické vality tedy -q 5.
64bit paralelně: 0:55oggenc -q 5 --quiet track01.cdda.wav
Implicitní -q 3 je příliš slabá proto jsem zvolil -q 5 což dává v tomto případě bitrate zhruba 143kbit, tedy podobně jako lame mp3 při implicitním nastavení.
64bit sekvenčně: 1:26flac -fs8 track01.cdda.wav
-8 znamená nejlepší kompresi. Oproti nekomprimovanému wav souboru nagrabovanému z CD učetříme pouhých 40 % místa. získáme tím ale audio v originální kvalitě- bez psychoakustických vylepšováků a artefaktů. Bitrate je cca 850kbit.
64bit sekvenčně: 1:27Příští díl se bude věnovat kryptografii, především pak openssl.
Tiskni
Sdílej:
Mě zajímá poměr výkonu 64bit a 32bit režimuPokud myslite nejaky obecny pomer tak ten neexistuje, v kazde aplikaci bude nutne jiny. A uz vubec by se nedal poznat z vami navrhovaneho testu.
a ne poměr optimalizací nějakého programu (který díky náskoku 32bit dnes vypadá nějak, ale za měsíc může vypadat úplně jinak).A pak vyjde nove gcc a vese vysledky budou take uplne jinak. Berte to z praktickeho hlediska. Rozhuduju se zda jit do 64bit nebo 32bit distribuce. Vykon je jednym z kriterii vyberu. Aplikace a prekladace se meni ale nedokazu odhadnout jak, kristalova koule se mi rozbila. Nejrozumnejsi v takove situaci je IMO vyjit z aktualnich verzi aplikaci a prekladace.
A naprosto jiné výsledky budou mezi 32 a 64 bit verzí téhož hw pod jiným operačním systémem.
Pokud pujde o aplikaci ze stejnych zdrojaku, ktera nebude travit spoustu casu v jadru tak nevidim duvod proc by tomu tak melo byt.
A naprosto jiné výsledky budou při použití kvalitně optimalizujícího překladače, ne gcc
Tady souhlas. Ovsem pomoci gcc je v praxi kompilovana vetsina aplikaci. Pouzitim icc bych se zase vzdalil od bezne praxe.
mám dojem, že nyní měříte spíše kvalitu optimalizátoru gcc, než skutečnou rychlost 32 a 64 bit provesorů.
Buh chran, do takoveho projektu jako urceni skutecne rychlosti 32bit vs 64bit bych se nikdy nepustil. To by bylo nad lidske sily. Jen nez by nejaka komise slozena z odborniku pres rozne obory schvalila nejaky reprezentaticvni kod tak by byl mereny procesor obsolete 
No to bylo, ale pro praxi prostě stačí přeložit algoritmus nejlepším kompilátorem , co je dnes k dispozici - což je icc - a to by bylo v podstatě velmi vypovídající o skutečné rychlost 32 x 64.
Ono nezlobte se, ale měření pomocí gcc, když vím, že dnešní Microsoft kompilátor bez problémů zvládne vygenerovat o 10% i daleko více procent rychlejší kód oproti gcc na 32 bit platformě - a to ještě není nic proti tomu, co zvládne Intel kompilátor, pak řekněme, že statistická chyba Vašich výsledků s gcc může být klidně i dost mnoho desítek procent. To není kritika, já vím, že to přiznáváte a děláte to i s tímto záměrem - ale Vaše testy nejsou moc vypovídající a za půl roku už může být všechno naprosto, ale naprosto jinak.
A pak vyjde nove gcc a vese vysledky budou take uplne jinak.Ale řádově v jednotkách procent. Rozdíl mezi zkompilovaným generickým C kódem a ručně optimalizovaným MMX/SSE může být klidně v řádu stovek procent. Tudíž rozdíly mezi kompilátory/systémy jsou v chybě měření. Ale to je nakonec fuk. Prostě mě to jenom zajímá, nic víc. Nechápu, proč mě hned někdo musí okřikovat.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.