-
Data: 2010-08-19 06:19:33
Temat: Re: winavr problemik
Od: shg <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 19 Sie, 05:53, "newxmega" <m...@m...mm> wrote:
> Mam dużo "swich" -ów lub
> if
> elsif
> elsif
> ..
>
> tak po kilkadziesiąt.
>
> Co tu zrobić żeby winavr używał indirect jumpów zamiast zamieniał swich na
> if wlsif.
>
> To bez sensu żeby robić
> cpi stała
> cpi stał
>
> i tak 60 razy.
>
> Mam małe procedurki, a indirecty by mi przyspieszyły kod.
Tablice skoków są tworzone chyba tylko z bloków switch.
Do tego wartości przy case muszą spełniać odpowiednie warunki, tzn.
musi być ich dostatecznie dużo i muszą być ułożone po kolei (wartości
jako zbiór, w kodzie już kolejność występowania jest dowolna).
Jest gdzieś do tego jakaś reguła, ale nie jestem w stanie jej znaleźć.
O ile pamiętam (ale to mogło być akurat w innym kompilatorze) to
dopuszczalne są niewielkie dziury w wartościach, była na to jakaś
matematyczna formułka, typu ilość wartości w jednym ciągu / szerokość
zakresu > jakaś stała, do tego jeszcze musiała być odpowiednio duża
ilość przypadków, ale to akurat u Ciebie nie jest problemem, to było
raczej w okolicy 5. Jeżeli się zgadzało to switch był zamieniany na
tablicę skoków.
Coś znalazłem, może się przyda, nie za bardzo mam czas żeby
przeczytać: http://ivoras.sharanet.org/papers/switch-complexity.
pdf
Następne wpisy z tego wątku
- 19.08.10 18:30 newxmega
- 19.08.10 18:51 newxmega
- 19.08.10 19:11 Zbych
- 19.08.10 19:36 newxmega
- 19.08.10 19:53 newxmega
Najnowsze wątki z tej grupy
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
- Dziwny schemat wzmacniacza m.cz.
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- CGNAT i ewentualne problemy
- wzmacniacz mocy
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- Propagation velocity v/c dla kabli RF
- Jakie natynkowe podwójne gniazdo z bolcem (2P+PE)
- Czujnik nacisku
- Protoków komunikacyjny do urządzenia pomiarowego
- Hiszpania bez pradu
- amperomierz w plusie
- 3G-nadal działa
Najnowsze wątki
- 2025-06-05 Warszawa => Administrator of Systems and Networks <=
- 2025-06-05 Warszawa => Administrator Systemów i Sieci <=
- 2025-06-04 15.000.000 samochodów rocznie nie dojedzie z Katowic do Chorzowa, Bytomia, Tarnowskich Gór
- 2025-06-04 Białystok => Team Lead Data Engineer (Snowflake) <=
- 2025-06-04 Pomór bydła na Białorusi? Kartofli też brakuje...
- 2025-06-04 Warszawa => Operations Support Systems (OSS) Team Leader <=
- 2025-06-04 Tajemnica estakady w Chorzowie ujawniona
- 2025-06-04 Tajemnica estakady w Chorzowie ujawniona
- 2025-06-04 Białystok => Inżynier oprogramowania .Net <=
- 2025-06-04 Rzeszów => International Freight Forwarder <=
- 2025-06-04 Warszawa => Scrum Master <=
- 2025-06-04 Chrzanów => Spedytor Międzynarodowy (handel ładunkami/prowadzenie f
- 2025-06-04 Dziś od rana trwa strajk w zakładzie Jeremias w Gnieźnie.
- 2025-06-04 "W Sosnowcu [sukcesem -przyp. JMJ] zakończył się strajk pracowników firmy Bitron Appliance Poland."
- 2025-06-04 Rzeszów => Spedytor Międzynarodowy <=