-
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
- Długi kabel zasilający a na końcu procek
- Dlaczego nam nie idzie
- Co czujnik to inna temperatura
- Jak naprawić pilota
- Dlaczego TMP wer. 2.0 nie może być sprzedawany jako patyk USB lub karta PCIe 1x?!?
- produkcja w UE
- Pamięć SRAM nie działa z Z80182
- plyta indukcyjna - naprawa
- założyłem kamerę
- syrenki alarmów
- Czym obecnie programuje się EPROM-y?
- zagadka sieciowa
- W Polsce powstaje grawitacyjny magazyn energii
- Linux wciąż wspiera dyskietki. Porządki w sterownikach do FDD
- Koniec z instalacją niezatwierdzonych aplikacji na Androidzie
Najnowsze wątki
- 2025-09-09 Warszawa => Programista Microsoft Dynamics 365 Finance & Operations (D
- 2025-09-09 Warszawa => Specjalista/tka ds. Administracji <=
- 2025-09-08 Długi kabel zasilający a na końcu procek
- 2025-09-08 Dużo niższe temperatury procesora po obudzeniu komputera... tak ma być czy jest coś nie tak?
- 2025-09-08 Warszawa => Senior Fullstack Developer <=
- 2025-09-08 Warszawa => Head of Technology <=
- 2025-09-08 Pozbawianie obywatelstwa: Rosja olewa konstytucyjny zakaz "jak RP3"?
- 2025-09-08 Wrocław => Android Developer (Java) <=
- 2025-09-08 Warszawa => Programista C <=
- 2025-09-08 Warszawa => Software .Net Developer <=
- 2025-09-08 Polacy zbiednieli
- 2025-09-08 UK: Transparent "Sprzeciwiam się ludobójstwu. Popieram Palestine Action" => 890 "terrorystów" zatrzymanych
- 2025-09-08 Dlaczego nam nie idzie
- 2025-09-08 Co czujnik to inna temperatura
- 2025-09-07 alert mnie zbudził