1 dépôt
Provides flexible access to data when the underlying schema remains unknown or changes frequently.
Distinct from Dynamic Data Structures: Distinct from Dynamic Data Structures: focuses on the representation of flexible JSON documents rather than low-level C containers.
Explore 1 awesome GitHub repository matching data & databases · Dynamic Document Structures. Refine with filters or upvote what's useful.
Ce projet est une bibliothèque d'analyse JSON haute performance pour Rust qui utilise des instructions accélérées par le matériel pour traiter des structures de données complexes. Elle fonctionne comme un outil de sérialisation typé, mappant les chaînes JSON brutes vers des objets de langage natifs tout en offrant la flexibilité de gérer des structures de documents dynamiques lorsque les schémas sont inconnus ou changent fréquemment. La bibliothèque se distingue par son utilisation de l'analyse accélérée par SIMD et de l'identification structurelle basée sur des masques de bits, qui lui permettent de scanner et de tokeniser des documents en traitant plusieurs octets simultanément. Elle emploie la répartition d'instructions à l'exécution pour détecter les capacités du processeur hôte, garantissant que le jeu d'instructions le plus efficace est sélectionné pour l'environnement matériel actuel. Pour améliorer encore le débit, le moteur utilise une représentation de document basée sur une bande et un accès aux données zéro-copie, qui minimisent les allocations mémoire et la recherche de pointeurs pendant le parcours. Au-delà de ses capacités d'analyse de base, la bibliothèque prend en charge le traitement de grandes valeurs numériques qui dépassent la capacité des types entiers ou à virgule flottante standard. Elle s'intègre aux interfaces de sérialisation standard pour garantir une gestion cohérente des données et fournit des recherches par hachage optimisées pour gérer les clés d'objet. Le projet est distribué sous forme de crate, fournissant une interface standardisée pour que les développeurs intègrent le traitement de données à haute vitesse dans leurs applications.
Creates flexible document structures for accessing and manipulating data when the underlying schema remains unknown or changes frequently.