-
Data: 2012-05-06 00:26:23
Temat: Re: [OT] koszt 'virtual' na ARM
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 05.05.2012 23:54, Andrzej Ekiert wrote:
> 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:
>
[...]
Tylko zauważ, że chciałem tu zaprezentować koszt związany z funkcjami
wirtualnymi - użycie klas i funkcji wirtualnych do wypisywania kilku
napisów to 'trochę' głupi pomysł.
Odpowiednikiem funkcji wirtualnych z którym się spotkałem w C jest
wskaźnik na funkcję a z wtedy użycie metod wirtualnych to dodatkowy
koszt VTABLE.
> } if (ll == 3) { /* tuś się chyba pomylił, ale zostawiłem bez else, żeby
> było tak samo */
Rzeczywiście się pomyliłem pisząc kod, ale w poście statystyki są dla
poprawionego kodu, przeczyłem sam kod.
>
> 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).
+ 40 bajtów Os
+ 128 bajtów O0
>
> Po poprawieniu buga z "else":
> -O0 : 1452 do 1578 (126)
> -Os : 1197 do 1287 (90)
+ 72 bajty Os
+ 132 bajty O0
Kompiluję na gcc-4.7.0 z:
COMMON_FLAGS= -ggdb -Os $(INCLUDES) -mcpu=cortex-m3 -mthumb
-D__thumb2__ -msoft-float -mfloat-abi=soft
CXXFLAGS=$(COMMON_FLAGS) -std=gnu++11 -fno-exceptions -fno-rtti
>
> 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ć.
>
Że kod w THUMB jest wydajniejszy niż w PIC32 ;) I że hardcore c++ bez
optymalizacji jest małą masakrą - całość przy O0 spuchła do 8176 -
prawie 2 razy (a przebudowałem tylko projekt, bez bibliotek).
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 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-29 Greta Thunberg aresztowana w Londynie za wsparcie zdelegalizowanej grupy [Palestine Action - przyp. JMJ]
- 2025-12-29 Sarkozy
- 2025-12-29 Czujnik
- 2025-12-29 Warszawa => Konsultant Microsoft Dynamics AX/365 SCM Consultant - Serv
- 2025-12-29 Warszawa => IT Recruiter <=
- 2025-12-29 Warszawa => Solution Architect (Workday) - Legal Systems <=
- 2025-12-29 Warszawa => Microsoft Dynamics 365 Finance Consultant <=
- 2025-12-29 Warszawa => Senior Java Developer <=
- 2025-12-29 Katowice => Key Account Manager <=
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Czwarta doba strajku na głębokości 500 metrów. "Ministerstwo robi sobie z nas jaja"
- 2025-12-29 Kolejny kraj [WB - przyp. JMJ] zakazuje chowu klatkowego. W Polsce żyje tak 40 mln kur
- 2025-12-29 MON nabyło Hutę Częstochowa. "Historyczne znaczenie"
- 2025-12-28 Norwegia kontra media społecznościowe
- 2025-12-28 PREZENTY OD MINISTRA FINANSÓW. SKĄD PIENIĄDZE?




5 Najlepszych Programów do Księgowości w Chmurze - Ranking i Porównanie [2025]