Skip to content

Benchmarks novos - #22

Merged
leonelsanchesdasilva merged 4 commits into
principalfrom
benchmarks-novos
Mar 30, 2026
Merged

Benchmarks novos#22
leonelsanchesdasilva merged 4 commits into
principalfrom
benchmarks-novos

Conversation

@ItaloCobains

Copy link
Copy Markdown
Collaborator

No description provided.

Três novos benchmarks em C, Rust e Delegua para validar corretude e
performance: crivo de Eratóstenes (escrita intensiva em arrays), soma
de dígitos (loops com divisão e módulo), e Ackermann (recursão aninhada).
…o de entrada

O CreateAlloca para slots temporários de adicionar, fatiar, filtrar e
mapear era emitido no ponto de uso, causando crescimento ilimitado da
stack quando chamado dentro de loops. Move esses allocas para o bloco
de entrada da função via criarAllocaNoBlocoEntrada, reutilizando o
mesmo slot em cada iteração. Restaura o benchmark do crivo para 1M.
…tores

- Benchmark Pontos: cria 1M instâncias de classe Ponto com construtor
  inteiro, chama método distanciaManhattan. Testa compilação de classes.
- Benchmark Árvore BST: insere 300K valores em BST baseada em arrays,
  busca 300K valores sequenciais. Testa manipulação de arrays grandes.
- Corrige passagem de argumentos a construtores de classe: carrega
  valores de VariavelEscopo e converte tipos (i32 ↔ double) conforme
  a assinatura do construtor.
Testa fluxos completos de compilação: GET com leitura de status, corpo
e mensagem; POST com cabeçalho customizado; múltiplos métodos (PUT,
DELETE, PATCH) no mesmo cliente; e encadeamento de respostas entre
chamadas.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Este PR adiciona novos benchmarks (C/Rust/Delégua) e amplia testes/geração de IR do compilador LLVM para cobrir fluxos mais completos e reduzir problemas de alocação em loops.

Changes:

  • Adiciona benchmarks novos (crivo, soma de dígitos, Ackermann, pontos/classes, árvore BST) e integra no runner benchmarks/executar.sh.
  • Expande testes da biblioteca http com cenários de “fluxo completo” de cliente→requisição→resposta→cleanup.
  • Ajusta o CompiladorLLVM para inserir alloca no bloco de entrada e tenta converter argumentos ao chamar construtores.

Reviewed changes

Copilot reviewed 18 out of 18 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
testes/bibliotecas/http.test.ts Novos testes de compilação cobrindo um fluxo completo de uso do módulo http.
fontes/compilador-llvm.ts Mudanças em chamada de construtor (load/conversão de args) e novo helper para alloca no entry block aplicado a métodos de vetor.
benchmarks/executar.sh Inclui novos benchmarks na suíte e valida saída esperada.
benchmarks/somadigitos.rs Benchmark Rust: soma dos dígitos de 1..=10M.
benchmarks/somadigitos.delegua Benchmark Delégua equivalente ao Rust/C.
benchmarks/somadigitos.c Benchmark C equivalente ao Rust/Delégua.
benchmarks/pontos.rs Benchmark Rust com struct e distância Manhattan em 1M iterações.
benchmarks/pontos.delegua Benchmark Delégua com classe/construtor e método.
benchmarks/pontos.c Benchmark C equivalente.
benchmarks/crivo.rs Benchmark Rust: crivo até 1M.
benchmarks/crivo.delegua Benchmark Delégua equivalente.
benchmarks/crivo.c Benchmark C equivalente.
benchmarks/arvore.rs Benchmark Rust: BST com arrays, inserir/buscar.
benchmarks/arvore.delegua Benchmark Delégua equivalente.
benchmarks/arvore.c Benchmark C equivalente.
benchmarks/ackermann.rs Benchmark Rust: Ackermann(3, 11).
benchmarks/ackermann.delegua Benchmark Delégua equivalente.
benchmarks/ackermann.c Benchmark C equivalente.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread fontes/compilador-llvm.ts
Comment thread fontes/compilador-llvm.ts
Comment thread fontes/compilador-llvm.ts

@leonelsanchesdasilva leonelsanchesdasilva left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obrigado!

@leonelsanchesdasilva
leonelsanchesdasilva merged commit f22c084 into principal Mar 30, 2026
6 checks passed
@leonelsanchesdasilva
leonelsanchesdasilva deleted the benchmarks-novos branch March 30, 2026 04:34
leonelsanchesdasilva added a commit that referenced this pull request Mar 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants