1d20Um d20
- @erpg/dicecore9.180 rolagens / amostra27.853 ops/s
- @dice-roller/rpg-dice-roller23.642 rolagens / amostra154.642 ops/s
- @randsum/roller27.926 rolagens / amostra108.360 ops/s
- dice-roller-parser84.289 rolagens / amostra317.270 ops/s
ERPG Dice / Benchmarks
Compare recursos e velocidade de rolagens completas nas mesmas expressões. Cada taxa vem de um teste reproduzível com limites explícitos.
Nos cinco cenários simples de velocidade, as bibliotecas comparadas foram mais rápidas. O número acima é uma mediana medida, não uma alegação de liderança de mercado. Resultados e limites abaixo.
01 / Recursos
Dice Core une notação expressiva a resultados de sistemas e a um journal de eventos estruturado. A tabela compara APIs documentadas sem tratar contratos diferentes como equivalentes.
| Recurso | Dice Core v3.7.1 | RPG Dice Roller ↗ | RANDSUM ↗ | Dice Roller Parser ↗ |
|---|---|---|---|---|
| Notação | Expressões avançadas e APIs para quatro sistemas | Notação extensa de dados | RDN nível 4; 19 modificadores | Notação no estilo Roll20 |
| Fonte aleatória | Crypto por padrão; seed e replay vinculado ao plano | Math.random padrão; crypto ou MT com seed configuráveis | randomFn próprio para RNG com seed ou crypto | Math.random padrão; função aleatória injetável |
| Contrato do resultado | Dados, grupos, journal de eventos e metadados de replay | Resultados e histórico de rolagens | Dados iniciais e finais com descrições | Objeto de resultado e API de parsing separada |
A coluna do Core descreve a v3.7.1. As descrições dos concorrentes vêm de suas APIs públicas e podem evoluir independentemente das versões fixadas no teste de velocidade.
02 / Dice Core · Velocidade
Cada operação chama a API pública com a mesma expressão e lê o total. Caches internos permanecem ativos. Maior é mais rápido; as barras usam a mesma escala dentro de cada cenário.
1d202d6+34d6kh3RANDSUM usa a sintaxe equivalente 4d6L para descartar o menor dado.
10d63d8+2d6Medido em 24 de setembro de 2026 · AMD Ryzen 5 5500 · Node.js v24.18.0 · win32 10.0.26200 (x64)
03 / Método
Fixamos as versões e testamos apenas notações compreendidas por todos os motores. Cada cenário passou por aquecimento, checagem de resultados válidos e sete medições. As iterações foram calibradas por pacote para cerca de 250 ms por amostra. A mediana é o número publicado.
cd scripts/benchmarks
npm ci
npm run benchO comando reescreve results.json. A medição das rolagens não usa rede, GPU nem navegador.
Baixar dados brutos ↗04 / Dice Core
Estes experimentos separados mostram como compilação e fonte aleatória afetam a mesma rolagem 4d6kh3. Eles não entram no ranking de mercado porque mudam a operação ou a aleatoriedade.
Compila 4d6kh3 fora do trecho cronometrado; executa o plano com a fonte aleatória padrão.
Usa a expressão em cache e evita obter uma nova seed criptográfica. A seed é repetida: o resultado é determinístico, sem sorteios independentes.
05 / Como interpretar
O resultado completo do Dice Core inclui dados estruturados, grupos, histórico de eventos e metadados de replay. Os pacotes comparados retornam objetos diferentes. Dice Core usa cache para uma notação repetida após aquecimento. O teste usa a API padrão de cada pacote e lê só o total; não equaliza profundidade dos resultados, cache, recursos nem custo das fontes aleatórias.
Chamadas repetidas às APIs públicas de rolagem em Node.js para cinco expressões comuns e limitadas.
Navegador, carregamento do pacote, memória, rolagens grandes ou explosivas, regras específicas de sistemas e frames 3D do Dice View.
Dice Core usa crypto.getRandomValues por padrão. Cada pacote comparado usa seu próprio padrão. Isso afeta o tempo.
Dice Core sustentou dezenas de milhares de rolagens completas por segundo aqui, enquanto as três bibliotecas comparadas lideraram estes testes básicos de velocidade. Escolha um motor pelas regras, pelo resultado e pela integração que seu jogo exige.
06 / Fontes
O método completo e a implementação estão em scripts/benchmarks/README.md e benchmark.mjs no repositório deste site.
EM USO
Compare os números e descubra onde as bibliotecas aparecem em experiências de RPG.