Goto page Previous 1, 2, 3 ... 5, 6, 7 ... 17, 18, 19 Next
Michoo
Guest
Thu Mar 07, 2013 9:09 pm
On 07.03.2013 00:33, Anerys wrote:
Quote:
Użytkownik "Michoo" <michoo_news@vp.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
Quote:
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...?
Quote:
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
Adam Dybkowski
Guest
Thu Mar 07, 2013 10:22 pm
W dniu 2013-03-04 15:25 JDX napisał(a):
Quote:
BTW. Również uważam, że MCS-51 to koszmar programisty.
Zgadzam się z powyższym w całej rozciągłości.
Niech ten wynalazek (C) Intel 1980 odejdzie w końcu w niebyt.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
MichaĹ BaszyĹski
Guest
Thu Mar 07, 2013 10:47 pm
W dniu 2013-03-07 22:22, Adam Dybkowski pisze:
Quote:
W dniu 2013-03-04 15:25 JDX napisał(a):
BTW. Również uważam, że MCS-51 to koszmar programisty. :-D
Zgadzam się z powyższym w całej rozciągłości.
Niech ten wynalazek (C) Intel 1980 odejdzie w końcu w niebyt.
a co powiesz na to:
http://microcontroller.com/news/Zilog_Z8051.asp
?
--
Pozdr.
Michał
Marek Borowski
Guest
Thu Mar 07, 2013 10:58 pm
On 2013-03-07 17:19, Grzegorz Niemirowski wrote:
Quote:
Marek Borowski <marek@a.borowski.com> napisał(a):
No wiec jakbys byl kiedys czlonkiem demosceny to bys zrozumial, ze
moga byc inne powody.
Rozumiałem je jeszcze zanim zobaczyłem pierwsze demo. Ale to, że je
rozumiem, nie oznacza, że uważam za słuszne stosowanie ich zawsze i
wszędzie. Z resztą sam fakt, że przywołałeś scenę świadczy o tym, że te
powody są czymś niszowym (niezależnie od tego czy to dobrze czy źle).
Uwzgledniajac realia jak najbardziej sie zgadzam.
Quote:
Ale co to ma za znaczenie ? Jak juz pisalem w tym watku pojecie "ma
sens" nie jest zwiazane z ekonomia czy czasem pisania programu czy
wysilkiem w to wlozonym. Oceniamy absolutnie. Czyli szybszy i mniejszy
z o tej samej ilosci bledow jest lepszy, niezaleznie czy jego
wywtorzenie zajelo 10lat i kosztowalo 10 mld $ czy nie.
Jest lepszy, tylko często po prostu nie ma to znaczenia.
Oczywiscie. Czepiam sie uzywania kryteriow pozatechnicznych do oceny czy
cos jest dobre czy zle - jestem technokrata. Jesli by to odemnie
zalezalo "wystrzelalbym" wszystkich marketingowcow i ksiegowych.
Pozdrawiam
Marek
sundayman
Guest
Thu Mar 07, 2013 11:18 pm
Quote:
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.
a ja pierszy program pisałem na kartce w assemblerze Z80, na "komputer"
ZX81, który miał 1KB ramu, w czym połowa chyba na pamięć ekranu :)
Tam się liczył każdy bajt - kto dziś pamięta takie rzeczy
A dodatkowo ten komputer miał od tyłu postawioną suszarkę do włosów,
która nie grzała, ale dmuchała zimnym powietrzem, bo miałem uwalony ULA,
i bez tego po paru minutach się przegrzewał, i zawieszał wszystko w diabły.
I - co, można było ?? Można !
Jarosław Sokołowski
Guest
Thu Mar 07, 2013 11:32 pm
sundayman napisał:
Quote:
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.
a ja pierszy program pisałem na kartce w assemblerze Z80, na "komputer"
ZX81, który miał 1KB ramu, w czym połowa chyba na pamięć ekranu
Jaka tam połowa, prawie cała pamięć! Konkretnie 24 wiersze po 32 znaki,
to 768 bajtów. Tyle że tam była inteligentna organizacja pamięci obrazu
(uwzględniająca znak końca wiersza), więc dało się wcisnąć jakiś program
i coś przy tym wyświetlić.
Quote:
Tam się liczył każdy bajt - kto dziś pamięta takie rzeczy
A dodatkowo ten komputer miał od tyłu postawioną suszarkę do włosów,
która nie grzała, ale dmuchała zimnym powietrzem, bo miałem uwalony ULA,
i bez tego po paru minutach się przegrzewał, i zawieszał wszystko w diabły.
Pewnie suszarka też była zepsuta i nigdzie w handlu uspołecnionym nie dało
się kupić nowej grzałki.
--
Jarek
Michoo
Guest
Thu Mar 07, 2013 11:54 pm
On 07.03.2013 23:18, sundayman wrote:
Quote:
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.
a ja pierszy program pisałem na kartce w assemblerze Z80, na "komputer"
ZX81, który miał 1KB ramu, w czym połowa chyba na pamięć ekranu
Pisałem na kartce w ramach laboratoriów na studiach jakieś 3 czy 4 lata
temu. A potem wklepywałem ten kod do pamięci ram za pomocą zestawu
przycisków.
Quote:
Tam się liczył każdy bajt - kto dziś pamięta takie rzeczy
A to uzasadnia, jakoś, ze dzisiaj, na x86 należy liczyć każdy bajt? Są
układy gdzie trzeba, chociaż szczerze mówiąc to nawet na attiny 2313
który ma 128B ram pisałem w C++.
Quote:
I - co, można było ?? Można !
I - co, można było?? Można!
--
Pozdrawiam
Michoo
Michoo
Guest
Thu Mar 07, 2013 11:57 pm
On 07.03.2013 20:38, Anerys wrote:
Quote:
Użytkownik "sundayman" <sundayman@poczta.onet.pl> napisał w wiadomości
news:khaafm$q0m$1@news.task.gda.pl...
Ale co by nie mówić, na nowszym komputerze render trwa krócej, a nie
dłużej i ostatecznie to właśnie jest finalnym kryterium.
Owszem, tak jest. Ale jakby to dobrze obwąchać, to krócej... ale czy
rzeczywiście o tyle krócej, ile relatywnie wzrosła moc sprzętu?
Uważam, że jeśli moc maszyny wzrosła o 20%, to także o 20% wzrosnąć
powinna szybkość renderu. A jestem niemal pewien, że wzrosła o 10, góóra
15...
Dane wzięte z d...? Bo pojawiły się zarówno nowe algorytmy jak i nowe
sposoby programowania (shader anyone?) które przyspieszenie dały nie
rzędu 20% a bardziej 200-2000%. (Kiedyś jedna klatka na kilka -
kilkadziesiąt sekund, teraz 30-40 klatek na sekundę dobrej jakościowo
grafiki na konsumenckim sprzęcie.)
--
Pozdrawiam
Michoo
RoMan Mandziejewicz
Guest
Fri Mar 08, 2013 12:07 am
Hello Michoo,
Thursday, March 7, 2013, 11:57:40 PM, you wrote:
Quote:
Ale co by nie mówić, na nowszym komputerze render trwa krócej, a nie
dłużej i ostatecznie to właśnie jest finalnym kryterium.
Owszem, tak jest. Ale jakby to dobrze obwąchać, to krócej... ale czy
rzeczywiście o tyle krócej, ile relatywnie wzrosła moc sprzętu?
Uważam, że jeśli moc maszyny wzrosła o 20%, to także o 20% wzrosnąć
powinna szybkość renderu. A jestem niemal pewien, że wzrosła o 10, góóra
15...
Dane wzięte z d...? Bo pojawiły się zarówno nowe algorytmy jak i nowe
sposoby programowania (shader anyone?) które przyspieszenie dały nie
rzędu 20% a bardziej 200-2000%. (Kiedyś jedna klatka na kilka -
kilkadziesiąt sekund, teraz 30-40 klatek na sekundę dobrej jakościowo
grafiki na konsumenckim sprzęcie.)
http://pclab.pl/news52453.html 4.5 Tflops, 2688 rdzeni, 7.1 mld
tranzystorów. Vsync do 80fps.
Nie trzeba do tego elektrowni - ledwie 250W pobiera.
--
Best regards,
RoMan
Nowa strona:
http://www.elektronika.squadack.com (w budowie!)
Jarosław Sokołowski
Guest
Fri Mar 08, 2013 12:37 am
sundayman napisał:
Quote:
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.
a ja pierszy program pisałem na kartce w assemblerze Z80, na "komputer"
ZX81, który miał 1KB ramu, w czym połowa chyba na pamięć ekranu
Jaka tam połowa, prawie cała pamięć! Konkretnie 24 wiersze po 32 znaki,
to 768 bajtów. Tyle że tam była inteligentna organizacja pamięci obrazu
(uwzględniająca znak końca wiersza), więc dało się wcisnąć jakiś program
i coś przy tym wyświetlić.
Quote:
Tam się liczył każdy bajt - kto dziś pamięta takie rzeczy
A dodatkowo ten komputer miał od tyłu postawioną suszarkę do włosów,
która nie grzała, ale dmuchała zimnym powietrzem, bo miałem uwalony ULA,
i bez tego po paru minutach się przegrzewał, i zawieszał wszystko w diabły.
Pewnie suszarka też była zepsuta i nigdzie w handlu uspołecznionym nie dało
się kupić nowej grzałki.
--
Jarek
sundayman
Guest
Fri Mar 08, 2013 2:09 am
Quote:
Dane wzięte z d...? Bo pojawiły się zarówno nowe algorytmy jak i nowe
sposoby programowania (shader anyone?) które przyspieszenie dały nie
rzędu 20% a bardziej 200-2000%. (Kiedyś jedna klatka na kilka -
kilkadziesiąt sekund, teraz 30-40 klatek na sekundę dobrej jakościowo
grafiki na konsumenckim sprzęcie.)
lepiej panie rezyseze
A taki octane render, który śmiga prawie real-time (wykorzystuje kartę z
CUDA) - super sprawa.
JDX
Guest
Fri Mar 08, 2013 8:50 am
On 2013-03-07 22:47, Michał Baszyński wrote:
[...]
Quote:
market". :-D
Jedni wychodzą a inni wchodzą.

