-
Data: 2010-12-16 11:56:36
Temat: Re: Jaki j?zyk - ceny?
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Dec 16, 1:37 am, Mariusz Marszałkowski <m...@g...com> wrote:
> On 16 Gru, 02:02, Andrzej Jarzabek <a...@g...com> wrote:> Można
zacząć od przykładu banalnie prostego. Mamy coś, co powiedzmy
> > można zapisać tak:
> > a = A()
> > b = B()
> > c = C(a,b)
>
> > Clou jest takie, że A i B są niezależne i można by je wykonać
> > równolegle. Oczywiście rozwiązanie tego na wątkach jeest banalne, ale
> > jeśli w całym programie są dziesiątki tysięcy takich scenariuszy, gdzie
> > za A i B można podstawić różne możliwe obliczenia, poczynając od
> > podstawienia stałej znanej w czasie kompilacji, a kończąc na jakiejś
> > skomplikowanej i czasochłonnej operacji, to lądujemy z tysiącami pytań
> > czy lepiej A i B obliczać w wątkach i synchronizować, czy epiej wykonać
> > po kolei w jednym wątku. Odpowiedź zależy od kosztów operacji A i B,
> > oraz kosztów tworzenia wątku, synchronizacji itd.
>
> Racja.
>
> > We współczesnych
> > archotekturach i systemach operacyjnych ciężko, żeby programista mógł
> > samodzielnie określić tę granicę, kompilator zaś może mieć zakodowaną
> > wiedzą o czasowych charakterystykach procesora i systemu operacyjnego,
> > dane z profilera na temat czasu trwania operacji zależnych od danych, a
> > nawet korzystać z dobrodziejstw technik typu JIT, żeby podejmować te
> > decyzje na bieżąco w trakcie działania programu.
>
> To chyba jest niemozliwe, zaden kompilator ani JIT nie moze
> przewidziec
> kosztow wykonania bardziej skomplikowanych kawalkow kodu - inne dane
> to inny czas.
Teoretycznie to prawda, ale w praktyce jednak dla wielu programów za
czasem wyłaniają się statystyczne prawidłowości, których można z
powodzeniem używać do predykcji.
> Poza tym jak bylby narzut czasu na pomiary i
> przeprowadzanie
> takiej statysytki?
Jakiś tam by był, ale też zauważ, że JIT może zauwazyć, że jakiś
licznik zlicza się zbyt często i w związku z tym należy go usunąć. W
ogóle narzut chyba nie musi być szczególnie duży, jeśli każdy wątek
sporządza swój pomiar, to nie ma dzielenia cache i synchronizacji poza
momentami zbierania tych statystyk (które z kolei dokładnie mozna
kontrolować, jak często jest wykonywane).
Następne wpisy z tego wątku
- 16.12.10 11:59 Andrzej Jarzabek
- 16.12.10 12:17 A.L.
- 16.12.10 12:32 Andrzej Jarzabek
- 16.12.10 12:33 A.L.
- 16.12.10 12:37 Andrzej Jarzabek
- 16.12.10 13:05 A.L.
- 16.12.10 14:09 Maciej Sobczak
- 16.12.10 14:15 Maciej Sobczak
- 16.12.10 14:20 A.L.
- 16.12.10 14:33 R. P.
- 16.12.10 14:45 Mariusz Kruk
- 16.12.10 16:31 A.L.
- 16.12.10 20:35 Michoo
- 16.12.10 20:35 Michoo
- 16.12.10 21:00 Michoo
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- 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??
Najnowsze wątki
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer
- 2025-02-19 Lista afer PIS
- 2025-02-19 Ogrodzenie dla krów szkockich "Highland"
- 2025-02-19 Gdańsk => System Architect (background deweloperski w Java) <=
- 2025-02-19 Gdańsk => Solution Architect (Java background) <=
- 2025-02-19 Białystok => Data Engineer (Tech Leader) <=
- 2025-02-19 Kraków => Ekspert IT (obszar systemów sieciowych) <=
- 2025-02-19 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-02-19 Rzeszów => International Freight Forwarder <=
- 2025-02-19 Poznań => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-19 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-02-19 Bieruń => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-19 Nigdy
- 2025-02-19 Katowice => Key Account Manager (ERP) <=