eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJak się nauczyć Javy?
Ilość wypowiedzi w tym wątku: 33

  • 21. Data: 2009-08-04 07:56:21
    Temat: Re: Jak się nauczyć Javy?
    Od: mgk <m...@w...pl>

    Dobra. Dokladnie jeszcze zajrzalem do moich wynikow.

    Udalo mi sie w Javie te piłki odbijające sie tak zoptymalizowac ze w
    Javie wynik predkosci byl nawet lepszy niz w C++ (ale to moze dlatego
    ze mam Visual Express a nie proffesional i moze nie robi wszystkich
    optymalizacji).
    Tylko ze wtedy to juz javy po mojej optymalizacji ten kod nie
    przypominal. Ani jednego new :)

    A przy takiej normalnej optymalizacji to Java pare procent gorzej.
    10-20%.


  • 22. Data: 2009-08-04 08:48:15
    Temat: Re: Jak się nauczyć Javy?
    Od: mgk <m...@w...pl>

    > Trochę szkoda, że zarówno program wymieniony przez Ciebie, jak i program, o
    > którym wspomniał Michał Kleczek, nie są dla mnie użyteczne - trudno mi więc
    > porównać prędkość działania, z tym czego sam używam i jest napisane w C lub
    > C++. Miałem nadzieję, że ktoś wskaże program typu czytnik grup dyskusyjnych
    > czy przeglądarka PDF, albo jakaś (niekoniecznie w pełni funkcjonalna)
    > przeglądarka internetowa, oparta o silnik napisany w Javie...
    > Spróbuję jednak znaleźć chwilę czasu, aby potestować i wyrobić sobie opinię
    > o tych programach, o których napisaliście.

    No tak... Przegladarka internetowa to rewelacyjny benchmark.......
    Tylko ze w przegladarce czekam na siec, a nie na program / cpu.
    Takze zaden to benchmark.

    Benchmark to moglby byc jakis algorytm wykonywany tylko przez
    procesor. Taki jak ja np zrobilem (Fizyka, czy generacja ruchow w
    szachach). Moze byc tez kompresja, czy inne obliczenia.
    A nie przegladarka... Co mialo by pokazac napisanie przegladarki w
    Javie? Ma to mierzyc predkosc Javy?


  • 23. Data: 2009-08-04 09:33:42
    Temat: Re: Jak się nauczyć Javy?
    Od: Wojciech Jaczewski <w...@o...pl>

    mgk wrote:

    > No tak... Przegladarka internetowa to rewelacyjny benchmark.......
    > Tylko ze w przegladarce czekam na siec, a nie na program / cpu.
    > Takze zaden to benchmark.

    Można ją testować także na rozbudowanych stronach znajdujących się na dysku,
    niekoniecznie tych w sieci.


  • 24. Data: 2009-08-04 10:00:45
    Temat: Re: Jak się nauczyć Javy?
    Od: Wojciech Jaczewski <w...@o...pl>

    mgk wrote:

    > Benchmark to moglby byc jakis algorytm wykonywany tylko przez
    > procesor. Taki jak ja np zrobilem (Fizyka, czy generacja ruchow w
    > szachach). Moze byc tez kompresja, czy inne obliczenia.
    > A nie przegladarka... Co mialo by pokazac napisanie przegladarki w
    > Javie? Ma to mierzyc predkosc Javy?

    Mnie też ciekawi efekt braku możliwości jawnego używania wskaźników w Javie,
    przez co w niektórych przypadkach programiści C/C++ wybiorą inne
    rozwiązanie, niż programiści Javy. Nie wiem który z podstawowych
    benchmarków obciążających procesor mógłby coś takiego pokazać, natomiast
    moim zdaniem jest spora szansa, że pokaże to rozbudowany program
    desktopowy.
    W to, że średnio Java będzie wolniejsza od C/C++ o jakieś 10-15% to wierzę,
    natomiast znajdzie się ileś zastosowań, gdzie nie będzie szans zbliżyć się
    Javowym programem do tego, co można osiągnąć w C/C++ - właśnie z powodu
    ograniczeń, jakie postawili twórcy Javy.


  • 25. Data: 2009-08-04 10:54:55
    Temat: Re: Jak się nauczyć Javy?
    Od: mgk <m...@w...pl>

    On 4 Sie, 11:33, Wojciech Jaczewski <w...@o...pl> wrote:
    > mgk wrote:
    > > No tak... Przegladarka internetowa to rewelacyjny benchmark.......
    > > Tylko ze w przegladarce czekam na siec, a nie na program / cpu.
    > > Takze zaden to benchmark.
    >
    > Można ją testować także na rozbudowanych stronach znajdujących się na dysku,
    > niekoniecznie tych w sieci.

    To dysk twardy bedzie gardlem...

    Testy nie powinny wychodzic po za cpu i ram.

    Przeciez co nas obchodzi czy strona sparsuje sie w 0,1s czy w 0.2s ?
    Co innego jak ktos np renderuje cos w 3D Studio i mu sie to renderuje
    pare dni. Albo kompresuje film. Albo cos sie szyfruje, czy pakuje.


  • 26. Data: 2009-08-04 11:00:16
    Temat: Re: Jak się nauczyć Javy?
    Od: mgk <m...@w...pl>

    >
    > Mnie też ciekawi efekt braku możliwości jawnego używania wskaźników w Javie,
    > przez co w niektórych przypadkach programiści C/C++ wybiorą inne
    > rozwiązanie, niż programiści Javy. Nie wiem który z podstawowych

    Nie rozumiem. Wskazniki w Javie tak wlasciwie w praktyce to sa.
    Nazywaja sie referencje. (tylko nie pisac mi tu wojny na grupie :) ).
    Roznica jest tylko taka, ze na referencjach nie masz arytmetyki takiej
    jak w C++. ALe w C++ nie uzywalo sie jej odkat powstaly iteratory.
    Natomiast testowalem kiedys wydajnosc iteratorow w Javie vs C++. Te w
    Javie sa troche wolniejsze, ale nie jest to jakies znaczne
    spowolnienie.

    A i jest jeszcze jedna roznica. W Javie nie mozesz utworzyc obiektu na
    stosie. Musisz przez alokacje (new).
    Ale "new" w Javie jest szybsze niz w C++ bo java ma jakis swoj memory
    manager. W C++ w niektorych grach pisano wlasne memory managery
    wlasnie aby przyspieszyc operacje new. Jasne ze nie jest tak szybkie
    jak utworzenie obiektu na stosie, ale znow nie jest to jakos bardzo
    szczegolne.

    nawet jesli taka operacja trwa 2 razy dluzej niz w C++ to nie jest to
    operacja ktora podczas wykonywania programu zajmuje 99% czasu.



  • 27. Data: 2009-08-04 15:12:17
    Temat: Re: Jak się nauczyć Javy?
    Od: Maciej Sobczak <s...@g...com>

    On 4 Sie, 12:54, mgk <m...@w...pl> wrote:

    > Testy nie powinny wychodzic po za cpu i ram.

    Niekoniecznie. Normalne systemy używają również innych rzeczy, więc
    dlaczego je eliminować z testów? Chociażby takie I/O.

    Przykład:

    Biblioteka komunikacyjna oparta o nieblokujące I/O. Dwa programy w C++
    komunikują się przez sieć (pomiędzy dwoma komputerami) z prędkością
    45k komunikatów na sekundę po jednym połączeniu. Dwa programy w Javie
    osiągają na tym samym sprzęcie 14k.

    Protokół transmisji, format serializacji i treść komunikatów
    oczywiście takie same.
    Różny był kod tych programów, ale to był też test wydajności użytych i
    dostępnych w danym języku idiomów i technik.

    To, że pętla na integerach kręci się w Javie tak szybko jak w C++ nie
    odzwierciedla złożoności realnych systemów i dlatego benchmarki
    algorytmiczne niewiele wnoszą.

    --
    Maciej Sobczak * www.msobczak.com * www.inspirel.com


  • 28. Data: 2009-08-05 07:19:22
    Temat: Re: Jak się nauczyć Javy?
    Od: mgk <m...@w...pl>

    > Biblioteka komunikacyjna oparta o nieblokujące I/O. Dwa programy w C++
    ...
    >To, że pętla na integerach kręci się w Javie tak szybko jak w C++ nie
    odzwierciedla złożoności realnych systemów i dlatego benchmarki
    algorytmiczne niewiele wnoszą.


    No tak. Ale wtedy nie mierzysz predkosci z jaka sie wykonuje kod w
    danym jezyku, a predkosc karty sieciowej, IO, itp...
    Czyli nie otrzymasz jakos bardzo rozniacych sie wynikow.
    Przeciez program w Javie, czy C++ tyle samo czasu bedzie czekal na
    karte sieciowa. Wiec bezsensu.

    Nie powinna to byc 1 petla, a wiekszy program w ktorym sa wszelkie
    jezykowe mechanizmy. Dlatego np fizyka odbijajacych sie pilek ktora ja
    kiedys zrobilem, albo generator ruchow w szachach sadze ze sa dobrymi
    testami (bynajmniej nie jest to zadna petla krecacych sie intow).


  • 29. Data: 2009-08-05 07:20:21
    Temat: Re: Jak się nauczyć Javy?
    Od: shio <s...@b...eu.org>



    On Mon, 3 Aug 2009, Wojciech Jaczewski wrote:
    >> Oracle SQL Developer chyba spelni wymaganie nietrywialnosci? pozatym w
    >> miare szybki, no i sliczny:) (a przy tym darmowy)
    >
    > Trochę szkoda, że zarówno program wymieniony przez Ciebie, jak i program, o
    > którym wspomniał Michał Kleczek, nie są dla mnie użyteczne - trudno mi więc
    > porównać prędkość działania, z tym czego sam używam i jest napisane w C lub
    > C++. Miałem nadzieję, że ktoś wskaże program typu czytnik grup dyskusyjnych
    > czy przeglądarka PDF, albo jakaś (niekoniecznie w pełni funkcjonalna)
    > przeglądarka internetowa, oparta o silnik napisany w Javie...

    Oracle SQL Developer mozna porownac z napisanym w C++ PL/SQL Developerem
    :)
    Jesli chodzi o przegladarke to np. Lobo, w calosci javowa, szkoda, ze az
    nadto spelnia wymaganie "niekoniecznie w pelni funkcjonalna", wlasciwie
    nie da sie jej normalnie uzywac... ale IMHO jest szybka;)
    Albo inny przyklad do porownania openproj i MS project.
    Ja mysle, ze tych programow troche jest, mozna poszukac czegos z dopiskiem "pure
    java"


  • 30. Data: 2009-08-05 07:36:35
    Temat: Re: Jak się nauczyć Javy?
    Od: Paweł Kierski <n...@p...net>

    mgk wrote:
    >> Biblioteka komunikacyjna oparta o nieblokujące I/O. Dwa programy w C++
    > ...
    >> To, że pętla na integerach kręci się w Javie tak szybko jak w C++ nie
    >> odzwierciedla złożoności realnych systemów i dlatego benchmarki
    >> algorytmiczne niewiele wnoszą.
    >
    >
    > No tak. Ale wtedy nie mierzysz predkosci z jaka sie wykonuje kod w
    > danym jezyku, a predkosc karty sieciowej, IO, itp...
    > Czyli nie otrzymasz jakos bardzo rozniacych sie wynikow.
    > Przeciez program w Javie, czy C++ tyle samo czasu bedzie czekal na
    > karte sieciowa. Wiec bezsensu.

    O ile Maciej podał faktyczne wyniki, to znaczy, że program w Javie
    jednak działał wolniej. Gdyby wąskim gardłem była tylko karta sieciowa,
    to wyniki byłyby bardzo zbliżone. Kwestia, czy to bariera języka (np.
    współpracy z I/O), czy po prostu źle napisany program pozostaje otwarta.

    > Nie powinna to byc 1 petla, a wiekszy program w ktorym sa wszelkie
    > jezykowe mechanizmy. Dlatego np fizyka odbijajacych sie pilek ktora ja
    > kiedys zrobilem, albo generator ruchow w szachach sadze ze sa dobrymi
    > testami (bynajmniej nie jest to zadna petla krecacych sie intow).

    To nadal są głównie zabawy z CPU. Nie twierdzę, że taki benchmark jest
    bez sensu, a tylko, że trzeba wiedzieć, co się porównuje.

    --
    Paweł Kierski
    n...@p...net

strony : 1 . 2 . [ 3 ] . 4


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: