Entièrement d'accord, mais si ton object fait 100ko, tu ne peux pas le copier.
Le plus simple, c'est d'avoir des objets immuables. Ainsi, tu n'as aucune différence sémantique entre balader un pointeur et l'objet lui-même puisque personne ne peut le modifier, par contre, sa durée de vie n'est plus sous contrôle et un GC est nécessaire. Ocaml fonctionne comme ça. Si il y a plein de string partout, cela va bien plus vite, par contre, si il y a plein de string à vie courte, la consommation mémoire s'envole, car il est impossible de réutiliser un buffer.
[^] # Re: Gnirehtet réécrit en Rust
Posté par Nicolas Boulay (site web personnel) . En réponse au journal Du reverse tethering, en Rust. Évalué à 4.
Entièrement d'accord, mais si ton object fait 100ko, tu ne peux pas le copier.
Le plus simple, c'est d'avoir des objets immuables. Ainsi, tu n'as aucune différence sémantique entre balader un pointeur et l'objet lui-même puisque personne ne peut le modifier, par contre, sa durée de vie n'est plus sous contrôle et un GC est nécessaire. Ocaml fonctionne comme ça. Si il y a plein de string partout, cela va bien plus vite, par contre, si il y a plein de string à vie courte, la consommation mémoire s'envole, car il est impossible de réutiliser un buffer.
"La première sécurité est la liberté"