Jazyk podobný C#

Re:Jazyk podobný C#
« Odpověď #60 kdy: 20. 01. 2014, 10:35:11 »
A co z toho plyne? Špatně napsaný kód v javě může být rychlejší než špatně napsaný kód v c. Nic víc. Nejlepší informaci o tom, co se bude dít, má autor kódu. Pokud ji neumí nebo nechce použít, měl by místo matlání kódu jít dělat něco užitečného.

Tvrdis, ze "dobry" autor kodu ma sanci predem vedet, zda bude mit nehjake rozhrani vic implementaci? Nebo ze nema pouzivat rozhrani? Nebo neco jineho?


Mira

Re:Jazyk podobný C#
« Odpověď #61 kdy: 20. 01. 2014, 12:48:47 »
Velmi pochybuji o zázračných schopnostech urychlení kódu JIT strojem, dle mého názoru to je blbost.
Názory made by Galgonek není nutné číst, na to jsem přišel už před delší dobou a nyní mě potěšilo, že nejsem sám, kdo to tak vidí.
Ale odchýlil jsem se od toho, co jsem chtěl napsat, jediný, kdo tady tomu opravdu rozumí, je Tišňovský.
Až Tišňovský napíše, že JIT poskytuje takové optimalizace, které obecně překonávají rychlost stejně dobrého kódu napsaného v C++,  nezačnu tomu hned věřit, ale prohlídnu si jeho argumenty. Do té doby, pánové, se připojím k Bla a budu Vám dělat opozici.


samo chalupka

Re:Jazyk podobný C#
« Odpověď #62 kdy: 20. 01. 2014, 13:14:07 »
Já vím, že pro linuxáka je to urážka něco takového vytahovat, ale co takhle jazyk

C++

myslim ze medzi Linuxakmi je prave C++ omnoho preferovanejsi ako Java. Java je platforma pre "pojedacov kolacov" a lepicov databazovych enterprise apps, intranetov a bastlenie server side casti weboviek.

Jakub Galgonek

Re:Jazyk podobný C#
« Odpověď #63 kdy: 20. 01. 2014, 13:26:43 »
[...]

A nějaký relevantní argument by nebyl? Nehledě na to, že když si pořádně prečteš, na co jsem tu reagoval a co jsem psal, tak zjistíš, že zde netvrdím, že je Java díky JITu rychlejší než C, ale jen to, že nelze jen tak tvrdit opak, protože JIT může provádět optimalizace, které normální kompilátor dělat nemůže. Což tu bylo zatím "vyvraceno" hlavně jen urážkami.

Re:Jazyk podobný C#
« Odpověď #64 kdy: 20. 01. 2014, 13:58:00 »
Až Tišňovský napíše, že JIT poskytuje takové optimalizace, které obecně překonávají rychlost stejně dobrého kódu napsaného v C++,  nezačnu tomu hned věřit, ale prohlídnu si jeho argumenty.
Nikdo tady nepíše o tom, že by nějaké optimalizace obecně překonávaly nějakou rychlost. Na vyvrácení tvrzení, že Java musí být vždy pomalejší, úplně stačí, když ty optimalizace budu lepší v některých případech.

Jinak od pana Tišnovského zrovna vychází na Rootu seriál o JVM, kde se optimalizacím věnoval. A byly tam i příklady srovnání kódu z JIT a z gcc.


Mira

Re:Jazyk podobný C#
« Odpověď #65 kdy: 20. 01. 2014, 14:37:27 »
Jinak od pana Tišnovského zrovna vychází na Rootu seriál o JVM, kde se optimalizacím věnoval. A byly tam i příklady srovnání kódu z JIT a z gcc.

Ano, to vím a proto říkám, že je asi jediný schopný toto tvrzení vyvrátit a nebo potvrdit.
Ten seriál nečtu a proto mi tyto testy unikly, Javu už delší dobu nepoužívám, ale nemohl jsem si nevšimnout úrovně jeho znalostí a hloubky, do které to probírá.

Hovoříme tu o tomto nesmyslu:
To právě není tak jisté. JIT kompilátor může mít třeba k dispozici informace, které C kompilátor nemá, a díky tomu může být pak rychlejší.

Tvrdí, že Java potažmo libovolný JIT je rychlejší než C, protože má víc informací než C kompilátor.
Naprostá většina z Vás se tohoto jeho názoru zastává.
Já se k Vám nemohu připojit, ano, JIT může vyhodit určitou část kódu, ale tu může vyhodit i překladač C a Java už z principu nemůže být rychlejší než dobrý C kód.

Jakub Galgonek

Re:Jazyk podobný C#
« Odpověď #66 kdy: 20. 01. 2014, 14:52:37 »
Hovoříme tu o tomto nesmyslu:
To právě není tak jisté. JIT kompilátor může mít třeba k dispozici informace, které C kompilátor nemá, a díky tomu může být pak rychlejší.

Tam se píše může mít/může být a ne že /je. A nikdo tady dosud neukázal, že tyto informace nejde využít. Vždyť díky nim jde například z kódu odstranit spoustu skoků, pokud se ukáže, že už tam být nemusí.

JIT může vyhodit určitou část kódu, ale tu může vyhodit i překladač C a Java už z principu nemůže být rychlejší než dobrý C kód.

Díval ses na ten můj příklad s třídou Foo? Tam máš příklad kódu, který je možné vyhodit, ale určitě by nemohl být vyhozen klasickými překladači.

gamer

Re:Jazyk podobný C#
« Odpověď #67 kdy: 20. 01. 2014, 15:01:57 »
Java už z principu nemůže být rychlejší než dobrý C kód.

