2015-03-18 13:39 GMT+00:00 Alessandro <dedalus2...@gmail.com>:

> Direi che se la velocità è importante in genere si cerca di evitare gli
> immutabili fin dall'inizio.
>

Assolutamente no! Se cerchi la velocita' cerchi:
1. di non scrivere roba assolutamente stupida
2. scrivi roba leggibile e mantenibile
3. profili per bene
4. ottimizzi dove e quando ti serve

La maggior parte dei linguaggi "popolari" oggi usa stringhe immutabili
(Python, Java e tutto quello che gira su JVM, Go, buona parte dei linguaggi
funzionali). Questa e' tutta roba che (potenzialmente escludendo Python)
gira parecchio velocemente.

Il punto chiave e' che se hai cose mutabili, poi rischi di doverti
preoccupare di una serie di cose (sincronizzazione, azione a distanza) che
ti portano a fare copie difensive (costose) et similia.

Anche perche' gli oggetti mutabili non e' che sono maggici... tipo se fai
un bel m.replace('x','') su una fantomatica stringa immutabile in Python,
sei sempre O(N). E si... *forse* risparmi memoria. Che hai verosimilmente
perso altrove per avere fatto copie difensive oppure hai appena introdotto
un baco di azione a distanza (a meno che davvero nessuno a parte chi chiama
replace abbia ownership dell'oggetto... che si, capita, eh... ).


-- 
.
..: -enrico-
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a