Sto giocando con .NET BigInteger e fondamentalmente mi chiedo quale numero - una risposta stimata andrebbe bene - è il punto di deviazione della curva di (il grafico di (aumento del tempo richiesto per le operazioni) vs (valore di BigInteger))?
o sono progettati senza una tale deviazione tale che se tracciamo l'aumento del tempo richiesto per le operazioni rispetto al valore di BigInteger da 1 a infinito, avremo una curva uniforme fino in fondo?
ad esempio, supponendo che le matrici siano progettate con la capacità di gestire 50 elementi. questo significa che se ho 1 oggetto, le operazioni sono f (1) tempo. e quando ho 2 articoli, le operazioni sono f (2) tempo. se ho 50 articoli, le operazioni sono f (50). ma poiché è progettato per gestire solo 50 articoli, le operazioni eseguite quando avremo 51 articoli saranno g (51) dove g (51)> f (51).
Se implementato correttamente, la complessità dell'aritmetica di BigInteger dovrebbe essere una curva regolare. Ad esempio, la complessità temporale della moltiplicazione dovrebbe essere O (NM) dove N è il numero di cifre nel primo multiplo e M è il numero di cifre nel secondo multiplo. Ovviamente ci sono dei limiti pratici in quanto puoi scegliere N e M così grandi che i numeri non si adatteranno alla tua macchina.
Esistono / sono a conoscenza di documenti che affermano che è stato implementato come tale?