x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama

Názory ke článku Řešíme zdrojový kód – algoritmus násobení – Programujte.comNázory ke článku Řešíme zdrojový kód – algoritmus násobení – Programujte.com

 

Názory ke článku Řešíme zdrojový kód – algoritmus násobení

knezi   NOVÝ
13. 2. 2012     web

pěkné :)

uf   NOVÝ
13. 2. 2012

Prima. Já tušil, že se to někam dostane. 

Fakt je, že jsem to jen četl a myšlenkově nesledoval. Ale myšlenka a postup je názorný. Tak mohou vznikat efektivní algoritmy (kreslení kružnice, přímky, nalezení cesty nebo cyklu v grafu).

Jsem rád, že se někdo namáhá sebrat myšlenky, informace a nápad a pravidelně něco napíše pro ostatní (např. pan Tišnovský je až nepříjemně plodný). A velice hezky. 

Poslední dobou se mi totiž zdá, že články vznikají jen proto, aby se člověk zviditelnil jako odborník a měl publikační činnost. Časem se na drobné faux pax zapomene a zbyde jen počet příspěvků.

Pudni tvor   NOVÝ
14. 2. 2012

#2 uf
Jsem rád že tu bylo zmíněno jméno pana Ťišnovského, protože je to opravdu formát a stejně jako Tebe mě fascinuje jeho publikační činnost, zajímavost a zpracování témat po odborné stránce.

Nicméně jsem pouhopouhý amatér a kvalit pana Ťišnovského zdaleka nedosahuju a nedovedeš si představit kolik práce mi dá napsat jenom takovýhle článek. :-) Taky z češtiny jsem maturoval za 4 a moje češtinářka by se nejspíš smála že zrovna já píšu. :-) To že tam nejsou chyby je dobrá práce korektora, hlavně čárky a vedlejší věty mi dělají problémy, časem se to zlepší, člověk se pořád něčemu učí.

I když nemám zase tolik času, budu určitě psát dál. Objevil jsem v tom jisté kouzlo které mi dříve unikalo. Kromě toho je příjemné, že když se tomu věnuje určité úsilí, dá se zvládnout napsat článek a výsledek práce je brzy vidět. Člověk z toho má pak radost když se to někomu líbí, díky všem co mě motivují. :-)

Miloslav Ponkrác   NOVÝ
14. 2. 2012

Akorát bych konec dopracoval. Poslední zjištění znaménka se dělá rychleji pomocí bitových operací:

if ((a ^ b) < 0)

   y = -y;

Ve strojovém kódu je to velmi rychlé, protože obvykle existuje přímo příznak na zjišťování, zda je číslo záporné.

Kromě toho jde algoritmus v určitých případech dále zrychlit občasným testem, zda není možné přeskočit několik bitů.

Miloslav Ponkrác

uf   NOVÝ
15. 2. 2012

Už jste si prohlídl toho Brackeena Vývoj her v javě?

Pudni tvor   NOVÝ
15. 2. 2012

#4 Miloslav Ponkrác
Díky, zajímavé poznámky

Ukázky implementace jsou tam spíš proto aby člověk viděl
konkrétní jednoduchý a úplný kód, jako příklad použití odvozeného algoritmu.
Vzorový příklad vysoce optimalizovaného kódu to jistě není.

Pro praktickou aplikaci toho kódu je
další "low-level" optimalizace určitě možná.
I když i takhle je to prakticky použitelné.
Šlo mi ale spíš o "high-level" optimalizaci,
mám-li to tak nazvat. :-)

Do optimalizace na konkrétní platformu třeba nějaký
mikročip jsem se nepouštěl. Znám akorát assembler x86
a jeden čas jsem si hrál s MCU ATMega. Oba instrukci pro násobení mají,
bylo by asi směšné optimalizovat ten algoritmus pro ně :-)

Vím že třeba PIC nemají instrukci pro násobení, ale to zase není moje parketa.
Ledaže by někdo schopný kdo v tom dělá ten algoritmus napsal v assembleru PIC,
klidně do článku doplním odkaz na jeho stránky. :-)

To s tím přeskakováním a další urychlení můžou být zajímavé
a myslím že by to s podrobným vysvětlením krásně vyšlo na další článek, tenhle je už tak delší.
Myslím si, že to o co v článku jde, v článku je. Jistě se to dá rozšiřovat dál a dál, zdá se mi
to ale vymezené tak akorát. Možná někdy později na to navážu až nebudu vědět co bych. :-)

Pudni tvor   NOVÝ
15. 2. 2012

#5 uf
Ne, zatím jsem se k tomu nedostal,
ale mám to poznamenaný v šuplíku až budu dělat
něco okolo grafiky, že se na to podívám :-)

Miloslav Ponkrác   NOVÝ
15. 2. 2012

„Pro praktickou aplikaci toho kódu je další "low-level" optimalizace určitě možná. I když i takhle je to prakticky použitelné. Šlo mi ale spíš o "high-level" optimalizaci, mám-li to tak nazvat.“

I já svými poznámkami zůstal na úrovni high-level optimalizace.

„Do optimalizace na konkrétní platformu třeba nějaký mikročip jsem se nepouštěl. Znám akorát assembler x86
a jeden čas jsem si hrál s MCU ATMega. Oba instrukci pro násobení mají, bylo by asi směšné optimalizovat ten algoritmus pro ně“

Ale nemají třeba algoritmus pro násobení řekněme 512 bajtových čísel. Dá se to naimplementovat tímto způsobem.

---

Článek je skvělý a skvěle popsaný princip základní algorimu násobení. Nijak jsem ho nekritizoval ani v nejmenším.

Pudni tvor   NOVÝ
15. 2. 2012

#8 Miloslav Ponkrác
Ok, doplnil jsem k tomu testu do článku poznámku.

To je fakt, na bignum aritmetiku by to šlo celkem snadno použít.
Tam by bylo ale možná lepší rovnou využít instrukce pro 32-bit násobení
místo násobení po jednotlivých bitech.

V pohodě, dík, myslím si stejně že nejlepší pro vývoj čehokoli je rovnice :

Ideální vývoj = (chvála + kritika) / 2

:-)

Pudni tvor   NOVÝ
15. 2. 2012

#8 Miloslav Ponkrác
A máte navíc pravdu, měl jsem lépe reflektovat v názvu článku jeho obsah. Název "Základní algoritmus násobení" nebo "Jednoduchý algoritmus násobení" by byl lepší. Teď už se to nedá změnit, beru si poučení do budoucna, dík. :-)

Přidej svůj názor

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo e-mailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Reaguješ na příspěvek:
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové názory e-mailem (pouze pro přihlášené)
Sleduj názory ke článku a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.



Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032014 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý