English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ferramentas online
Ao discutir desempenho, é necessário prestar atenção aos seguintes pontos sobre Erlang. Funs é muito rápido6−Em R7B foi otimizado ainda mais. Em B, Funs foi atribuído seu tipo de dados próprio e em R
uso ++ operador−Correcto uso deste operador. Abaixo estão exemplos de execução++método errado de operação.
-module(helloworld). -export([start/0]). start()-> fun_reverse([H|T]) -> fun_reverse(T)++[H]; fun_reverse([]) -> []
quando++ao copiar seu operando esquerdo, o resultado será copiado novamente, resultando em complexidade quadrática.
usar strings−Se não tratado corretamente, o processamento de strings pode ser lento. No Erlang, você precisa considerar mais como usar strings e escolher a representação apropriada. Se você usar expressões regulares, use re do STDLIB-módulo em vez do módulo regexp obsoleto.
O BEAM é uma máquina virtual de bytecode baseada em pilha−O BEAM é uma máquina virtual baseada em registradores. Ele tem1024um registrador virtual, usado para armazenar valores temporários e passar parâmetros ao chamar funções. As variáveis que precisam sobreviver após a chamada da função são armazenadas na pilha. O BEAM é um interpretador de código de thread. Cada instrução aponta diretamente para uma palavra de código executável em C, tornando a despachada de instruções muito rápida.