Add benchmarking scripts
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- ci-cd, performance, tooling
Línea de trabajo
Comienza revisando los casos similares a benchmarks en test/generate.test.js, la convención propuesta de bench/ y la configuración existente de .travis.yml. Define entradas locales estables, concurrencia configurable, resultados compartibles y una ejecución en CI que compruebe que no haya regresiones sin evaluar los tiempos; se considera terminado cuando los scripts cubran comprobaciones de rendimiento o memoria sin E/S de red.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
For many types of changes (such as #76 and #78, recently) it would be great to have a set of benchmarking scripts for assessing performance impacts.
spritezero does currently have some unit-tests that function sort of like benchmarking (see here) but it is not ideal to have these mixed in with unit tests.
Benchmarking scripts guidelines:
- Should live in the
bench/directory, following convention of other repos (ex https://github.com/mourner/rbush/tree/master/bench). - Can be run locally to assess if changes to spritezero deps or code have an impact on performance or memory usage
- Should do no network, only local i/o
- Should be primarily designed to be run locally and used for collaborative testing
- Should nevertheless be run on CI (with explicit lines added to the .travis.yml to run them) to ensure they don't break (since they should not run as unit tests). But we should ignore their timing result on CI - the only purpose is to make sure they don't break under refactors.
- Should dump their output in an easy to share format that can be posted on tickets and referred back to
- Data input should be stable over time so their results can be compared across time with git bisect
- Should have configurable concurrency and should not default to using os.cpus() otherwise results will not be very comparable across machines.
(h/t @springmeyer for this list)
- Lenguaje dominante
- JavaScript
- Estrellas
- 186
- Forks
- 70
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Guía de contribución
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 mapbox/spritezero
-
Support for M-chip (arm64) Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 55/100
mapbox/spritezero#100 ·
-
Migrate to svgo 2.x Abiertojira-sync-complete
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
mapbox/spritezero#93 ·
-
Link in documentation 404 Abiertoestimate-2 groomed jira-sync-complete p3
Dificultad 1/5 Menos de una hora Aptitud para principiantes 45/100
mapbox/spritezero#88 · 1 comentario · 4 reacciones ·
-
Error installing spritezero Abiertoestimate-2 groomed jira-sync-complete p3
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
mapbox/spritezero#84 · 7 comentarios · 4 reacciones ·
-
estimate-2 groomed jira-sync-complete p3
Dificultad 4/5 3-5 días Aptitud para principiantes 20/100
mapbox/spritezero#82 · 3 reacciones ·
Todos los issues de mapbox/spritezero
Issues similares
-
bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
apache/cloudstack#14222 ·
-
Browser Waiting for: Product Owner
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
getsentry/sentry-javascript#24577 · 1 comentario ·
-
curation good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
amponce/archive-movie-browser#186 ·
-
light
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
aemdemos/patients-stryker#253 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
clerk/javascript#9852 ·