-
Data: 2009-07-26 16:48:05
Temat: Re: CPU nie wykonujący pustych procedur
Od: Adam Przybyla <a...@r...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Jacek Czerwinski <...@...z.pl> wrote:
> Adam Przybyla pisze:
>> Wojciech Muła <w...@p...null.onet.pl.invalid> wrote:
>>> Czy jest jakiś procesor, który "widząc", że pierwszym
>>> rozkazem procedury jest powrót z podprogramu, w ogóle
>>> nie przekazuje tam sterowania?
>> ... tym zajmoje sie kompilator, przyklad z gcc:
>> smtp:/home/adam>gcc -S x.c
>> smtp:/home/adam>mv x.s x.s1
>> smtp:/home/adam>gcc -O2 -S x.c
>> smtp:/home/adam>diff x.s x.s1
>> 3d2
>> < .p2align 4,,15
>> 12c11
>> < .section .rodata.str1.1,"aMS",@progbits,1
>> ---
>>> .section .rodata
>> 16d14
>> < .p2align 4,,15
>> 28a27
>>> call x
>> smtp:/home/adam>cat x.c
>> #include <stdio.h>
>> void x() { };
>> int main() {
>> printf("123\n");
>> x();
>> }
>> smtp:/home/adam>
>>
>> jak widzisz, kod wygenerowany przy optymalizacji -O2 nie wywoluje procedury
>> pustej. Inne kompilatory maja tak samo IMHO.
> rzekłeś wodu:
> a) kompilatory (wątek chyba jest zainteresowany CPU)
> b) funkcja lokalna w jednostce kompilacji (module) bo tylko wtedy
> kompilator posiada tę wiedzę. Ciekaw będę twojego testu, czy
> kwalifikatory przy funkcji x coś zmieniają (np. static ale i
> niestandardowe) lub f. x jest zewnętrzna.
>
> W podanych warunkach minusów nie ma, tylko można zyskać.
... hmm, JIT moze miec ta wiedze. Bo jesli jest zewnetrza,
to nie ma co liczyc na funkcje wrozki kompilatora;-)
Z powazaniem
Adam Przybyla
Najnowsze wątki z tej grupy
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-06-10 wyobrazcie sobie ze
- 2024-06-10 malowanie samochodu
- 2024-06-10 News from Poland
- 2024-06-10 Czy na pewno będą CŁA na chińskie samochody?
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Dlaczego w Polsce sie nic nie udaje, na przykładzie niebieskiego lasera a teraz perskowitów
- 2024-06-09 Wykrywanie przerwy w długim przewodzie zakopanym w ziemi.
- 2024-06-09 Czemu news.chmurka.nwt jest taki wolny?
- 2024-06-11 Funbox 3.0 zakres adresów DHCP
- 2024-06-11 Re: Funbox 3.0 zakres adresów DHCP
- 2024-06-09 Miernik szybkości netu
- 2024-06-11 Panele PV w pionie (prawie).
- 2024-06-11 czy ta grupa żyje?
- 2024-06-11 Warszawa => Senior React Native Developer <=
- 2024-06-11 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=