Consider using mimalloc as the memory allocator for tree-sitter
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 62/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- performance, tooling
Línea de trabajo
Como la carga útil no nombra archivos, empieza por el Cargo.toml del crate y por su punto de entrada binario. El cambio consiste en añadir mimalloc como dependencia y registrarlo como asignador global. Después, haz un benchmark del formateador con las mismas entradas antes y después. Está terminado cuando los tiempos antes y después se publican en el issue y el resultado indica si la diferencia es medible.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Rust
- Estrellas
- 468
- Forks
- 39
- Merge medio
- 6 h 24 min
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de GDQuest/GDScript-formatter
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
GDQuest/GDScript-formatter#366 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 58/100
GDQuest/GDScript-formatter#360 · 1 comentario ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
GDQuest/GDScript-formatter#354 · 2 comentarios ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
GDQuest/GDScript-formatter#353 · 5 comentarios ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 63/100
GDQuest/GDScript-formatter#348 · 3 comentarios · 2 reacciones ·
Todos los issues de GDQuest/GDScript-formatter
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
RustCrypto/SSH#596 ·
-
proxy: SQL-over-HTTP turns empty arrays into [""] or [false], or HTTP 500 for int and float arraysAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
neondatabase/neon#12965 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
goauthentik/authentik#26867 ·
Los mantenedores suelen responder en 1 día
-
Table and code-block right borders are clipped when the TOC panel is resized wider than the defaultAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
api bug macos maintainer-needed p2 triaged
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día