linux-BR.org

Notícias de software livre e tecnologias

Esses dados são usados para depuração e relatórios de erros, mas, novamente, somos microbenchmarking e que precisam de depuração de qualquer maneira (Responder: todos, por isso não faça isso na produção).Isso significa que precisamos processar nossos dados como esse: def map ([], _), faça: []

def map ([cabeça | cauda], func) do
[func.Mas isso é microbenchmarking, portanto, como não precisamos de muita memória (porque nossos processos basicamente não fazem nada), podemos reduzi -la.(Cabeça) |mapa (cauda, func)]
fim
Onde construímos a pilha de chamadas (como não podemos ter a otimização de chamadas de cauda, é claro, sem otimizações do compilador).Em vez disso, podemos usar a função de função totalmente qualificada ou a função Spawn/3 que aceita o argumento MFA (módulo, nome da função, lista de argumentos).

Fonte: https://hauleth.dev/post/beam-process-memory-usage/