Confira !!
Lukas Larsson, da Erlang Solutions, está propondo o "BeamAsm" como um compilador JIT para a máquina virtual Erlang.
Erlang / OTP poderá em breve ser a linguagem de programação mais recente com um compilador just-in-time. Com o BeamAsm, as instruções Erlang são transformadas em código nativo no x86-64 usando ASMJIT. Embora no momento apenas o x86-64 esteja funcionando, o suporte para ARM de 64 bits também está em obras.
Os resultados de desempenho com BeamAsm para JIT'ing Erlang são bastante impressionantes:
Por exemplo, o número de Estones calculado pelo conjunto de benchmarks estone torna-se cerca de 50% maior, o que significa que cerca de 50% mais trabalho pode ser feito durante o mesmo período. Os benchmarks individuais dentro do pacote de benchmarks estone variam de um aumento de 170% (correspondência de padrões) a nenhuma mudança (mensagens enormes). Portanto, não é surpreendente que a carga de trabalho pesada de computação possa mostrar um ganho bastante grande, enquanto as cargas de trabalho pesadas de comunicação permanecem praticamente as mesmas.
Se executarmos os benchmarks JSON encontrados no Poison ou Jason, o BeamAsm atinge qualquer aumento de 30% a 130% (média em cerca de 70%) no número de iterações por segundo para todas as implementações Erlang / Elixir. Para alguns benchmarks, o BeamAsm é ainda mais rápido do que a implementação em C puro imediatamente.
Os aplicativos mais complexos tendem a ter um aumento de desempenho mais moderado, por exemplo, RabbitMQ é capaz de lidar com 30% a 50% mais mensagens por segundo dependendo do cenário.
Embora tenha o potencial de ser muito mais rápido, o JIT'ed Erlang usa mais memória do sistema (cerca de 10%) em comparação com seu intérprete tradicional.
Mais detalhes sobre o suporte just-in-time do BeamAsm por meio desta solicitação de extração .
Até a próxima !!
Nenhum comentário:
Postar um comentário