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