-
Data: 2012-03-28 15:32:27
Temat: Re: wydajnosc wyjatkow
Od: " M.M." <m...@g...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Edek Pienkowski <e...@g...com> napisał(a):
> Dzisiaj różnica w szybkości działania jest prawie żadna, o ile
> wyjątek nie jest rzucony. Jest narzut na obsługę wyjątku w postaci
> kodu obsługującego (czy masło jest wystarczająco maślane? ;) i
> straconych optymalizacji - to już zależy od języka i implementacji
> wyjątków.
Dziękuję z utwierdzenie mnie w tym przekonaniu :)
> Musi być kod robiący wszystko to, co jest przewidziane. W C++ oznacza
> to destrukcję lokalnych obiektów, sprawdzenie catch-clauses i
> unexpected-handlera, poza samym stack unwind.
No tak, ale to wszystko musi także wykonać bez wyjątków w
momencie gdy napotyka return? Hmmm a tak na marginesie gdy napotyka
longjump to co robi? Też robi destrukcje obiektów na stosie?
> > Gdy kompilator napotyka koniec sekcji catch to co musi zrobić? Chyba tylko
> > musi usunąć ze stosu to co wcześniej na nim zapamiętał. Więc o wydajności
> > decyduje sposób w jaki to kompilator zapamiętuje.
> (?) Nie kompiluje mi się to co napisałeś.
Nie wiem dokładnie jak nowoczesne kompilator/optymalizatory realizują obsługę
wyjątków. Wyobrażam sobie to jako jakąś strukturę stosową. Gdy
wykonanie programu dochodzi do sekcji try to na tą strukturę odkładana
jest jakaś informacja. Więc gdy wykonanie programu dojdzie do końca
sekcji catch to coś z tej struktury stosowej musi zdjąć. Jest to
związane z jakimś narzutem. Nie wiem na pewno, ale wydaje się że ów
narzut jest bardzo mały.
> Sam fakt, że wyjątek ma stos zmienia optymalizacje. W c++
> stos zależy od optymalizacji; w Javie generalnie nie, ale czasami
> tak.
Hmmmm zapewne tak. Ale czy to nie jest podobne utrudnienie optymalizacji
dla kompilatora jak po dodaniu instrukcji if? Kompilator generuje gorszy
kod gdy są wyjątki?
> Sam fakt, że JIT domyślnie upraszcza zachowanie tak, że zmienia
> semantykę NPE, świadczy o tym, że architekci uznali że warto.
Hmmm to chyba jednak zrobię kiedyś przy okazji jakiś mały benchmark :)
Pozdrawiam
--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Następne wpisy z tego wątku
- 28.03.12 16:11 Edek Pienkowski
- 28.03.12 17:47
- 28.03.12 19:43
- 29.03.12 09:01
- 29.03.12 10:39
- 30.03.12 15:24 Adam Wysocki
- 30.03.12 15:49 M.M.
- 30.03.12 18:56 bartek szurgot
- 30.03.12 20:54
- 28.03.12 09:00 Roman W
- 28.03.12 12:18 Krzysiek Kowaliczek
- 29.03.12 19:23 Tomasz D
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-01-22 Gdańsk => System Architect (Java background) <=
- 2025-01-22 Katowice => Senior Field Sales (system ERP) <=
- 2025-01-22 Warszawa => Java Developer <=
- 2025-01-22 pokolenie Z
- 2025-01-22 Wyświtlacz ramki cyfrowej
- 2025-01-22 Białystok => Architekt rozwiązań (doświadczenie w obszarze Java, A
- 2025-01-22 Chrzanów => Team Lead / Tribe Lead FrontEnd <=
- 2025-01-22 Ostrów Wielkopolski => Konsultant Wdrożeniowy Comarch XL/Optima (Ksi
- 2025-01-22 oferta na ubezpieczenie OC życie prywatne
- 2025-01-22 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-01-22 Warszawa => International Freight Forwarder <=
- 2025-01-22 Gdańsk => Specjalista ds. Sprzedaży <=
- 2025-01-21 Zgromadzenie użytkowników pojazdów :-)
- 2025-01-21 bateria na żądanie
- 2025-01-21 Warszawa => IT Business Analyst <=