06 luglio 2006

S.O. e notazione "o grande"

from the complessità-concreta dept.

Informatici e matematici sono avvezzi alla notazione "o grande" per descrivere la complessità di un algoritmo, ovvero in che modo questo si comporta al crescere della dimensione del problema. Trovare un elemento preciso all'interno di n richiederà così un tempo lineare, ovvero O(N). Se ordiniamo questo elenco, il tempo necessario sarà O(log(n)) poichè sarà possibile effettuare una ricerca dicotomica. La O serve per sbarazzarsi di eventuali "costanti moltiplicative", considerando solo il comportamento asintotico in funzione del parametro n.

Finite le noiose premesse per i lettori del blog senza "le mani in pasta", ecco il vero contenuto di questo post: elaboro da tempo una teoria spannometrica sul comportamento del sistema operativo Windows. Chiunque abbia utilizzato tale S.O. per più di due anni senza formattare avrà avuto il sospetto che il comportamento della "bestia" sia in qualche modo polinomiale, penso almeno un O(n^2)... ovvero, più "dati e programmi" vengono caricati (spannometricamente, ovvio), tanto più il sistema rallenta... ed in modo quadratico.

Al contrario, chiunque abbia usato un sistema basato su UNIX (Linux, FreeBSD, MacOS X) avrà notato come questi riescano ad offrire lo stesso livello di performance, usabilità e quant'altro anche con il disco "pieno di dati e programmi".

Probabilmente i vari episodi del tipo: "Ah, da quant'è che non formatti? ...6 mesi? Ah... beh allora mi sa che devi piallare tutto!" sono dei corollari a questo ;)
Conosco ben poche persone che "sopravvivono" con un'istallazione di Windows per più di un anno e mezzo/due, ed una di queste deve aver subito qualche influenza negativa per elaborare questa teoria!

Nessun commento: