Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Učíme trpaslíky počítat podruhé

Z80 pin6
Z80 pin6 (neregistrovaný)
10. 4. 2008 9:26 Nový

d i g i t a l

celé vlákno
Jeden kamarad to ma nad posteli:
http://images.twibright.com/tns/1bb3.html
Taky ma doma TCP tekutinu:
http://images.twibright.com/tns/1ba7.html
Pavel Tišnovský aura:98
10. 4. 2008 10:05 Nový

Re: d i g i t a l

celé vlákno
Pekne, ale davam prednost svemu oblibenemu Vimu: http://www.figuiere.net/hub/blog/200407/vim.jpg
mm
mm (neregistrovaný)
10. 4. 2008 10:34 Nový

Re: d i g i t a l

celé vlákno
Jo Digital....
Je mne smutno, kdyz si uvedomim, jak to skoncilo...To byly casy s Digital Unixem 3.2C a 3.2G... :-(
V Praze na Pankraci meli pobocku, pomerne casto jsem tam jezdival. Pekne se to na ni vyjimalo, to co ma kamarad nad posteli....Ale to uz je vic nez 10 let :(
xxx
xxx (neregistrovaný)
10. 4. 2008 14:49 Nový

Re: d i g i t a l

celé vlákno
v minulem zamestani byla masinka alpha station 500 s digital unixem, kdyz ji uz prestali kolegove pouzivat a lezela tam chudinka, tak jsem na ni picnul linux a bylo. ach, romanticke mladi.
czario
czario (neregistrovaný)
10. 4. 2008 10:03 Nový

námět

celé vlákno
Pročítal jsem si opět svůj oblíbený seriál a tak mě tak napadlo, že by neuškodilo udělat později jakýsi souhrn s radami, jak zacházet s trpaslíky pro zvýšení jejich efektivity. Tzn pokud někdo programuje ve vyšším programovacím jazyce, který nutně musí používat stejné instrukce procesoru, tak z čeho by měl při programování vycházet a co by měl používat, či čeho by se měl vyvarovat ve svém programu. (třeba něco jako, že pro jednoduché podmínky se má použít boolean a ne nějaký string nebo reálné číslo kde se budou využívat jen 2 čísla)

jinak na to omezení relativních adres si pamatuji ze střední... jsme tam dostali nějaké instrukce, nějaké letmé vysvětlení a starejte se... Pak se nám stávalo, že jsme používali nevhodně relativní skoky, které někam nemohli doskočit a museli jsme je dalším skokem nastavovat. :-)
Pavel Tišnovský aura:98
10. 4. 2008 10:21 Nový

Re: námět

celé vlákno
Proc ne, klidne neco podobneho pripravim. U jsem taky videl par zdrojaku, kde se (i v typovanem jazyce) vesele vsude pouzivaly pouze retezce a semtam se to prevedlo na cisla ci booleany :-)
Ogar
Ogar (neregistrovaný)
10. 4. 2008 21:32 Nový

Re: námět

celé vlákno
Ano, uz sem taky videl program v nasledujicm stylu (ted uz nevim, ale asi v C++) s promennou typu string:

while (string.length()<320) string+=' '
out << string;