MCS-51 to chyba jest obecnie nisza i
tym samym dobre miejsce dla mniejszych kompanii. Poza tym siła ludzkich
przyzwyczajeń i strach przed nowym jest ogromna. Np. ostatnio wymieniłem
moim starszym tuner TV-SAT na nowszy (HD). No i teraz dociera do mnie
marudzenie że pilot ma inny rozkład klawiszy, że memu na ekranie jest
inne itp. duperele.

Więc chętni na '51 też jeszcze długo będą i do
tego zapewne nie tylko z powodów czysto ekonomicznych.
Michal Schulz
Guest
Fri Mar 08, 2013 8:57 am
Am 07.03.13 23:18, schrieb sundayman:
Quote:
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.
a ja pierszy program pisałem na kartce w assemblerze Z80, na "komputer"
ZX81, który miał 1KB ramu, w czym połowa chyba na pamięć ekranu
Ktos pamieta programy w assemblerze umieszczane w szostej stronie
(0x600, a potem jakze czeste X=USR(1536)) pamieci na malym Atari? :-D
Quote:
Tam się liczył każdy bajt - kto dziś pamięta takie rzeczy
Ci ktorzy musza programowac ATtiny11
JDX
Guest
Fri Mar 08, 2013 9:00 am
On 2013-03-07 13:47, DJ wrote:
Quote:
On 2013-03-07 13:35:38 +0100, JDX <jdx@onet.pl> said:
On 2013-03-07 11:11, DJ wrote:
[...]
Generowanie potrzeby na pierdołki - jest głupie, choć potem zyskowne.
No jak jest zyskowne to IMO jest mądre.
Zysk jest kryterium mądrości...?
W tym kontekście jak najbardziej. Przecież celem działania każdego
przedsiębiorstwa jest przynoszenie zysku jego właścicielom. I jeśli
"generowanie potrzeb" takie zyski przynosi/zwiększa to jest tym samym
mądrym (racjonalnym) działaniem.
Quote:
Głupi są ci, którzy dają się na
takie ściemy nabrać. :-D
Czyli w skrócie:
Kali kraść krowa, być dobrze.
Kalemu ukraść krowa, być źle.
Hę? Ale so chodzi?
Piotr Gałka
Guest
Fri Mar 08, 2013 11:25 am
Użytkownik "Michoo" <michoo_news@vp.pl> napisał w wiadomości
news:khb6av$fgv$1@mx1.internetia.pl...
Quote:
Tam się liczył każdy bajt - kto dziś pamięta takie rzeczy :)
A to uzasadnia, jakoś, ze dzisiaj, na x86 należy liczyć każdy bajt? Są
układy gdzie trzeba, chociaż szczerze mówiąc to nawet na attiny 2313 który
ma 128B ram pisałem w C++.
Stwierdzenie "tam się liczył każdy bajt" + hasło 128B zawsze mi się kojarzy
z zastosowanym przez nas rozwiązaniem w picco-GALu (1992 - może ktoś jeszcze
pamięta to urządzenie).
128bajtów RAMu 8751 starczało na program (FORTH), 2 stosy danych dla tego
programu i stos procesora.
Jedna z pierwszych instrukcji programu ustalała miejsce podziału tej pamięci
na 2 części. W jednej program (już załadowany i w trakcie interpretacji) i
stos danych do programowania EEPROMu, GALa (zazwyczaj zamazujący już
wykonaną część programu). W drugiej rosnące na przeciwko siebie stos danych
sterujących przebiegiem programu i stos procesora. Dane sterujące stopniowo
się "zużywały", a z kolei każde zagłębienie pętli programu powodowało wzrost
stosu procesora o 2 bajty.
P.G.
Goto page Previous 1, 2, 3 ... 5, 6, 7 ... 17, 18, 19 Next