Dalsi zahada v C -> Prevod long int na string
Jan Waclawek
konfera na efton.sk
Pondělí Červenec 25 10:47:10 CEST 2011
>On 24.7.2011 22:38, Jan Waclawek wrote:
>> To je sice pekne, ale povodna staznost bola na pomalost. Optimalizacia uz potom nie je zalezitost par minut a je strojovo zavisla.
>
>Aha, takze riesenim je asi vyplakavat po roznych forach.
Svojim sposobom ano. Napriklad v tomto pripade to podla vsetkeho aspon ciastocne zabralo... ;-)
>A kde beriete istotu, ze tieto funkcie - ktore ste mimochodom odporucali
>aj VY SAM - budu v knizniciach implementovane inac? Namatkovo som pozrel
>implementaciu vo vasom oblubenom SDCC a tam je implementovana IMO este
>horsie.
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
>Mimochodom, povodna staznost nebola na rychlost itoa, ale na rychlost
>printf (tuto cast ste rafinovane odmazali).
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... :-(
Takze ano, mate pravdu, treba si najprv overit, ze ci printf z kniznice nie je nahodou uz dostatocne vyoptimalizovane.
>Tazatel sa iba domnieval ze
>algoritmy s delenim budu pomale. Sancu vyskusat itoa a spol. nermal,
>lebo jeho kniznice ich nemaju. Tak som mu nejaku implementaciu ponukol.
>Co vas na tom tak sere?
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.
>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...
>
>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.
wek
Další informace o konferenci Hw-list