a uz ten clovek nevidi za kazdym +=' ' ten realloc() coz je zase potencialne malloc() + memcpy() + free() :-(


A dalsi oblibena na stejne tema je
strcpy(a,b);
strcat(a,c);
strcat(a,d);

A zase uz ten programator nevidi/nechce videt, ze strcat() uz je cyklus ve stylu:
while (*a) a++;
while (*(a++)=*(b++)); // :-)
tj. vzdy projdu znovu cele pole od zacatku ......

A pak se clovek divi, ze i kdyz jsou pocitace cim dal rychlejsi, tak programy jsou cim dal pomalejsi :-(
Jo holt, za pokrok se plati :-)
e rg
10. 4. 2008 22:56 Nový

Re: námět

celé vlákno
Tak to je ovsem priklad jako noha..

>while (string.length()<320) string+=' '
>out << string;
>
>a uz ten clovek nevidi za kazdym +=' ' ten realloc() coz je zase potencialne malloc() + memcpy() + free() :-(

Jaky? Kazda normalni STL knihovna nealokuje pri kazdem pozadavku na pamet o 1b vetsi pole, ale voli vetsi velikost (a navic sve alokace vetsinou resi pres memory pool).

Schvalne jsem si tenhle tvuj program zkusil s prazdnym stringem na Linuxu (amd64 arch), cely program za svuj beh udelal 10 volani malloc(). Zpozdeni je samozrejme nemeritelne (v obou pripadech time nahlasil user 0m0.000s)...

>strcpy(a,b);
>strcat(a,c);
>strcat(a,d);

A kolik tim promrhas strojoveho casu? Pokud tedy nemas nekolik MB dlouhe stringy ci nespoustis tuhle rutinu milonkrat za vterinu :-)

Tohle jsou takove priklady trochu mimo realitu. Realita je takova, ze programatorska prace je draha a HW je levny. Diky cemuz tu mame jazyky jako C#, Java a podobne, protoze u vetsiny neni zdaleka tak dulezita co nejvyssi rychlost (pokud se bavime rekneme o desitkach procent vykonu), ale spolehlivost a naklady na vyvoj.

A ty priklady, co jsi zde uvedl, jsou zrovna z takove skatulky tech, kterych se znacna cast programatoru naprosto uvedomele dopousti s tim, ze to na vysledny vykon aplikace nema prakticky zadny dopad.
Tomas Z.
Tomas Z. (neregistrovaný)
10. 4. 2008 12:39 Nový

Re: námět

celé vlákno
Hezký souhrn pracovních postupů (byť na trochu jiné úrovni) jak zacházet s trpaslíky je v draftu Knuthova TAOCP vol. 7 - Bitwise Tricks and Techniques. Úžasné, co se dá všechno s těmito jednoduchými trpaslíky dělat, zvláště když se kombinují logické a aritmetické operace.
Rejpal
Rejpal (neregistrovaný)
11. 4. 2008 5:19 Nový

Re: námět

celé vlákno
To je čtvrtý, ne sedmý svazek. :-) IIRC. ;-)
Tomas Z.
Tomas Z. (neregistrovaný)
11. 4. 2008 7:52 Nový

Re: námět

celé vlákno
Hm, pravda. Původně jsem napsal 7.1.?, pak jsem si nebyl jist - tak jsem to (špatně) zkrátil na Vol 7. Ale stejně je to dost dobrý čtení do vlaku :)
Pepik
Pepik (neregistrovaný)
10. 4. 2008 17:00 Nový

Test na nulovost

celé vlákno
IMHO test na nulovost by se dal udělat jednodušeji bez použití pomocného registru operací OR A, A.
Pavel Tišnovský aura:98
10. 4. 2008 17:27 Nový

Re: Test na nulovost

celé vlákno
Šel, stejně tak i pomocí AND A,A nebo dvojité negace. Je to jenom příklad na vysvětlení instrukce CMP, určitě ne ukázka dobrého stylu programování v ASM.
Clock
Clock (neregistrovaný)
14. 4. 2008 9:36 Nový

Re: Test na nulovost

celé vlákno
Negace je IIRC na 8 tiku takze dvojita je na 16 a or a,a nebo and a,a jenom na 4 tiky.
Jirka P
Jirka P (neregistrovaný)
14. 4. 2008 17:22 Nový

Příklad smyčky z krokem

celé vlákno
Nechci nic rikat, ale jak mohlo 0xffff-2*cosi vyjit sude? A odkdy je 0xfffe+2 1?
Pavel Tišnovský aura:98
15. 4. 2008 8:21 Nový

Re: Příklad smyčky z krokem

celé vlákno
Omlouvam, se, samozrejme jde o preklep.
Pavel Tišnovský aura:98
15. 4. 2008 8:26 Nový

Re: Příklad smyčky z krokem

celé vlákno
Melo se zacinat od 0xfff1, necham to opravit. Diky za upozorneni.
Zasílat nově přidané příspěvky e-mailem