RE: Rychlý výpis integer čísla
Zuffa Jan
ZuffaJ na cgc.sk
Pondělí Květen 6 15:39:53 CEST 2024
VS a MS kompilator to maju priamo v moznostiach
j.
From: Hw-list <hw-list-bounces na list.hw.cz> On Behalf Of Pavel Hudecek
Sent: Monday, May 6, 2024 2:51 PM
To: hw-list na list.hw.cz
Subject: Re: Rychlý výpis integer čísla
Je vlastně nějaký zavedený způsob, že autor napíše zapouzdřenou funkci optimalizovanou na paměť, pak další verzi na velikost kódu a třetí na rychlost, aby se pak použila verze podle aktuálně zvolené optimalizace?
PH
Dne 06.05.2024 v 14:00 Martin Záruba napsal(a):
Jasně. Ale pokud je to knihovní (zapouzdřená) funkce, neměla by být napsaná v assembleru, aby fungovala tak nejefektivněji (paměť, rychlost) jak je možné?
Martin Záruba
Dne 6.5.2024 v 13:19 Pavel Hudeček napsal(a):
Mohu se mýlit, ale mám za to, že pokud tomu něco nebrání, překladač v této situaci nechá provést jedno dělení a použije oba výsledky.
Jinak mě vlastně nenapadá, k čemu by nějaké revoluční zrychleni převodu bin-dec v současné době bylo dobré. Nějak si nedovedu představit, kde by se konvertovalo obrovské množství čísel a ještě k tomu se okolo nedělalo nic jiného, aby ta konverze tvořila nezanedbatelnou část zátěže...
Jestli by tento algoritmus dokázal třeba zrychlit nepochopitelně pomalej Open/Libre Office? Asi taky spíš ne.
Ale jako akademická zajímavost se mi to líbí:-)
PH
Dne 06.05.2024 v 12:45 snail na snailinstruments.com<mailto:snail na snailinstruments.com> napsal(a):
Každý, kdo programoval dělení v assmebleru, ví, že s podílem získá zároveň i zbytek. Zadarmo, ani jeden takt navíc. Pokud tedy tradiční algoritmus vyžaduje jedno dělení a jedno modulo na číslici, ušetříme 50% času už jenom tím, že nebudeme zahazovat vedlejší produkt z operace dělení. Ovšem ve vyšších jazycích neexistuje způsob, jak předat zároveň podíl i zbytek.
J. Hanzal
jak tady před nedávnem běžela debata o funkci printf() a o převodu čísla
do řetězce obecně - náhodou jsem dneska narazil na tenhle článek:
https://www.cantorsparadise.com/1-8x-faster-integer-printing-algorithm-52d43bd265e0
Autor používá zcela nový algoritmus k tomu, aby dostal integer do
řetězce podstatně rychleji než je klasika. Třeba se to někomu bude hodit.
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20240506/e959050d/attachment.htm>
Další informace o konferenci Hw-list