Consider using mimalloc as the memory allocator for tree-sitter
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 62/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- rust
- Domaine
- performance, tooling
Piste de recherche
La charge utile ne nomme aucun fichier, commence donc par le Cargo.toml du crate et par son point d'entrée binaire. Le changement consiste à ajouter mimalloc comme dépendance et à l'enregistrer comme allocateur global. Mesure ensuite les performances du formateur avec les mêmes entrées avant et après la modification. C'est terminé lorsque les temps avant et après sont publiés sur le ticket et que le résultat indique si la différence est mesurable.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
I did some profiling on the parser and noticed that about 80-90% of the execution time is parsing with tree sitter. A big chunk of the parsing time is memory allocations. I looked a bit into it and it doesn't seem like this is something you can avoid in the parser itself: AST nodes get allocated dynamically.
There's this alternate memory allocator that's supposed to be faster for small dynamic memory allocations, mimalloc. This task is about giving it a try, benchmarking before and after and seeing if it makes a measurable difference.
- Langage dominant
- Rust
- Étoiles
- 483
- Forks
- 41
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de GDQuest/GDScript-formatter
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
GDQuest/GDScript-formatter#369 ·
-
_init() does not wrap like other functions + unwanted formatting case for a function call chainOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
GDQuest/GDScript-formatter#370 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
GDQuest/GDScript-formatter#366 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 58/100
GDQuest/GDScript-formatter#360 · 1 commentaire ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
GDQuest/GDScript-formatter#354 · 2 commentaires ·
Toutes les issues de GDQuest/GDScript-formatter
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
dekobon/big-code-analysis#1729 ·
Les mainteneurs répondent en général sous 1 jour
-
bug help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
Les mainteneurs répondent en général sous 3 jours
-
Cline: allowlist capture drops every event because the capture gate ignores `workspaceRoots`Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
akitaonrails/ai-memory#1888 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
peteonrails/voxtype#941 ·
Les mainteneurs répondent en général sous 4 jours
-
bug priority:medium triage:maintainable
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
ccusage/ccusage#2000 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour