Názor ke článku Kudy dál v kompilovaných jazycích? od baze - http://www.fre­ewebs.com/goda­ves/javabench_re­visited/ ...tento benchmark vyzera vierohodne Michal Kára: 1) Indexovanie pola...

  • 7. 12. 2007 10:51

    baze (neregistrovaný)

    http://www.fre­ewebs.com/goda­ves/javabench_re­visited/ ...tento benchmark vyzera vierohodne

    Michal Kára:

    1) Indexovanie pola je na sucasnych procesoroch otazka jednej offsetovej load instrukcie, takze ocakaval by som, ze indexovana verzia pobezi dokonca o malicko rychlejsie. C je nizsi len v tom zmysle, ze ma pointre a alokaciu, co v nasom priklade nehra rolu. Treba povedat aj to, ze GCC je slaby compiler, ale na orientaciu to staci.

    2) Ano jednorazovy start sa da zanedbat, to som si len zlomyselne rypol :)

    3) No, pri tak jednoduchom programe, navyse skompilovanom, mi ta stvrtina vykonu pride dost. Ked sa napr. profiluje a optimalizuje projekt, zrychlenie nejakej casti kodu o 20 a viac percent je uz velmi solidny uspech - viac mozno cakat len malokedy.

    Imho zrovnavat to, obzvlast na aritmetike, nie je reprezentativne. U nejakej matematickej operacie viac zavazi ako je ten samotny kus kodu napisany. Procesor nativne pocita s integermi a floatmi v registroch, takze nejaky ten cyklus okolo ma len malu sancu skompilovat sa nejako extra inak. U C/C++ vstupuju do hry standardizovane zaokruhlovacie konvencie, takze mnohe funkcie stravia viac casu tym, ako samotnym vypoctom. Ten skutocny rozdiel lezi inde.

    Ak je bottleneckom disk, siet a podobne, tak na takomto zabomysom zrovnavani samozrejme nezalezi.