Dalsi zahada v C -> Prevod long int na string

Milan B. milan na bastl.sk
Pondělí Červenec 25 11:51:33 CEST 2011


On 25.7.2011 10:47, Jan Waclawek wrote:
>>
>> Aha, takze riesenim je asi vyplakavat po roznych forach.
>
> Svojim sposobom ano. Napriklad v tomto pripade to podla vsetkeho aspon ciastocne zabralo... ;-)
>
>
> To je sice pravda, ale v mojom oblubenom SDCC na mojej oblubenej platforme '51 je k dispozicii poltucet optimalizovanych verzii printf(), cim sa bud riesi povodny problem, alebo to itoa sa z nich da pomerne jednoducho vyoperovat.
> http://sdcc.sourceforge.net/doc/sdccman.html/node94.html
>
viz dalej
>
> Uprimne povedane si povodnu otazku nepamatam a odpovedal som na Vas posledny prispevok, kde to uz nebolo. Je mozne, ze som to odmazal ja sam kedysi pred tyzdnami. Moja strednodoba pamat je momentalne v takom stave, ze obcas ked chcem odpovedat na nejaku otazku, tak najprv guglim, ci sa neda odpovedat nejakym brisknym linkom a s hrozou zistujem, ze som na podobnu otazku pred nejakym casom pisal pomerne rozsiahle pojednanie, a vobec si to nepamatam... :-(
>
Tu som vas obvinil trochu nepravom (a tymto sa ospravedlnujem).... ono 
sa to vlakno rozpadlo na dve. Z pamate mi vyplavalo (vzhladom k nocnej 
hodine trochu nepresne), ze diskuzia zacala nejakymi problemami s printf 
a rychlostou ... ale vyvoj dskuzie bol neskor trochu klukatejsi.

Tiez som v podstate reagoval na posledny prispevok. Hlavne ako reakciu 
na tu bezradnost z toho, ze v podstate primitivna funkcie nie je v 
kniznici a co dalej ... a implementacia, ktoru som ponukol, nie je 
nepodobna beznym implementaciam....

> Takze ano, mate pravdu, treba si najprv overit, ze ci printf z kniznice nie je nahodou uz dostatocne vyoptimalizovane.
>
printf ma jeden vazny problem - a to formatovanie. Samotnym procesom 
formatovania sa mozno spotrebuje viac casu, ako prevodmi cisiel.

> Len to, ze to nesplnalo povodnu predstavu, t.j. implementaciu bez 
> delenia. Naviac nemam rad C, t.j. podla mna maju byt kniznicne funkcie 
> pre 8-bity (a aj pre 16-bity typu MCS430 :-) ) optimalizovane na 
> urovni asembleru.

Vola sa to MSP430 :) Ale v podstate suhlasim. Minimalne to chce 
zamysliet sa nad vygenerovanyym kodom a pripadne algoritmus upravit.

Kazdopadne, ak mam fungujuci a otestovany algoritmus v C, tak prepisat 
ho do lubovolneho assembleru je len technicky problem (robota pre ludi z 
udrzby).


>> Neviem, ktore riesenie bude na danej platforme najrychlejsie, zavisi to
>> hlavne od rychlosti implementacie delenia. Ale to sa da zistit velmi
>> jednoducho - vyskusat.
> Ano, ale to uz nemusi byt par minut...
>

Zistenie, ze itoa a spol  nie je v kniznici trvalo viac ako mesiac ... 
myslim ze hodina naviac stravena testovanim nenasobi a nedeli.

>> Len pre zaujimavost, na mojej testovacej x86_64 virtualke (ktora ma,
>> samozrejme, HW delenie) trvalo 1000 prevodov celeho rozsahu -32767 az
>> 32767 (t.j. 65534000 prevodov):
>>
>> verzia s delenim (a HW delenim): ~2.6 sekundy
>> verzia s odpocitavanim po radoch s tabulkou: ~4 sekundy
>> verzia s odpocitavanim po radoch 4 cykly po sebe: ~2.1 sekundy --->  VITAZ
> To je vskutku necakane.
>

Nerobte si srandu. Tym som len chcel ukazat, ako dokaze zmena pristupu a 
algoritmu zmenit dobu spracovania. Mne a vam je to jasne ... ale mate 
pocit ze je to jasne dnesnej generacii tzv. programatorov? Ja nie.

> wek
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list



Další informace o konferenci Hw-list