abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 04:55 | Nová verze

    Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.

    Ladislav Hagara | Komentářů: 1
    dnes 04:33 | Zajímavý projekt

    Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,

    … více »
    NUKE GAZA! 🎆 | Komentářů: 2
    včera 14:22 | IT novinky

    Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.

    Ladislav Hagara | Komentářů: 10
    včera 04:22 | Nová verze

    SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 7
    včera 03:11 | Zajímavý projekt

    Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační

    … více »
    NUKE GAZA! 🎆 | Komentářů: 9
    15.3. 15:33 | Humor

    PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují

    … více »
    NUKE GAZA! 🎆 | Komentářů: 3
    15.3. 14:33 | Nová verze Ladislav Hagara | Komentářů: 1
    15.3. 12:33 | Zajímavý projekt

    FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.

    NUKE GAZA! 🎆 | Komentářů: 5
    14.3. 22:55 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.

    Ladislav Hagara | Komentářů: 2
    14.3. 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1096 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník


    Vložit další komentář
    28.12.2007 17:47 disorder | blog: weblog
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    1) stare

    2) What fun! Can you manipulate the multipliers and weights to make your favourite language the best programming language in the Benchmarks Game?
    Josef Kufner avatar 28.12.2007 17:48 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    No, jakmile se do toho promítne i spotřeba paměti, tak první místo patří Pascalu, druhé klasickému C a třetí Adě... :-D
    Hello world ! Segmentation fault (core dumped)
    28.12.2007 18:34 Jiri
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    A pokud se do toho promítne vliv kosmického záření, tak vyhraje SmallTalk a hned za ním bude Ruby a na posledním místě bude čínština, ale to jenom pokud použijete podporu pravopisu!!!
    Heron avatar 28.12.2007 18:42 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Nemělo by to být spíše v kategorii "Humor"?
    unknown_ avatar 28.12.2007 18:49 unknown_ | skóre: 30 | blog: blog
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    imho nemělo, protože je to projekt, který si "dal za cíl" udělat benchmark prog. jazyků, a zajímavý bezesporu je. Naopak do kategorie humor by se měly řadit zprávičky oznamující další *buntu :-)
    28.12.2007 20:13 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Proč ne? Tak třeba:

    1) Je to šest let staré! Minimálně bych to nedával do zpráviček, tady na ten server už několikrát řeč přišla. Ať si o svém nadšení autor napíše v blogu.

    2) Má to dost nízkou vypovídací hodnotu, leckdy se vynucuje konkrétní algoritmus, aniž by se třeba bralo v úvahu, že se to dá v konkrétním jazyku napsat líp jinými prostředky (případně že by tak některé věci stejně nikdo nepsal, tristní mi přijde třeba regex-dna, co se na něj teď dívám, to je fakt dobrý "benchmark jazyka", jen co je pravda). V jednu dobu zase ty benchmarky něco "počítaly ve smyčce", takže Haskell s memoizací byl suverénně "nejrychlejší".

    3) Miloslav Ponkrác! :-D

    Mám ten sajt rád, ale beru výsledky tzv. "with a boulder of salt".
    unknown_ avatar 28.12.2007 20:21 unknown_ | skóre: 30 | blog: blog
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Máš pravdu, že 6 let starý to do zpráviček nepatří. Ale ani pro kategorii Humor nespatřuji "osravedlnění".
    Petr Tomášek avatar 29.12.2007 19:19 Petr Tomášek | skóre: 39 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Proč ne? Tak třeba:

    1) Je to šest let staré! Minimálně bych to nedával do zpráviček, tady na ten server už několikrát řeč přišla. Ať si o svém nadšení autor napíše v blogu.
    Jó, tak to soráč. Viděl jsem to v nějakým blogu, takže to člověk automaticky interpretoval jako novinku :D
    multicult.fm | monokultura je zlo | welcome refugees!
    28.12.2007 20:52 ajikdpoe | skóre: 23 | blog: dvh
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    haha, vravim si jak je mozne ze vyhralo c alebo c++? Pozriem a uz je mi to jasne. V teste sa nezucastnil kompilator Borland Delphi. Myslim to smrtelne vazne. Uz neviem najst ten clanok, bolo to asi pred mesiacom, mozno dvomi. Bolo tam aj porovnavanie cas/LOC atd. Pre asi 25 jazykov/kompilatorov. Nepamata si niekto? Netvrdim urcite ze to bolo tu.
    28.12.2007 21:28 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Bude ho možné otestovat, hned jak Borland naportuje nejnovější Delphi na Debian. ;-) Extrémně starý Win32 shootout je tady.
    29.12.2007 01:19 ajikdpoe | skóre: 23 | blog: dvh
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    ano, to je ono
    29.12.2007 00:03 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    haha, vravim si jak je mozne ze vyhralo c alebo c++? Pozriem a uz je mi to jasne. V teste sa nezucastnil kompilator Borland Delphi. Myslim to smrtelne vazne.

    Pokud budete měřit rychlost kompilace, pak je to docela dobře možné. Ale co do rychlosti výsledného kódu… to opravdu ne.

    28.12.2007 21:22 none | skóre: 10 | blog:
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    hm... pre mna je najrychlejsi asm
    28.12.2007 21:36 CIJOML
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    myslis nasm ;)
    28.12.2007 23:03 Kvakor
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Osobne mi tyhle benchmarky pripadaji jako soutez vozidel, ktere by se zucastnily tak rozdilna vozidla, jako je na jedne strane formule F1, nadupany sportak, zavodni special, silne silnicni auto, offroad s 4x4, rodinny vuz, pojizna nakupnit taska a na druhe silnicni valec, bagr, traktor, tank, zahradni sekacka, motorizovany invalidni vozik, zivy kun, raketove sane a Boeing 747 (muze pojizdet po runwayi? muze, tak je to vozidlo :-) ). A pak se vsichni zacnou hadat, protoze i kdyz je mozne urcit absolutni cisla, vysledky budou zcela nesrovnatelne, protoze kazde vozidlo je navrzene pro jiny teren a jiny ucel.

    Kdyz se bude zavodit na dokonale, pevne draze, nejspis vyhraje formule, nasledovana B-747, pokud se povoli zavod i ve vzduchu, B-747 je jasne nejrychlejsi. A kdyz se povoli koleje, vyhraji raketove sane (ktere budou mit i nejvetsi zrychlenni). Ale pri zavodech v tezkem terenu nejspis vyhraje tank, nasledovany traktorem, offroadem a konem.

    A kdyz se usporadaji zavody v supermarketu, tak nejspis vyhraje kun, sekacka nebo invaldini vozik, protoze ostatni vozdila bud neprojdou vchodem, nebo se neotoci na miste (i kdyz, kdyz dovolime destrukci zavodni drahy, tak se so toho mohou zamichat i tank a bagr :-) ). A pokud se vezme v potaz ekonomika provozu, tak pravdepodobne vyhraje pozjidna nakupni taska ci podobny maly vuz, protoze bude mit suverene nejmensi spotrevu v l/km, pripadne kun (pokud mate vlasni staj) ci dokonce invalidni vozik (jezdi na nabijeci baterky).

    Takze - porovnavat obecne programovaci jazyky je nesmysl, pokud je to ciste obecne porovnani. Vzdyt i v ramci jedine aplikace muze byt pouzito neklolik jazyku (napr. nejnizsi rutiny v ASM, knihovny a runtime v C/C++ a samotna aplikace v Lispu).

    A navic, v kazdem jazyce se puziva jiny pristup - to, co se v klasickych imperativnich hjazycich (typu Fortran/PascalC/C++/Java) napise smyckou, udelaji deklarativni jazyky (jako Prolog a Lisp) rekurzi.

    I samotne uvazovani programtora je urceno tim, jake jazyky pouziva (viz Sapir-Whorfova hypoteza a programovaci jazyky), proto jsou napr. priklady v C/C++ psane Javisty obcas naprosto silene (z pohledu Cckare), s perlami typu alokace jedineho intu pres new/malloc() uvnitr cyklu (to jsem videl na vlasni oci, ten priklad jde jeste nekde vygooglit).

    To, co je v jednom jazyce prirozenost, je v druhem podivnost, v tretim zvrhlost a ve ctvrtem vec, kterou vubec nesmite. Jako je treba GOTO - v assembleru se bez skoku neobejdete, v Basicu bezna soucast jazyka, Pacalu a Ccku vec, ktera se nema delat a v Lispu skok neudelate vubec.

    Kdyz se navic pridaji vlasnoti typu alokace pameti (vlastnorucni vs. GC), podpora vyjimek, run-time kontrola vseho mozneho, nativni podpora vlaken a paralelizace vypoctu, nutne predpoklady pro beh (nic/OS/knihovny/runtime/interpreter) a podobne veci, tak name tolik rozdilnych kategorii, ze neexistuje jazyk, ktery by byl vhodny uplne pro vsechny.

    I kdyz nektere jazyky jsou dost univerzalni, jejich univerzalnost je jako univerzalnost kuchynskeho robota, ktereho ctvrt hodiny sestavujeme, pul minuty v nem krouhame mrkev a pak pul hodiny rozebirame, cistime a uklizime, zatimco se starym dobrym struhadlem by cela prace byla hotova za pet minut vcetne cisteni.

    Proto nema smysl delat bencmarky mimo tech typu, kde je presne specifikovana oblast (napr. nejrylejsi jazyk na psani toho a toho algoritmu) a ani potom nejde presne urcit viteze, protoze ten nejrychlejsi nemusi byt ten nejjednodussi a nejlepe napsatelny a odladitelny.
    28.12.2007 23:33 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    ...a v Lispu skok neudelate vubec.
    A vo co že jo? :-D
    (defun funkce1 ()
      (tagbody
         (labels ((funkce2 () 
    		;; Ackoliv je tag OUT lexikalne vymezen formou TAGBODY,
                    ;; muze byt skok na nej proveden z vnorene funkce o nekolik
                    ;; stack frames nize. V takovem pripade se ovsem korektne 
                    ;; odroluje zasobnik a provede se cleanout cehokoli, co je 
                    ;; zapotrebi. Cize zadne pitome JMP, ale dobre osetreny 
                    ;; bailout jako u vyjimky. Mame preci jednadvacate stoleti! :)
                    ;; (Nekteri z nas uz takovych tricet let... :D)
    		(unwind-protect (funkce3)
    		  (print "Zasobnik se odrolovava, cistime resources!")))                         
    	      (funkce3 ()
    		;; Fuj, GOTO ahead! ;) Kdyz tam nedam tu podminku, smaze 
    		;; mi kompilator kus kodu jako nedosazitelny, parchant jeden! :D
    		(if (/= (random 2) 0) (go out)))) 
           (funkce2)
           (print "Normalni navrat.")
           (return-from funkce1))
         out
         (print "Navrat skokem na OUT")))
    29.12.2007 03:18 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Ne ne, to není goto :-) Vy už simulujete výjimky a odrolování zásobníku :-) Ale kdysi mě napadlo, kdo vlastně poprvé v životě zešílel strachy a neudržel moč při pohledu na goto a rozšířil tak dogma o škodlivosti goto - a on to Dijkstra. Takže zastřelte Dijkstru a goto přestane být škodlivé a začne se objevovat ve většině jazyků :-)
    29.12.2007 04:01 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Já nic nesimuluju. :-) Tady se prostě projeví high-level jazyk - obyčejné (GO OUT) může vést na různý zkompilovaný kód podle kontextu. (Tedy podle MIT školy. :-) Cčko je New Jersey school a tam se prostě vrzne JMP, a co JMP neumí, to nebude umět ani goto a basta fidli. :-D) Kdyby to bylo v rámci jedné funkce, bude to jen JMP i v tom Lispu. :-) (I když tech konstrukcí, které se musejí ošetřit, je několik - ovšem jen pokud okolo jsou.)
    29.12.2007 04:46 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Vidím, že komantář píšete v dost podezřelou hodinu, budu si Vás muset poznamenat do podezřelých osob :-)

    Jasan, já to chápu. Co takhle zavést inline asm do LISPu a to goto tam natvrdo napsat :-) To by teprve byl bordel :-)
    29.12.2007 05:29 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Matně vzpomínám, který Lisp vlastně nemá inline assembler... ;-) S výjimkou CLISPu, který nemá generátor kódu v runtimu, jelikož nemá nativní kompilátor, o žádném nevím. A minimálně v OpenMCL je to docela dlouho oficiálně podporovaná fíčura kvůli vektorovým operacím. Nicméně zatím si vystačím s GO. :-) BTW, Vy taky píšete v podezřelou hodinu, ale Vás už mám na seznamu od nepaměti. :-D
    29.12.2007 08:46 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Nemate nejaky odkaz na dokumentaci inline assembleru pro sbcl? Hledal jsem pred nejakou dobou, lec nenasel. Diky.

    (kdybych byl rejpal, tak se zeptam na inline assembler pro Emacs Lisp, ale predpokladam, ze mluvite o CL. A docela by me prekvapil i u ABCL)
    29.12.2007 17:05 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    No, o přímém veřejném API (typu defppclapfunction/defx86lapfunction v OpenMCL) pro SBCL nevím. Ale poměrně konformní cestou, jak nějakou operaci dostat do SBCL skrzevá assembler, by mělo být napsání vlastního VOPu. Navíc je to mírně granulárnější než napsání funkce a snad by to mohlo hrát líp se zbytkem kompilátoru. Zatím jsem to nepotřeboval, ale docela by se mi na některé věci hodila instrukce PSADBW, hlavně na metrické stromy :-). Předpokládám, že na to by mi měl stačit i jen ten VOP. Co takhle se zeptat rovnou vývojářů, pokud máte v tomhle větší potřebu než já? :-) C. Rhodes se o tom kdysi zmiňoval na comp.lang.lisp, se slovy "Jak to udělat, máte popsané tady", a uvedl dnes již neplatný link. :-/

    A samozřejmě mluvím o CL, přičemž ABCL je AFAIK zatím docela nedotažené, proto ho neuvažuju. :-) Navíc jeho autor se teď věnuje XCL, nevím, jak moc se ABCL vůbec bude věnovat v budoucnu. (Možná jsem mohl doplnit i GCL a podobné věci, ale ty mi stejně poslední dobou přišly ta nějak mrtvé...)
    Pavel Čejka avatar 29.12.2007 11:29 Pavel Čejka | skóre: 28 | blog: tosinezaslouzijmeno
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků

    Brr.. GOTO :-) Ješte lepší jsou samomodifikující se kusy kódu ... a tohle není hardcore příklad, ale dejme tomu taková ukázka běžného použití.

    CONTROLS	ld	a,(CONSEL_B)
    		out	(254),a
    		ld	a,(CONSEL_CL)
    		ld	(CLS_COL),a
    		call	CLS
    		ld	hl, CONTR_TXT
    		call	TEXTOUT
    CONTROLS0	call	PAUSENK		; počkej dokud uživatel nepustí klávesu
    		call	INKEY
    		cp	49
    		jr	z,CONTR_KB	; uživatel zvolil klávesnici
    		cp	50
    		jr	z,CONTR_AM	; uživatel zvolil AMOUSE
    		cp	51
    		jr	z,CONTR_KM	; uživatel zvolil KMOUSE
    		cp	113
    CONTR_QA	jp	z,CONTROLS	; tato adresa má být přepsána adresou pro ukončení programu
    		jr	CONTROLS0
    
    CONTR_KB	xor	a
    		jr	CONTR_END
    
    CONTR_AM	ld	a,1
    		jr	CONTR_END
    
    CONTR_KM	ld	a,2
    CONTR_END	ld	(MOUSE_HID),a	; nastaví human interface device
    CONTR_EA	jp	CONTROLS	; tato adresa má být přepsána adresou pro pokračování běhu
    29.12.2007 13:01 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Na Z80 samomodifikující kód mohl dost výrazně zlepšit rychlost prgoramu. Na dnešních procesorech naopak samomodifikující se kód výrazně, a to velmi velmi výrazně zpomalí program, a v předchozích typech procesorů dokonce samomodifikující kód mohl znamenat, že půlka modifikací se vůbec nevykoná.

    Jinak toto je ještě hodně slabá ukázka - dějí se daleko větší divočiny ohledně samomodifikace, hlavně z důvodů ztížení reverse engineeringu a běžně se skáče doprostřed instrukce, aby tak vznikla instrukce naprosto jiná, nečekaná.
    29.12.2007 00:51 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Překvapil mě Free Pascal, slušný výkon, porazil i Javu od Sunu, na které přece tolik pracují :-D
    29.12.2007 03:25 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    To mícháte hrušky s jabkama. Při dobře udělaném a skvěle optimalizujícím kompilátoru musí low level kompilované jazyky jasně porazit Javu. C/C++/Ada/Fortran/Pascal/atd.. pokud jsou pomalejší, než Java, pak máte buď špatný kompilátor, nebo mizerného programátora, který by méně škodil jako kopač kanálů.

    Jinak nejkouzelnější jsou "seriózní a objektivní" testy provedené javisty, ze kterých jim běžně vychází, že Java je mnohem rychlejší, než C/C++, a sem tam dokonce, že Java je rychlejší, než asm a stroják. Ovšem při pohledu na ten zdroják, který pustí do testování se mi chce brečet. Například javista běžně alokuje lokálně 10 proměnných a všechny je vytvoří pomocí malloc/new !!! A hezky o pár řádků dále na konci lokálního bloku je zase pěkně po sobě uklidí pomocí free/delete !!! A ještě si stěžuje, že tohle by v Javě řešit nemusel, že by gc ty proměnné uklidil sám :-) A nepřijde mu to divné, proč taky, v Javě se to tak dělá, tak jaký křeče. Většinou je totiž C/C++ zdroják přesným opisem Javy, včetně toho, že třeba enum je v C++ dokonalá třída se vším všudy, včetně konstruktoru, destruktoru a virtuálních metod.
    29.12.2007 11:08 Jarda
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    No, nemusi. JVM dokaze delat za behu dalsi optimalizace, ktere ani ten nejskveleji optimalizujici kompilator bez kristalove koule v compile time zvladnout nemuze. Bohuzel, na prikladech typu vynasob dve matice a udelej to rychle, se to neprojevi.

    Jinak pokud se vam nelibi pouzite kody, tak jim poslete lepsi.:)
    29.12.2007 13:10 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Ad první odstavec: Bohužel oproti možnostem dobrého kompilátoru JVM moc možmostí nemá. Všechny ty optimalizace za běhu mají totiž dvě obrovské nevýhody:

    1) Optimalizace za běhu zpomaluje běh programu, protože zkrátka probíhá ve stejném čase jako program. Každé profilování za běhu zpomaluje program, každá změna, či dynamická optimalizace za běhu opět dále ještě více zpomaluje program. Tudíž z toho vyplývá, že JVM se opravdu moc rozšoupnout nemůže, protože kdyby moc optimalizovala, tak výsledkem je zpomalení, protože čas potřebný pro optimalizaci bude větší, než ušetřený čas.

    2) Praktické zrychlení dynamické optimalizace JVM a její vliv na větší rychlost, než u kompilátorů nikdo nikdy v praxi nepředvedl a to naprosto na žádném příkladě, nejen na násobení matic. Zatím se o tom jenom kecá, všude se píše o možnostech optimalizace, ale na benchmarku se to ještě nikdy nikomu neprojevilo. Nějaké dobré výsledky oproti kompilátoru C/C++ vlivem optimalizace JVM se nikdy v praxi nedosáhlo (a ono není divu, viz bod 1), přesto se o tom kecá. Ale zůstává to pouze snem, utopií a přáním některých jedinců.

    Co se týká použitých kódů, k tomu bych dodal - pokud neumím psát v C++, nedělám jeho benchmark. Dělám to co umím a nelámu se do toho, na co jsem levý jako šavle - to na adresu podobných testů a benchmarků. Od javistů by to chtělo trochu sebekritiky a trochu přiznání si skutečného stavu a neschopnosti. Nemůžu za to, že lemplové od javistů se snaží o to, na co nemají - a nemá smysl je podporovat v jejich lemplovství tím, že jim budu dělat co neumějí - on by totiž člověk nedělal nic jiného a čas je docela vzácná komodita.
    mj41 avatar 29.12.2007 21:35 mj41 | skóre: 17 | blog: mj41 | Brno
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Jednou jsem narazil na Parrot -Ofun (diskuse), kde Leo tvrdil, ze u rekurzivnich funkci muze mit (ma) JIT navrch.

    Jinak o tom, ze JIT neni vzdy to prave pise i Dan.

    OFFTOPIC: Mimochodem tihle dva se nepohodli, takze pred par lety Dan prestal makat na Parrotu a posledni mesice je Leo vytizen svym zamestnanim, takze jsem uz o nem taky dlouho neslysel. Hold open source projekt bez penez. Aspon, ze Mozilla dodala 10tis$ a Patrick trochu pohnul a snad jeste pohne s implementaci Perlu 6.
    30.12.2007 19:46 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Pokud, jak je obvyklým zvykem se to porovnává s mizerně optimalizujícím gcc kompilátorem, tak se tím nemá cenu moc zabývat. Zajímavé je, že 99% benchmarků vůči C/C++ jsou provedeny na gcc/g++, čímž jsou znehodnoceny. Je to jako dělat test rychlosti formule 1 na autu z vrakoviště po 30 letech používání, tudíž vypovídací hodnota nulová - nebo spíše lživá.

    Problém je totiž ten, že dobře a kvalitně optimalizující C kompilátor rekurzivní funkce může urychlit naprosto stejným způsobem, jako to dělá JIT plus má výhodu mnoha dalších optimalizací a výhodu toho, že kompilátor má na optimalizace čas, což JIT nemá.
    31.12.2007 00:06 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    A uděláte si někdy čas a popíšete nám ty nedostatky GCC co do optimalizací, aby se na to mohl třeba Honza Hubička, Zdeněk Dvořák, nebo další naši i přespolní kompilátoroví machři podívat a něco s tím udělat, nebo si to budete další dva roky nechávat pro sebe, jako ty předchozí? ;-)
    31.12.2007 13:41 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Já jsem to podrobněji nezkoumal, já jsem prostě otestoval, že kód z gcc je o dost pomalejší, než kód z MS kompilátorů, nebo neřku-li z Intel kompilátorů. Samozřejmě jsou i horší kompilátory, než gcc, třeba Borladnské.

    Když si čas od času dělám interní benchmarky kompilátorů, tak poslední výsledek je tento (budu brát Intel kompilátor jakožto 100% a čísla budou vyjadřovat kolikrát více času potřebuje program přeložený v kmpilátoru na stejnou úlohu, tedy menší číslo znamená lepší kompilátor - všechny kompilátory jedou na max. optimalizace):

    (Test řešení numerické úlohy zdůrazňující double čísla): Intel: 100% Microsoft: 116% Digital Mars: 137% gcc: 152% Borland: 160%

    (Test rychlost kódování mp3 pomocí lame - zde se zdůrazňuje rychlost práce s integer čísly): Intel: 100% gcc: 225% Microsoft: 229% Digital Mars: 249% Borland: 473%

    Jak jistě vidíte, v každém případě Intel ještě vytáhl rychlost minimálně o navíc o třetinu výše oproti gcc - takže veškeré testy, které používají gcc ani zdaleka nejsou maximem, co se dá z C/C++ programů vymáčknout.

    Nedělám si velké nároky na serióznost testu, dělám si jej čas od času znovu pro své interní potřeby. Vše je testováno v jednotném prostředí na Windows. Bohužel rozdíly mezi gcc a Microsoftem se na Windows uměle přibližují, protože gcc používá runtimovou knihovnu od Microsoftu - MSVCRT.DLL přeloženou Microsoftem, takže hodlám vymyslet test, který bude naprosto minimalizovat používání runtime knihovny - což dělá třeba ta verze s double čísly, ale ta není pro int směrodatná.

    Jinak jsem občas porovnával i asm a bylo vidět, že asm z gcc občas není ještě zcela uhlazená, dalo by se to zrychlit. Ono x86 architektura je velmi náchylná na pořadí instrukcí a stačí přehodit pořadí dvou strojových instrukcí a rychlost Vám to změní i o mnoho procent.

    Nicméně, jak je jasně vidět, rozdíl mezi Intel a gcc kompilátorem je značný a v reálných aplikacích to bývá mnoho desítek až stovek procent v neprospěch gcc. A jak moc mám brát benchmark, který testuje rychlost C/C++ programu, když vím, že program může být až několikanásobně rychlejší, když se nepoužije gcc?
    2.1.2008 09:03 jj
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Mozete dat prosim link na nejaky Vas testovaci program ? velmi rad by som ho vyskusal.
    29.12.2007 13:59 Kyosuke | skóre: 28 | blog: nalady_v_modre
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    "JVM dokaze delat za behu dalsi optimalizace, ktere ani ten nejskveleji optimalizujici kompilator bez kristalove koule v compile time zvladnout nemuze. Bohuzel, na prikladech typu vynasob dve matice a udelej to rychle, se to neprojevi."
    Jak píše pan Ponkrác, AOT kompilátor zase může v compile time provádět další optimalizace, které ani nejskvělejší optimalizující JVM nemůže bez stroje času provést, protože na ně prostě nemá čas. :-D Přičemž recyklování optimalizací prováděných JVM (těch, které stojí za to), pokud se někdy bude provádět, nebude až taková sranda. Jako potomek Strongtalku HotSpot s největší pravděpodobností generuje kód, u kterého se těžko dá říct, co patří ke které funkci. :-D
    okbob avatar 29.12.2007 08:15 okbob | skóre: 30 | blog: systemakuv_blog | Benešov
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Javu porazil i Oberon, a to je jen slusne napsany minimalisticky prekladac bez optimalizaci.
    30.12.2007 01:23 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
    Rozbalit Rozbalit vše Re: Benchmark programovacích jazyků
    Ano a zhruba sem jsem mířil, že mě to překvapilo. Do diskuzí, které započal M. Ponkrác, se ale zapojovat nebudu... :-D

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.