- Article sur le processus de construction d’un parseur JSON haute performance en utilisant le langage Go
- Projet visant à prendre en charge le streaming, à être compatible avec le package
encoding/json et à proposer une API sans allocation ou à allocations limitées
- Article expliquant la complexité temporelle du parsing JSON et soulignant que la borne inférieure du temps nécessaire pour traiter l’entrée est la taille de cette entrée
- Article sur le processus de tokenisation qui transforme un flux d’octets en flux de tokens JSON
- Article expliquant le processus de lecture des données depuis un fichier JSON et mettant en avant les difficultés liées à l’utilisation de
io.Reader
- L’auteur présente le concept de
byteReader, qui fonctionne de manière similaire à bufio.Reader mais avec une API plus efficace
- Article sur le processus de scan permettant d’identifier quels caractères sont des tokens et lesquels sont simplement des espaces
- L’auteur explique comment améliorer les performances du scanner en évitant les appels de fonction sur le hot path
- Article sur le processus de décodage qui vérifie si une séquence de tokens est valide
- L’auteur suggère qu’il est possible d’améliorer les performances du décodeur en utilisant un goto calculé, en stockant directement les méthodes et en les appelant directement
1 commentaires
Avis Hacker News
computed goto, une technique plus efficace en espace