Principalement le Bound checking: Le fait de vérifier qu'un accès se fasse bien dans les limites d'un vecteur, d'un tableau, d'un itérateur a un coût en terme d’exécution. C'est un problème que le C n'a pas vu que tous les accès mémoires se font en mode YoLo sans aucune vérification.
Rust a aussi une forte tendance à copier/bouger les choses en mémoires car c'est une manière de contourner les limitations du Borrow checker sans utiliser RC / ARC (du comptage de reference). Ça a un impacte en terme de performance, même si probablement minime comparé au C.
[^] # Re: Performances
Posté par Firwen (site web personnel) . En réponse au journal Rust dans Linux, ça démarre fort!. Évalué à 5.
Principalement le Bound checking: Le fait de vérifier qu'un accès se fasse bien dans les limites d'un vecteur, d'un tableau, d'un itérateur a un coût en terme d’exécution. C'est un problème que le C n'a pas vu que tous les accès mémoires se font en mode YoLo sans aucune vérification.
Rust a aussi une forte tendance à copier/bouger les choses en mémoires car c'est une manière de contourner les limitations du Borrow checker sans utiliser RC / ARC (du comptage de reference). Ça a un impacte en terme de performance, même si probablement minime comparé au C.