-
Data: 2013-03-07 21:09:20
Temat: Re: Nowy polski procesor
Od: Michoo <m...@v...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 07.03.2013 00:33, Anerys wrote:
>
> Użytkownik "Michoo" <m...@v...pl> napisał w wiadomości
> news:kh88ul$sbc$1@mx1.internetia.pl...
>> On 06.03.2013 19:53, Anerys wrote:
>>
>>> W ogóle jest jakaś dziwna tendencja chyba we wszystkim, czy prawie
>>> wszystkim, że praktycznie identyczne, czy podobne programy, obrastają w
>>> craz większy kod wynikowy, nie usprawiedliwiony np. dodawanymi
>>> funkcjami.
>>
>> W końcu są "różne".
>
> Nie mówię, że nie...
>
>>
>>> Różne kompilatory dla dokładnie takiego samego kodu
>>> wejściowego produkują całkowicie różny w objętości kod.
>>
>> A to zależy od wielu opcji czasu kompilacji.
>
> Bezbajerowo. Jeszcze pod DOSem. TP 3 dawał ok. 30 kilku kB, TP7 już
> poniżej 10.
>
>>
>>> Weźmy z Pascala np. (darujcie "interpunkcję", ostatni raz rzeźbiłem 20
>>> lat temu...)
>>> program hello; (niektóre kompilatory OIDP pozwalają na pominięcie tej
>>> deklaracji)
>>> begin
>>> writeln ('Dzien dobry');
>>> end.
>>> jeden kompilator dał 30-kilka kB kodu,
>>
>> Bardziej rozbudowana lub nie stripowana biblioteka.
>
> Tylko po co ona, gdy jedynym zadaniem programu było krok po kroku
> wyrzucić kilkanaście znaków na ekran... w C64 schodziłęm poniżej 50
> bajtów włącznie z danymi (fakt, skakałem do podprogramu... ale gdzieś
> widziałem listing, który bezpśrednio dawał... i nie obrosło to w zbędny
> kod. Ale to w C64 był mus, liczył się każdy bajt. I dobrze.
>
>>
>>> inny ok. 7,
>>
>> Mniej rozbudowana (albo np wolniejsza) biblioteka. 30 kB to żaden
>> rozmiar, więc w czym problem?
>
> Choćby w czasach, w których to robiłem, że taka różnica była istotna. A
> jeśli program spokojnie może byc mały, to nie widzę powodów, aby był duży.
>
>>
>>> A robiły dokładnie to samo. Zero dołączeń,
>>
>> a writeln to skąd się niby wzięło?
>
> Z treści programu. Nic nie było definiowane w treści przez include,
> żadnej dyrektywy dołączającej, nic, poza tymi 4 liniami.
>
>>
>>> zero innych
>>> deklaracji, itp. a doklejały kilkadziesiąt kB ch.j wie czego, psu na
>>> budę potrzebnego...
>>
>> A potem jak się trochę więcej napisało to nagle ten pierwszy tył o
>> dodatkowe kilka kB kodu a ten drugi o kilkadziesiąt.
>
> Klepałem trochę, ale już zapomniałem szczegółów... tylko czemu
> wspomniany przeze mnie Zdzich umiał się zachować i nie tył zanadto?
Znasz różnicę pomiędzy PE a COM? Wiesz co to symbole debugowe? Przykłąd
z pod linuxa:
$ ls -lh ATmegaBOOT_644P.elf
-rwxr-xr-x 1 michoo michoo 14K mar 6 23:47 ATmegaBOOT_644P.elf
$ avr-size ATmegaBOOT_644P.elf
text data bss dec hex filename
1880 0 265 2145 861 ATmegaBOOT_644P.elf
$ avr-strip ATmegaBOOT_644P.elf
$ ls -lh ATmegaBOOT_644P.elf
-rwxr-xr-x 1 michoo michoo 2,2K mar 7 11:48 ATmegaBOOT_644P.elf
>
>>> Jestem niemal pewien, że gdyby tu i ówdzie poobcinać fuzle, to programy
>>> zrobiły by się mniejsze... tylko może kompilatory powinny rzetelniej
>>> generować kod? Nie doklejać czegoś, co programowi nie jest potrzebne.
>>
>> Po grzyba ktoś ma optymalizować kompilator pod kątem minimalnego
>> programu, który nic nie robi?
>
> Robi - wyświetla na ekranie "Dzien dobry" (bez ogonka, bo wtedy ich
> prawie nie znano(1991))
> Ja chcę od programu, aby mając tekst j.w., program zrobił:
> Licząc od pierwszego do ostatniego znaku, pobrał je po kolei i wyrzucił
> na ekran. Niech 100 bajtów kodu pobiera te znaki, drugie 100 wyprowadzi
> na ekran, trzecie 100 utrzyma to w całości. Już nie będę aż tak skąpy.
To czemu kazałeś mu wywołać funkcję biblioteki writeln, która +- robi
właśnie to, ale pochodzi z biblioteki, ktora dodatkowo zawiera takie
"bezsensowne" rzeczy jak:
inicjalizacja stosu, przygotowanie obsługi wyjątków, inicjalizację
alokatora, sam alokator, alokacja konsoli...?
> Ale, żeby to nie było po 10 kB, bo co by te 10 kB robiło w swojej części
> zadania... czy ile tego było... skoro setka poradziłą sobie równie
> dobrze... to co robi pozostałe 9900 bajtów? Ja je chcę wyrzucić. Tylko
> tyle.
Głupia IKONA dla programu to np 10k. Po kiego grzyba pisać środowisko,
które usunie z biblioteki "niepotrzebne" funkcje w tak nieistotnym
przypadku jak "program, który nic nie robi" i rozmiarze 20k? Domagasz
się, żeby ktoś dokonał masy zbędnej optymalizacji w imię czego?
A jak chcesz rzeźbić to droga wolna - pisałem programy windowsowe,
okienkowe z rozmiarem po skompilowaniu 512-1024B. MASM jest do tego
bardzo wygodny.
--
Pozdrawiam
Michoo
Następne wpisy z tego wątku
- 07.03.13 22:22 Adam Dybkowski
- 07.03.13 22:47 Michał Baszyński
- 07.03.13 22:58 Marek Borowski
- 07.03.13 23:18 sundayman
- 07.03.13 23:32 Jarosław Sokołowski
- 07.03.13 23:37 Jarosław Sokołowski
- 07.03.13 23:54 Michoo
- 07.03.13 23:57 Michoo
- 08.03.13 00:07 RoMan Mandziejewicz
- 08.03.13 02:09 sundayman
- 08.03.13 08:50 JDX
- 08.03.13 08:57 Michal Schulz
- 08.03.13 09:00 JDX
- 08.03.13 11:25 Piotr Gałka
- 08.03.13 11:50 Marek Borowski
Najnowsze wątki z tej grupy
- Rejestrator temperatur - termopara, siec
- Router LTE z możliwością zmian MTU
- Fajny film widziałem...
- Jaka ładowarka sieciowa do Iphona?
- Taśma izolacyjna do prac elektrycznych
- Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Re: Recenzja 3.1A ;) w 6 gniazdach...
- Wkrętarki, wiertarki...
- Zasilacz impulsowy 12V 10A, coś godnego uwagi jako zamiennik akumulatora wkrętarki
- Mouser - koszt wysyłki
- [OT] Jak wycinac ksztalt w piance lub styropianie?
- FV--> ciepła woda w kranie
- Szok
Najnowsze wątki
- 2025-07-14 granice
- 2025-07-14 Awaria VM?
- 2025-07-14 Gdańsk => Programista Kotlin <=
- 2025-07-14 Warszawa => Junior Rekruter <=
- 2025-07-14 Warszawa => Specjalista rekrutacji IT <=
- 2025-07-14 Wkłady do zniczy...
- 2025-07-14 Warszawa => Specjalista ds. Sprzętu Komputerowego <=
- 2025-07-14 Re: PO chroniło i chroni policyjnych bandziorów [zawiasy za katowanie obywatela (Poznań czerwiec 2012)]
- 2025-07-14 Warszawa => International Freight Forwarder <=
- 2025-07-14 Warszawa => Recruiter 360 <=
- 2025-07-14 Re: Rz?Âd ZAKAZUJE magazyn?Â?w energii ?!! Nowe prawo od 14 lipca to SZOK! ??Â
- 2025-07-14 Warszawa => Sales Assistant <=
- 2025-07-13 Fałszywe alerty
- 2025-07-12 dlaczego gadacie z tym debilem
- 2025-07-13 Unia Europejska przygotowuje nowy podatek