Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Allow calculating geometric mean of groups of benchmarks based on tags

Aberta
#208 3 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
32/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
python
Domínio
performance, tooling

Direção de pesquisa

Comece rastreando como as tags de benchmark de pyperformance's pyproject.yaml são representadas nos resultados e metadados dos benchmarks e, em seguida, inspecione o fluxo compare_to de pyperf. A tarefa estará concluída quando as tags forem expostas nos metadados e as médias geométricas forem calculadas para cada subconjunto de tags, bem como para todos os benchmarks, com o comportamento de compatibilidade retroativa resolvido.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

[Moved from https://github.com/faster-cpython/ideas/discussions/395]

It's becoming obvious that:

  • The pyperformance suite needs more benchmarks that are more similar to real-world workloads, and we should lean into optimizing for these and using these to report progress.
  • Microbenchmarks of a particular feature are also useful and belong in the benchmark suite, but we shouldn't over-optimize for them or use them as a (misleading) indicator of overall progress.

It seems that one way to address this would be to lean into "tags" more in the pyperformance/pyperf ecosystem. pyperformance already allows for tags in each benchmark's pyproject.yaml.

I propose we:

  1. Output the tags for each benchmark in the benchmark results in the metadata dictionary.
  2. pyperf compare_to would then calculate the geometric mean for each subset of benchmarks for each tag found in the results, as well as "all" benchmarks (existing behavior). This could be behind a flag if backward compatibility matters.

Alternatives:

We could instead use the nested benchmark heirarchy, rather than tags. Personally, I think tags is easier to understand and more flexible (a benchmark could be associated with multiple tags).

Linguagem predominante
Python
Estrelas
1k
Forks
203
Merge médio
1h 20min
PRs com merge (30d)
2

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de python/pyperformance

Todas as issues de python/pyperformance

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.