Mohl bys ten "princip" lépe popsat? Java totiž taky překládá do nativního kódu a má k dispozici víc informací, než které má C překladač.

prezek

  • ***
  • 229
    • Zobrazit profil
Re:Jazyk podobný C#
« Odpověď #68 kdy: 20. 01. 2014, 15:11:48 »
Java už z principu nemůže být rychlejší než dobrý C kód.

Mohl bys ten "princip" lépe popsat? Java totiž taky překládá do nativního kódu a má k dispozici víc informací, než které má C překladač.
Třeba je ten princip to, že java překládá až za běhu, takže nějaký čas zabije tím překladem a optimalizací běhu.

死神

  • ***
  • 159
    • Zobrazit profil
Re:Jazyk podobný C#
« Odpověď #69 kdy: 20. 01. 2014, 15:17:06 »
Nejlepší informaci o tom, co se bude dít, má autor kódu. Pokud ji neumí nebo nechce použít, měl by místo matlání kódu jít dělat něco užitečného.
Nesmysl. Software se často používá úplně jinak, než autor zamýšlel. I když se používá tak, jak bylo zamýšleno, používá se různým způsobem.

Proč by třeba Linuxové jádro mělo tolik konfiguračních voleb, když podle vás mají jeho autoři nejlepší informace, co se bude dít? Když už jsme u jádra, tam bylo také dost případů, kdy autoři ručně vynucovali nebo zakazovali nějakou optimalizaci, která byla špatně a kompilátor by to udělal správně. Kdyby všichni ti matlalové kódu šli dělat něco jiného, zbyl byste na celém světě na programování jen vy a možná pár dalších supermanů, kteří programují tak, že mají otevřeno několik desítek terminálů, a tam píšou rovnou nativní instrukce optimalizované pro konkrétní procesor. Jak byste zvládli všechen ten software napsat?

Z tohohle blábolení jsem si odnesl jenom to, že linuxové jádro se používá jinak, než autoři zamýšleli ;D

gamer

Re:Jazyk podobný C#
« Odpověď #70 kdy: 20. 01. 2014, 15:18:22 »
Třeba je ten princip to, že java překládá až za běhu, takže nějaký čas zabije tím překladem a optimalizací běhu.

Ale to nedokazuje, že java nemůže být rychlejší. Co když java stráví na optimalizaci 1 sekundu a 2x zrychlý kód, který normálně běží 100 sekund?
Tady někdo tvrdí, že C předkladač bude vždy rychlejší než java překladač, ale C překladač nemá žádnou konkurenční výhodu, protože dělá to stejné jako java překladač s menším množstvím informací.

死神

  • ***
  • 159
    • Zobrazit profil
Re:Jazyk podobný C#
« Odpověď #71 kdy: 20. 01. 2014, 15:28:28 »
Mě by zajímalo, jakou informaci o tom, co se bude dít, má autor u tohoto kódu:
Kód: [Vybrat]
    for (;;)
    {
        if (getchar() < 'A')
        {
            printf("neni pismeno\n");
        }
        else
        {
            printf("je pismeno\n");
        }
    }
Nebude o těch datech třeba vědět víc java kompilátor, který může udělat runtime branch optimalizaci podle dat, které to skutečně zpracovává?

Místo těhle zábavných a nesmyslných útržků kódu zkuste přijít s kódem, který opravdu běží v javě rychleji než jeho ekvivalent v c. Pořád tu operujete s tím, že to jde, tak přece nemůže být až takový problém to na něčem malém demonstrovat. Nebo ne?

gamer

Re:Jazyk podobný C#
« Odpověď #72 kdy: 20. 01. 2014, 15:33:54 »
Místo těhle zábavných a nesmyslných útržků kódu zkuste přijít s kódem, který opravdu běží v javě rychleji než jeho ekvivalent v c. Pořád tu operujete s tím, že to jde, tak přece nemůže být až takový problém to na něčem malém demonstrovat. Nebo ne?

http://paulbuchheit.blogspot.cz/2007/06/java-is-faster-than-c.html

Developer

Re:Jazyk podobný C#
« Odpověď #73 kdy: 20. 01. 2014, 15:40:07 »
Třeba je ten princip to, že java překládá až za běhu, takže nějaký čas zabije tím překladem a optimalizací běhu.

Ale to nedokazuje, že java nemůže být rychlejší. Co když java stráví na optimalizaci 1 sekundu a 2x zrychlý kód, který normálně běží 100 sekund?
Tady někdo tvrdí, že C předkladač bude vždy rychlejší než java překladač, ale C překladač nemá žádnou konkurenční výhodu, protože dělá to stejné jako java překladač s menším množstvím informací.

Ale nedokazuje ani opak. Toto sú to len teoretické bláboly a reklamné business keci. Závidím vám vašu naivitu chlapci. Sám programujem v .NET a už pre 15timi rokmi som počúval ako JIT kompilácia urýchli beh .NET apps ako budú rýchlejšie jak natívne - teória pekná, ale v praxi to nefunguje. Prečo?

perceptron

Re:Jazyk podobný C#
« Odpověď #74 kdy: 20. 01. 2014, 15:44:43 »
Citace
Třeba je ten princip to, že java překládá až za běhu, takže nějaký čas zabije tím překladem a optimalizací běhu.
A startom VM ;-)

Pri dlhobeziacich aplikaciach sa to IMHO vyvazi.

Citace
teória pekná, ale v praxi to nefunguje. Prečo?
Asi nik netvrdi, ze .NET/Java predbehne C, ale sa k nemu zacne blizit vymenou za vyvojarov komfort.

Inak co je vo vasom svete "pomala aplikacia"?