-
Data: 2012-05-05 23:54:40
Temat: Re: [OT] koszt 'virtual' na ARM
Od: "Andrzej Ekiert" <d...@t...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Dnia 05-05-2012 o 22:50:52 Michoo <m...@v...pl> napisał(a):
>
> Dopisałem do projektu następujące klasy:
[snip kod]
> Binarka przytyła po tym o 200 bajtów:
[snip szczegóły]
Nie będzie to żaden argument w dyskusji na temat metod wirtualnych, ale z
ciekawości do małego programu w C+asm (na PIC24) dopisałem następujące
wiersze:
const char msg1[] = "foo\r\n";
const char msg2[] = "bar\r\n";
const char msg3[] = "foobar\r\n";
const char msg4[] = "off\r\n";
Następnie w main():
const char *msg;
int ll = recv(0); /* odczyt z czegoś innego niż uart, nieistotne z czego,
0 to numer kanału */
if (ll == 1) {
msg = msg1;
} else if (ll == 2) {
msg = msg2;
} if (ll == 3) { /* tuś się chyba pomylił, ale zostawiłem bez
else, żeby było tak samo */
msg = msg3;
} else {
msg = msg4;
}
uart_send_str(msg);
Przy -O0 binarka zwiększyła się z 1452 do 1575 bajtów (123 bajty).
Przy -Os binarka zwiększyła się z 1197 do 1269 bajtów (72 bajty).
Po poprawieniu buga z "else":
-O0 : 1452 do 1578 (126)
-Os : 1197 do 1287 (90)
Ogólna zmiana przy włączeniu optymalizacji jest mała, bo to program tylko
do testowania sporego kawałka kodu pisanego w asemblerze i C tam mało jest.
Sam nie wiem czy i jakie wnioski z tego wyciągać.
ae
Następne wpisy z tego wątku
- 06.05.12 00:11 Jerry1111
- 06.05.12 00:26 Michoo
- 06.05.12 00:30 Jerry1111
- 06.05.12 00:36 Jerry1111
- 06.05.12 01:13 Andrzej Ekiert
- 06.05.12 01:21 Sebastian Biały
- 06.05.12 10:57 Jerry1111
- 06.05.12 12:13 Sebastian Biały
- 06.05.12 13:47 Michoo
- 06.05.12 14:28 Michoo
- 06.05.12 15:04 Sebastian Biały
- 06.05.12 15:19 Jerry1111
- 06.05.12 15:37 Sebastian Biały
- 06.05.12 16:05 Michoo
- 06.05.12 16:12 Sebastian Biały
Najnowsze wątki z tej grupy
- pompa CO
- 2,5 x więcej niż Li-Ion
- Tfu! Przeklety prostokąt (czyli UPS i "sinus modyfikowany")
- Dalekopis T100 - problem z powrotem karetki
- Diody LED - oświetlenie na choinkę
- ale wiesz, że są gotowce?
- jak wykryć zapalenie żarówki?
- Cyna dylemat
- Mierniki poziomu glukozy (CGM, FGM)
- A Szwajcarzy kombinują tak: FinalSpark grows human neurons from stem cells and connects them to electrode arrays
- Kontrola nad prądem - sprawdź jak działa [apka - przyp. JMJ] eLicznik
- NETIA i hasło logowania
- Modulacja FM
- Najgorszy język programowania
- Kol. sukces po polsku: firma Szumisie sp. z o.o.
Najnowsze wątki
- 2025-12-27 pompa CO
- 2025-12-27 Gdynia => Przedstawiciel handlowy / KAM (branża TSL) <=
- 2025-12-27 Ewakuacja ludności
- 2025-12-26 Gdańsk => ERP Microsoft Dynamics 365 Commerce Consultant <=
- 2025-12-26 Kraków => Konsultant Microsoft Dynamics 365 Finance <=
- 2025-12-26 Kraków => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-26 wymieniłem termostat
- 2025-12-26 Warszawa => Senior Backend Java Developer <=
- 2025-12-25 Finlandia przywraca swastykę
- 2025-12-25 Skuteczność wymiaru sprawiedliwości
- 2025-12-24 Felgi
- 2025-12-24 2,5 x więcej niż Li-Ion
- 2025-12-24 No i kolejny ograniczony
- 2025-12-24 Warszawa => Młodszy Specjalista ds. wsparcia sprzedaży <=
- 2025-12-24 New York Times zagrożeniem bezpieczeństwa narodowego USA - POTUS D. Trump




7 pułapek i okazji - zobacz co cię czeka podczas kupna mieszkania na wynajem