[Task] Establish systematic performance baselines and optimization tracking
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
- Tipo de issue
- Refactorización
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- java
- Área
- databases, performance
Línea de trabajo
This is a long-running tracking task, not a single change. Start with the linked Server PR #3342, which fixes lost Kout results, and its measurement review, to see which benchmark setup it used. The first concrete step would be a reproducible, correctness-checked Kout baseline with recorded commands, data generation, and environment details. Done means that baseline exists and candidate optimizations are ranked against it, not that any optimization is merged.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Goal
Track long-term, evidence-driven performance work across HugeGraph traversal and its shared execution/collection paths. Start with Kout as a reproducible case, then extend to other representative operations when measurements reveal shared bottlenecks.
Optimize end-to-end efficiency under realistic workloads, rather than greedily improving one method, microbenchmark, or configuration at the expense of correctness, memory, latency, or concurrent throughput.
Starting evidence
🔗 Server #3342 fixes lost Kout results by serializing shared result-set updates and distinct-limit admission. Preserve this correctness guarantee. (Other cases like)
Bounded measurements and limitations show workload-dependent trade-offs between internal parallelism and concurrent requests. They do not establish a production regression caused by the fix, isolate monitor cost, or establish production-wide performance acceptance. No narrowed-lock optimization has been benchmarked.
This is a long-term task, not an additional 1.8 release gate. Candidate optimizations below are hypotheses to evaluate, not commitments to implement.
TODO
- Establish a reusable, correctness-checked baseline and retain reproducible commands, data generation, raw results, environment details, and exact tested revisions.
- Profile representative end-to-end workloads before prioritizing changes.
- Rank opportunities by measured user impact, resource cost, implementation risk, and maintenance burden.
- Implement justified optimizations separately, with before/after comparisons against a correct baseline.
- Add stable regression coverage and document deployment/concurrency trade-offs.
- Expand coverage to related traversals and shared infrastructure as evidence warrants.
Candidate investigations
- Internal worker counts, executor reuse/admission, and resource budgets across concurrent requests.
- Bounded/lazy edge-query and iterator preparation to avoid unnecessary work after limits are satisfied.
- Primitive IdSet bulk union to reduce numeric-ID wrapping during layer merges.
- Empty-frontier termination and avoidable allocation/cancellation overhead.
- Critical-section scope or aggregation strategies only where profiling justifies them; preserve exact distinct limits, deduplication, visibility, resource cleanup, and off-heap ID safety.
Measurement and acceptance
- Cover single and concurrent requests; several worker settings including the actual default; numeric/string IDs; unique/duplicate/convergent graphs; finite/unlimited limits; nearest modes; and representative graph sizes.
- Include relevant backends and full API/service paths, not only isolated consumers. Distinguish warmed caches from genuinely cold storage.
- Record throughput, latency distributions, CPU, allocation/GC, memory, and lock/scheduling observations. Use sufficient independent runs, warm-up, sustained durations, and variability reporting; short repeated samples are not independent experiments or production tail-latency proof.
- Verify complete results where deterministic, exact counts and legal results for bounded queries, plus cancellation, capacity and resource-lifecycle behavior.
- Agree workload-specific acceptance budgets before claiming success. Check for displaced costs and regressions in other supported workloads.
- Change one causal factor at a time where practical. Report inconclusive results honestly; do not use unsafe old concurrent behavior as a performance target.
Keep findings and follow-up PRs linked here so improvements accumulate into a coherent performance baseline rather than isolated tuning.
- Lenguaje dominante
- Java
- Estrellas
- 3.2k
- Forks
- 641
- Merge medio
- 1 d 9 h
- PR fusionados (30 d)
- 74
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la 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 apache/hugegraph
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
apache/hugegraph#3231 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
Los mantenedores suelen responder en 1 día
-
[Bug] CI accepts obsolete PR targets after retargeting or force-pushQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
[Feature] Server image: map server.urls_to_pd and server.deploy_in_k8s from the environment, and stop editing conf files in placePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
Los mantenedores suelen responder en 1 día
Todos los issues de apache/hugegraph
Issues similares
-
docs(site): Mermaid edge-label contrast on Architecture and a table header on How it comparesAbiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
devops-thiago/ThrillhouseBot#1132 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
approved bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
checkstyle/checkstyle#21981 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Build: the CUDA backend fails without cuDNN instead of skipping the cuDNN shim (as the cuDF shim does)Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
beehive-lab/TornadoVM#1248 ·
Los mantenedores suelen responder en 1 día
-
good first issue help wanted ready-for-human
Dificultad 2/5 Medio día Aptitud para principiantes 64/100
Los mantenedores suelen responder en 1 día