Documentation
Architecture Zéro Unsafe
Conçu pour la sécurité mémoire maximale : `#![forbid(unsafe_code)]`, arène DOM et balayage SWAR.
Règle Zéro Unsafe
oxml applique strictement #![forbid(unsafe_code)] à la racine de tous les crates de l'espace de travail. Zéro exception :
- Zéro arithmétique de pointeurs bruts
- Zéro transmute non vérifié
- Zéro accès non contrôlé aux tranches
Toutes les vérifications de bornes sont garanties au niveau du compilateur.
Allocation en Arène
oxml::Document repose sur une arène de nœuds à recyclage générationnel :
- Accès O(1) : Les nœuds sont référencés par des identifiants
NodeIdcompacts et copiables. - Recyclage Générationnel : Les suppressions incrémentent un compteur de génération, évitant toute corruption de mémoire.
- Localité de Cache : Stockage contigu en mémoire maximisant l'efficacité des caches L1/L2 du processeur.
Accélération SWAR
Le balayage rapide de délimiteurs s'appuie sur la technique SWAR (SIMD Within A Register) par blocs de 8 octets, doublant le débit sans aucune instruction unsafe.