Portál AbcLinuxu, 9. května 2025 00:57

Na serveru OSNews vyšlo pěkné srovnání

Na serveru OSNews vyšlo pěkné srovnání jazyků C/C++, C#, Java a Python na Windows. Vyhrál MSVC++, druhý skončil C#. Škoda, že Java 1.4.2 je tak bolestně pomalá v trigonometrii. To ji posunulo z druhéno místa až na spodek tabulky.

14.1.2004 21:14 | Lukáš Zapletal | Zajímavý článek


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

Komentáře

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

Vložit další komentář

15.1.2004 07:27 Tux
Rozbalit Rozbalit vše VC++ x GCC
Odpovědět | Sbalit | Link | Blokovat | Admin
Cely test se mi nejak nezda. Autor pouzil pro kompilaci Cygwin. Nikde nenapsal jake pouzil parametry. Podle mych osobnich zkusenosti, je GCC s -O2 (nebo -O3) sice pomalejsi pri prekladu nez VC++, ale kod je rychlejsi.
15.1.2004 08:51 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše VC++ x GCC
Opravdu je GCC na Windows rychlejsi nez MSVC? To bych se divil, mate nejake dukazy? Tohle se mi nejak nezda....
15.1.2004 15:24 Tux
Rozbalit Rozbalit vše VC++ x GCC
Bohuzel ted vam dukazy podat nemohu, protoze se v mem okoli nenachazi zadny pocitac s OS Windows, a spoustet test pres Wine by srazilo hodnoceni k zemi a bylo by absolutne neobjektivni. Ovsem na Linuxu s gcc 3.2.2 bezici na pocitaci AMD Athlon 1333 Mhz s 256 MB Ram a EXTFS2 partition jsem dostal celkovy vysledek 56,150 ms. Podle mych zkusenosti je Mingw rychlejsi nez VC++.
15.1.2004 08:56 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše VC++ x GCC
Pouzite parametry tam popsane jsou: gcc -march=pentium4 -msse2 -mfpmath=sse -O3 -s -mno-cygwin Chystam se ty testy zopakovat primo v linuxu + pridam ICC. Zatim mam vysledky z windows (uvadim jen sumaricke hodnoty) : C# 36.9 VC6 29.4 (hist. verze, max. optimalizace pro pentium pro) java_1.4.2 73.2
15.1.2004 09:22 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše numpy
Odpovědět | Sbalit | Link | Blokovat | Admin
Ten benchmark dělal nějaký blázen, protože jinak by v Pythonu použil Numerical Python a měl by výpočty rychlostí C...
15.1.2004 09:30 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše numpy
Resp. takhle, ten test testuje rychlost základních matematických operací, což je pěkné, ale koho to zajímá? V praxi každý použije pro intensivní numerické výpočty nějakou oveřenou a optimalizovanou knihovnu -- přinejmenším pro základní stavební bloky typu vektorové a maticové operace. Nikdy by mě nenapadlo psát např. FFT v Pythonu...
15.1.2004 09:58 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
Rozbalit Rozbalit vše numpy
Úplný souhlas. Ten test má tak mizerný design, že nechápu jak něco takového může vyjít na OSNews. Něco tak erudovaného bych čekal tak maximálně na Živě :-)
XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
15.1.2004 10:14 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše numpy
Zrovna na OSNews mě to až tak moc nepřekvapuje, různým úletům (zejména ,úvahám` jak je úplně špatně celý Linux/X/systém distribuce sw/.../svět, a jak by to autor dělal všechno jinak) tam dávají poměrně velký prostor.
15.1.2004 13:18 agent
Rozbalit Rozbalit vše GCC versus MSVC
Odpovědět | Sbalit | Link | Blokovat | Admin
Mě překvapila pomalost GCC oproti MSVC na Windows. Chystal jsem se přejít z MSVC na MingW32, ale asi to ještě zvážím. Všude jsem slyšel, jak je GCC skvělý, jak geniální vyrábí kód. Ale asi Microsoft nebude tak špatný v kompilátorech. Jak to tedy vlastně je? Můžete mi o tom napsat něco podrobnějšího?
15.1.2004 14:19 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
Rozbalit Rozbalit vše GCC versus MSVC
Ted uz to (bohuzel) neni pravda... Treba ICC produkuje lepsi vystupy a to nejen pro Intel ale i pro AMD. Ani Visual C++ na tom neni spatne.

Na gentoo forech se o tom dost obsirne diskutovalo, v Linux+ cislo 66 (10/2002, PL) je srovnani GCC vs ICC a byl to docela debakl. Hlavne ve floating point.

Tento benchmark je bohuzel prilis primitivni nez aby ukazal rozdily ve skutecnych aplikacich. Nameril jsem toto:
prekladacintfloatlongtrigIOcelkem
C#5.910.814.92.52.736.9
VC65.77.311.82.12.629.4
Java 1.4.2 win910.815344.273.2
Java 1.4.2_03 linux5.7420.7701.8102
gcc -O26614270.529.2
gcc -O366142.70.529.1
gcc -O2 -fm65.414.12.20.528.1
gcc -O3 -fm65.4142.10.528
Poznamky:
VC6 je hodne stara verze. Umi optimalizovat max. pro PPro. Brzy budu mit moznost vyzkouset verzi z .NET Visual Studia a predevsim ICC.
gcc = 3.3.2, -fomit-frame-pointer -march=pentium4
-fm = -ffast-math
15.1.2004 23:22 agent
Rozbalit Rozbalit vše GCC versus MSVC
Pokud je to tak, tak by to nebylo tak zlé. Ale i tak mě tento výsledek vůči GCC mrzí. Že ICC bude lepší, mě nepřekvapuje. Tedy pokud ICC je Intel kompilátor. Intel má tradičně skvělé kompilátory a pokud vím, tak i GCC vzniklo na kompilátoru darovaném Intelem. Ale že stařičký VC6 dopadne tak dobře vůči novému GCC, to mě nenapadlo. Zajímalo by mě, zda se ví, proč to tak je. Ono asi udělat dobrý kompilátor je velké sousto. Ale nebrzdí komunitu třeba použitý mezikód? Nebo je to prostě jen přechodný výpadek, jak se u mnoha projektu stává, způsobený třeba nedostatkem lidí, a dožene se to?
16.1.2004 22:56 Beda
Rozbalit Rozbalit vše GCC versus MSVC
vypadek u gcc je ponekud dlouhodobjejiho charakteru. nejdriv tu byl fork gcc a egcs a vysledkum zkompilovatelnosti nebo kvality kodu to v dobe forku a kratce po nem neprospelo. pak jeste RH zamestnaval svoje lidi nad vlastni slepou vetvi a home-self-made admini z toho neli akorat problemy a gcc to na popularite nepridalo. a ted se jede na standardy i kvalitu naraz jenze v prilis mnoha vetvich a gcc to opet neprospiva i kdyz to neni nijak kriticke.
16.1.2004 09:35 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše GCC versus MSVC
Jak jste to měřil? Ta čísla týkající se Javy se mi nezdají, Java se minimálně vyrovnává kompilátorům C++ a spiše je rychlostí převyšuje.
16.1.2004 11:27 agent
Rozbalit Rozbalit vše GCC versus MSVC
Ach jo, už zase. Zase někdo tvrdí, že programy v Javě jsou rychlejší, než C++. Zajisté bude mít v rukávu i nějaký ten test, kdy totální nedouk v C++ a zároveň fanda Javy napíše příšerně neoptimalizovaný program v C++ a zároveň vedle toho pěkně napsaný program pro Javu. A samozřejmě mu pak Java poběží pomaleji. Další dobrou fičurou je dávat horší podmínky kódu v C++. Například nechat přeložit kód neoptimalizovaně, nebo pod jiný procesor, než pod kterým se bude testovat, což je v podstatě také neoptimalizace. Já jsem zatím nenalezl žádný solidní důkaz, že Java je rychlejší, pouze jsem se dozvěděl pár teoretických rad, že Java někdy, za vyjímečně výhodných okolností, když jsou dobré konstelace, a mimořádně nepříznivé podmínky pro C++, může sem tam na chvíli C++ předčit. Ale jak říkám, zatím jsem nedostal žádný důkaz mimo teoretické mluvení. Kromě toho v praxi, když si pustím Java program a když si pustím zkompilovaný C++ program, tak rozdíl v rychlosti je patrný na první pohled, zvláště, mám-li pomalejší počítač. Nemám nic proti Javě, ale Java má své místo. Je vhodná pro enterprise sféru, stejně tak, jako v několika dalších oblastech. Sám Javu ovládám, a rychlost rozhodně není její silnou stránkou. Tím neříkám, že Java je pomalá, ale rychlost je spíše doména C/C++ programů, než Javy. A co se týká spotřeby prostředků počítače, to už je naprosto nesrovnatelné. Trochu mi tyhle snahy "Java je rychlejší, než C++" připomínají feministické hnutí, že "ženy zvládnou to samé, co muži" a antirasistická hnutí o tom, jak "Rónové jsou diskriminovaní". Připadá mi to, jako kdyby Ti, kdo se o toto rychlostní porovnání snaží byli zakomplexovaní tím, že snad jejich Java nedokáže to, co C++. Namísto toho, aby byli hrdi na to, kde je Java silná, a kde C++ nasadí jen šílenec. Ne, rychlost není doménou Javy a Java se nikdy nebude pyšnit nejrychlejšími programy, protože určení Javy je jiné.
17.1.2004 20:54 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše GCC versus MSVC
A jéje, už zase :)))) Java JE rychlejší než většina kompilátorů C/C++ a jenom sem tam (při různých konstelacích -- optimalizované testy a podobně) ji nějaký kompilátor předčí. Srovnávat totiž maximálně optimalizovaný kód pro daný (testovací) počítač je holý nesmysl. NIKDY, ale NIKDY nedostanete program, který bude maximálně optimalizovaný, zejména ty proprietární. V zásadě získáte kód pro 386ku. Takový kód (moderní) Java poráží hravě. Vytknete mi -- no jo, ale já jedu na Linuxu a všechno si kompiluji sám... Většina lidí si sama nekomipuje a dostane zrovna tak stejné binárky pro 386ku, jak jsem popsal v horním paragrafu. Někdy je také distribuce udělaná pro Pentium! Jaká paráda! I když někdy uživatel kompiluje, tak musí ty optimalizace obvykle zapnout. Což mnozí ani nevědí, jak to udělat. Takže si ve výsledku udělají třeba binárku, která pojede pomaleji, než tak, kterou dodává autor. A TYHLE programy srovnávejte! Ty REÁLNÉ a ne vyumělkované testy! Tady je každému jasné, že dobrá JRE musí takový program porazit. Děla té samé, co kompilátor C++, jenom předtím, než se kód spustí. S rozdílem, že maximálně optimalizuje pro DANOU PLATFORMU v ČASE SPUŠTĚNÍ PROGRAMU v závislosti na instalaci samotné JRE. Rychlost není doménou jazyků ať už jakýchkoliv. Rychlost je doménou špičkových programátorů, kteří umí dělat dobré algoritmy. Řídit auto umí také každý, ne? Nemůžete přeci tvrdit, že když někomu dáte Porche, že bude nutně lepší než závodník třeba ve Fiatu. Tipoval bych si na závodníka -- člověk v Porche by se nejspíš vyboural (= program spadne). Nemám rád výroky typu "neviděl jsem nikde, že by byla Java lepší", "nic nemůže být rychlejší než optimalizované kdovíco" a "je to teorie". Odkazy vám zde uvádět nebudu, je to Google a zkuste trošku hledat. Také doporučuji v knihkupectví prolistovat Effective Java. Není to zakomplexovaností, jen jsem prostě poukázal na to, že se mi nezdají ty výsledky Javy verzus C sharp (potažmo MSVC). Ale už je mi to jasné, byla testována verze, která má silné problémy s trigonometrickými funkcemi. Jinak by se vyrovnala těm optimalizovaným testům (a nasazené programy by porazila). A vy tady hned filozofujete! A já vlastně taky. :))
16.1.2004 09:36 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše GCC versus MSVC
Aha už to vidím, je to v pořádku... Tam je ten problém s tou trigonometrickou fcí (70), až se to opraví, pak to bude v pořádku... Takže GCC nebo Java, nemám pravdu? :)
16.1.2004 12:50 agent
Rozbalit Rozbalit vše GCC versus MSVC
A nebo Python, a nebo Perl, a nebo LISP, a nebo PHP, a nebo něco jiného. Každému, co jeho jest...
16.1.2004 15:00 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše GCC versus MSVC
Přesně tak, každý jazyk někomu jinému sedne a každý je vhodný k něčemu jinému (teď jsem chtěl napsat ,kromě ..., kter[ýáé] je k ničemu,` ale odolal jsem :o) Lepší je, když se člověk může rozhodnout, v čem bude co psát, než když musí vyvolávat flamewary, protože umí jen jeden jazyk ;-)

Založit nové vláknoNahoru


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