-
X-Received: by 10.36.82.208 with SMTP id d199mr451519itb.7.1499698270931; Mon, 10 Jul
2017 07:51:10 -0700 (PDT)
X-Received: by 10.36.82.208 with SMTP id d199mr451519itb.7.1499698270931; Mon, 10 Jul
2017 07:51:10 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.c
om!border1.nntp.dca1.giganews.com!nntp.giganews.com!v31no1612147qtb.0!news-out.
google.com!s132ni2789itb.0!nntp.google.com!188no1932312itx.0!postnews.google.co
m!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 10 Jul 2017 07:51:10 -0700 (PDT)
In-Reply-To: <7...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.46.112;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 77.254.46.112
References: <ojbd2k$m8a$1@node1.news.atman.pl> <ojdmh3$1u2$3@node2.news.atman.pl>
<6...@g...com>
<oje1q0$cv5$1@node2.news.atman.pl>
<c...@g...com>
<ojghmi$no5$1@node2.news.atman.pl>
<d...@g...com>
<ojgj5c$oul$1@node2.news.atman.pl> <ojgjjo$pam$1@node2.news.atman.pl>
<f...@g...com>
<ojgmpg$riu$1@node1.news.atman.pl>
<b...@g...com>
<ojgnpv$ses$1@node1.news.atman.pl>
<f...@g...com>
<ojj04l$2q6$3@node1.news.atman.pl>
<7...@g...com>
<ojmhb1$ie7$1@node1.news.atman.pl>
<a...@g...com>
<ojoq0n$cv4$1@node2.news.atman.pl>
<3...@g...com>
<5...@g...com>
<2...@g...com>
<a...@n...v.pl>
<7...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <6...@g...com>
Subject: Re: Algorytm hex,dec<->liczba
From: "M.M." <m...@g...com>
Injection-Date: Mon, 10 Jul 2017 14:51:10 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 82
Xref: news-archive.icm.edu.pl pl.comp.programming:210695
[ ukryj 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
Następne wpisy z tego wątku
- 10.07.17 17:44 AK
- 10.07.17 18:08 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 10.07.17 18:17 AK
- 10.07.17 18:40 wół, wół roboczy, wół dojno roboczo obronny 'POPIS/EU
- 10.07.17 20:03 s...@g...com
- 10.07.17 20:13 s...@g...com
- 10.07.17 23:48 M.M.
- 11.07.17 16:20 slawek
- 11.07.17 16:25 slawek
- 11.07.17 16:48 s...@g...com
- 11.07.17 17:53 slawek
- 11.07.17 18:25 s...@g...com
- 11.07.17 19:16 slawek
- 11.07.17 22:30 M.M.
- 11.07.17 23:53 slawek
Najnowsze wątki z tej grupy
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-06 PROGRAM DOPŁAT DO AUT ELEKTRYCZNYCH TO ABSURD. ZA ŚRODKI Z KPO KUPIMY NIEMIECKIE I CHIŃSKIE AUTA
- 2025-02-05 ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-05 Re: ceny OC
- 2025-02-07 Smar do video
- 2025-02-06 Litowe baterie AA Li/FeS2 a alkaliczne
- 2025-02-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-02-07 Warszawa => System Architect (Java background) <=
- 2025-02-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-07 Warszawa => Solution Architect (Java background) <=
- 2025-02-07 Gliwice => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-07 Lublin => Programista Delphi <=
- 2025-02-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-07 Dęblin => Node.js / Fullstack Developer <=
- 2025-02-07 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo