Cópia estática
Copiado de docs/evidence/cross-language.md em https://github.com/poppy-team/aipo-lang (MIT). Fixado na revisão ce47c4e070404fc41722ccd8e2b7b808b99062a8, blob 4a79e0f6902f1e6d96f07e56f7f5a11f86e22d27. O repositório de origem permanece canônico; esta cópia é atualizada por um pull request de sincronização, não em tempo real.
O Aipo conta com um harness de benchmark padronizado (aipo-bench --compare) que confronta os tempos de execução e o consumo de memória (Peak RSS) contra linguagens consagradas do ecossistema.
O objetivo é medir o custo real dos workloads equivalentes sem ocultar as diferenças arquiteturais fundamentais entre interpretadores, compiladores JIT e código nativo compilado:
aipo run): Execução completa do processo a frio (leitura de arquivo, lexer, parser, semântica, bytecode e execução).aipo-js executado sobre a engine V8.Todos os benchmarks geram uma soma de controle padronizada no formato checksum:<valor> para garantir que nenhum compilador eliminou trabalho computacional legítimo:
| Workload | Escopo Medido | Objetivo |
|---|---|---|
arithmetic | Loop com chamadas de função e aritmética intensiva | Medir custo básico de despacho e chamadas de frame |
collections | Construção dinâmica e iteração de listas | Custo de alocação no heap e travessia |
fields | 6 campos em structs, mutação e métodos | Acesso a propriedades e despacho monomórfico |
strings | Concatenação incremental ASCII | Gestão de buffers de texto e realocação |
recursion | Cálculo recursivo de Fibonacci(24) | Profundidade de pilha e custo de chamada pura |
startup | Inicialização mínima do processo | Custo de inicialização e carga da stdlib |
Para reproduzir os números medidos em sua própria máquina:
# Compilar os binários em modo release otimizado
cargo build --release -p aipo-cli -p aipo-bench
# Executar a suíte de comparação completa
target/release/aipo-bench --compare --compare-json target/cross-language.json
# Execução rápida (desenvolvimento)
target/release/aipo-bench --compare --compare-quick