-
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
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO