eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingAlgorytm hex,dec<->liczbaRe: Algorytm hex,dec<->liczba
  • Data: 2017-07-10 16:51:10
    Temat: Re: Algorytm hex,dec<->liczba
    Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On Monday, July 10, 2017 at 4:22:52 PM UTC+2, s...@g...com wrote:
    > > > W porównaniu do Java i C# jest kompilowany do kodu maszynowego a
    > > nie d=
    > > > o wirtualnej maszyny. Przez co działa z pełną prędko?=
    > > > ?cią sprzętu na którym jest uruchamiany.
    > >
    > > No to mędrku wpisz w Google JIT compilation.
    >
    > Wiem co to jest, tyle, że to nie są normalne programy bo wymagają maszyn
    wirtualnych. JIT to i tak nie są tak szybkie jak kod generowany przez kompilator C++.
    A C, C++ i D to normalne języki produkujące samodzielne exe i dll. Styl też się
    liczy! Bo jeśli miałbym do czegoś porównać Java czy C# to chyba jedynie do sztucznej
    ręki albo sztucznej nogi...


    Efektywność kodu generowanego przez JIT zależy generalnie od jakości
    JITa. Tak samo jak efektywność kodu maszynowego zależy od
    optymalizatora. Generalnie też zgadzam się, że kiedyś (i pewnie
    nadal) kod generowany przez JITy dla kodu bajtowego Javy był
    mniej efektywny pod kątem czasu wykonania od kodu generowanego przez
    optymalizatory zamieszczane w kompilatorach języków C++. To tak
    generalnie, szczegółowo sprawa jest głębsza i z użycia kodu
    pośredniego dla JITa wiąże się szereg zalet i wad, nie tylko
    związanych z efektywnością generowanego kodu.

    Po pierwsze, JIT dla kodu pośredniego może zrobić to co robi PGO,
    czyli może zebrać statystyki i wygenerować kod maszynowy z uwzględnieniem
    tychże statystyk. Jeśli użytkownik używa w bardzo niestandardowy
    sposób danego oprogramowania, to JIT przynajmniej teoretycznie,
    powinien generować bardziej efektywny kod.

    Po drugie, JIT może optymalizować pod daną platformę sprzętową, więc
    znowu teoretycznie JIT może wygenerować lepszy kod.

    Po trzecie, optymalizowanie kodu jest problemem bardzo trudnym. Wniosek
    z tego taki, że wszelkie próby bardziej zaawansowanej optymalizacji
    najpierw zmuszą użytkownika do oczekiwania na wynik tejże optymalizacji,
    żeby potem przy każdym użyciu zyskiwał trochę czasu. W przypadku gdy
    od razu kompilujemy do kodu maszynowego, możemy (teoretycznie) włączyć
    jakiś optymalizujący program na tydzień i rozdać gotowy-zoptymalizowany
    kod ostatecznym użytkownikom.

    Po czwarte, JIT (teoretycznie) może zapisywać gdzieś na jakimś serwerze
    częściowe wyniki optymalizacji, a inni mogą korzystać z gotowców.

    Po piątek, programy napisane w językach kompilowanych bez kodu
    pośredniego można rozprowadzać z otwartym źródłem, więc każdy użytkownik
    teoretycznie może sobie skompilować i zoptymalizować u siebie na
    swój sprzęt i każdy może włączyć PGO na swój przypadek użycia.

    W Javie kijowe jest to, że TRZEBA użytkownikowi dać kod bajtowy, który
    (podobno nawet obfuskany) łatwo zamienia się do kodu źródłowego
    Javy. W przypadku C++ to my decydujemy, czy dać że źródłem, czy tylko
    kod wynikowy. Gdy dajemy ze źródłem, to (teoretycznie) wychodzi na to
    samo co w przypadku JITa.

    Pozdrawiam

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

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: