-
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!news.cyf-kr.edu.pl!news.nask
.pl!news.nask.org.pl!news.internetia.pl!not-for-mail
From: Michoo <m...@v...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Nowy polski procesor
Date: Thu, 07 Mar 2013 21:09:20 +0100
Organization: Netia S.A.
Lines: 119
Message-ID: <khaskg$eu4$1@mx1.internetia.pl>
References: <kh239n$jmu$1@mx1.internetia.pl> <kh28i2$4t9$1@mx1.internetia.pl>
<5135955c$0$26700$65785112@news.neostrada.pl>
<kh72eg$ltj$1@news.task.gda.pl>
<513790a8$0$1210$65785112@news.neostrada.pl>
<kh88ul$sbc$1@mx1.internetia.pl>
<5137d231$0$26689$65785112@news.neostrada.pl>
NNTP-Posting-Host: 83.238.197.12
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: mx1.internetia.pl 1362687440 15300 83.238.197.12 (7 Mar 2013 20:17:20 GMT)
X-Complaints-To: a...@i...pl
NNTP-Posting-Date: Thu, 7 Mar 2013 20:17:20 +0000 (UTC)
In-Reply-To: <5137d231$0$26689$65785112@news.neostrada.pl>
X-Tech-Contact: u...@i...pl
User-Agent: Mozilla/5.0 (X11; Linux i686 on x86_64; rv:10.0.11) Gecko/20121123
Icedove/10.0.11
X-Server-Info: http://www.internetia.pl/
Xref: news-archive.icm.edu.pl pl.misc.elektronika:643793
[ ukryj 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
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
- Zbieranie danych przez www
- reverse engineering i dodawanie elementów do istniejących zamkniętych produktów- legalne?
- Problem z odczytem karty CF
Najnowsze wątki
- 2025-01-26 Brak bolca ochronnego ładowarki oznacza pożar
- 2025-01-24 Elektryfikacja w ODWROCIE
- 2025-01-25 AMS spalony szybkim zasilaczem USB
- 2025-01-24 stalowe bezpieczniki
- 2025-01-23 Zenek Kapelinder - ?
- 2025-01-25 Błonie => Sales Specialist <=
- 2025-01-25 Lublin => iOS Developer (Swift) <=
- 2025-01-24 Warszawa => Java Developer <=
- 2025-01-24 Białystok => iOS Developer (Swift experience) <=
- 2025-01-24 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-24 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-01-24 Lublin => Delphi Programmer <=
- 2025-01-24 Kraków => Key Account Manager <=
- 2025-01-24 Lublin => Programista Delphi <=
- 2025-01-24 Wróblewo => Specjalista ds. Analiz Finansowych <=