Názor k článku Valgrind - závěr od Quasimodo - No, mne nekolikanasobne pomaleji bezely praktickky vsechny elementarni...

  • Článek je starý, nové názory již nelze přidávat.
  • 29. 5. 2003 14:59

    Quasimodo (neregistrovaný)

    No, mne nekolikanasobne pomaleji bezely praktickky vsechny elementarni vyukove programky, ktere jsem psal v dobe kdy jsem se o Javu zajimal - odhadem tak dva roky tomu nazad.
    Pokusy typu rekurzivni vypocet n-teho prvku fibonacciho posloupnosti, nebo n!, nebo sorty, nebo ptakovinka typu mam pole prvku a do druheho na n-tou pozici uloz prumer prvku 0-n z pole prvniho a podobne veci, kde se nespolupracuje s nejakym pomalym zarizenim - operace s diskem, siti, interakce s uzivatelem.
    Mimochodem ve SWINGu napsane rozhrani se mi zda ze take rychlosti odezvy na udalost nevynikalo, ale to se da jen tezko objektivne zmerit. Psat si extra program na odchyceni stisku mysitka predtim, nez ho dam Jave se mi fakt nechce. :-)
    Skutecne jsem tenkrat delal testovani rychlosti, protoze se mi Java, kvuli sve prenositelnosti libila a je hodne podobna C++, ktere vcelku slusne umim.
    Postup: nacti ze souboru vstupni data do pole, uloz timestamp, na vsechna vstupni data pouzij v cyklu funkci a zase timestamp. Vytiskni rozdil casu. Jednoduche a na nezatizenem systemu vcelku spolehlive mereni, pokud je vstupnich dat dost na to, aby vypocty bezely alespon par desitek sekund. (Tolik se jich obvykle nevejde do pameti, ale zase tak moc to nevadi, protoze to muzeme smele prohrant cyklem. Celkem staci, kdyz je dostatek dat na to, aby nezustavala v datove cache.)

    Kolega se pokusil pouzit Javu pro psani uzivatelskeho interface k nasemu mericimu softu pod RTLinuxem. Realtime cast jsem si napsal v C++ a v Jave napsany interface mel slouzit jen k ovladani a zobrazovani namerenych hodnot - vcelku jednoduche kresleni posouvajicich se krivek. Presvedcil nas, ze to bude za mnohem rychlejsi vyvoj stat a na ovladani systemu ze to bohate staci. Take tvrdil, ze Java je jen o malo pomalejsi nez C. Muselo se to nakonec prepsat do C++ a GTK. Java naprosto nestihala, sezrala prakticky veskery dostupny vykon a navic se obcas interface na chvili zamyslel a nereagoval na uzivatelsky vstup. Samozrejme, neprozkoumal jsem nijak dukladne jeho kod a mozna to delal hodne blbe, ale moje mineni o Jave to proste nevylepsilo.