-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.inte
rnetia.pl!not-for-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: [OT] koszt 'virtual' na ARM
Date: Sun, 06 May 2012 00:26:23 +0200
Organization: Netia S.A.
Lines: 64
Message-ID: <jo49j1$sg$1@mx1.internetia.pl>
References: <4f9d25af$1$1209$65785112@news.neostrada.pl>
<jnmvba$pbl$1@inews.gazeta.pl> <o...@j...jedi>
<jnn0o5$ssr$1@inews.gazeta.pl> <o...@j...jedi>
<jnn2ld$3ti$1@inews.gazeta.pl> <o...@j...jedi>
<jnomqu$stm$1@inews.gazeta.pl> <o...@j...jedi>
<jnprj1$oao$1@inews.gazeta.pl> <jns5kg$f21$1@inews.gazeta.pl>
<jnsacs$rph$1@inews.gazeta.pl> <jnuqev$11e$1@inews.gazeta.pl>
<jnuugj$ada$1@inews.gazeta.pl> <jo17h0$rvv$1@inews.gazeta.pl>
<jo2i12$8ms$1@inews.gazeta.pl> <jo37cn$io3$1@inews.gazeta.pl>
<jo3crt$1k1$1@inews.gazeta.pl> <jo3p45$rtv$1@inews.gazeta.pl>
<jo43vv$guu$1@mx1.internetia.pl> <o...@j...jedi>
NNTP-Posting-Host: 83.238.197.12
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1336256929 912 83.238.197.12 (5 May 2012 22:28:49 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Sat, 5 May 2012 22:28:49 +0000 (UTC)
In-Reply-To: <o...@j...jedi>
X-Tech-Contact: u...@i...pl
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:8.0) Gecko/20120216
Icedove/8.0
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:630637
[ ukryj 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
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
- JDG i utylizacja sprzetu
- Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- DS1813-10 się psuje
- Taki tam szkolny problem...
Najnowsze wątki
- 2024-12-20 Precedensy politycznie motywowanego nie wydawania w UE
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Obrońcy
- 2024-12-20 Gdańsk => Inżynier bezpieczeństwa aplikacji <=
- 2024-12-20 czyste powietrze
- 2024-12-20 Katowice => Analyst in the Trade Development department (experience wi
- 2024-12-20 Opole => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-12-20 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-12-20 Rzeszów => International Freight Forwarder <=
- 2024-12-20 Katowice => Key Account Manager (ERP) <=
- 2024-12-20 Ekstradycja
- 2024-12-20 Mikroskop 3D
- 2024-12-20 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-20 Warszawa => Analityk w dziale Trade Development (doświadczenie z Powe