Ho rivisto e modificato la gestione del segno che ora ho messo anche per
gli interi. Questi sono i risultati (operazioni al secondo per numeri
interi con e senza segno da 4 bytes):
UNSIGNED INTEGER
ADD: 12091/s
SUB: 12091/s
MUL: 315/s (worst) - 574/s (best)
DIV: 190/s (worst) - 252/s (best)
SIGNED INTEGER
ADD: 12091/s
SUB: 12091/s
MUL: 315/s (worst) - 541/s (best)
DIV: 181/s (worst) - 246/s (best)
Come si vede, la gestione del segno non influenza la somma e la
sottrazione ma riduce un pochino le prestazioni della moltiplicazione e
della divisione. In particolare, riduce abbastanza il caso migliore
della moltiplicazione in quanto è proprio lì che diventa importante
rispetto al costo dell'operazione in sé. Mentre nella divisione è meno
importante perché quest'ultima è intrinsecamente meno efficiente.
EMG
--
EMAG Software Homepage: http://www.emagsoftware.it
The EMG Music page: http://www.emagsoftware.it/emgmusic
The EMG's ZX-Spectrum Page: http://www.emagsoftware.it/spectrum
The Best of Spectrum Games: http://www.emagsoftware.it/tbosg