Para maior clareza, reduzi o código para focar na saída do compilador:
Aqui está o IR gerado:
Como você pode ver, os parâmetros agora são constantes.A assembléia reflete
Esta otimização:
É um loop apertado, desprovido de chamadas de função, assim como esperávamos.Você pode estar perguntando: “Dado que Hermes estático foi projetado para aproveitar as anotações do tipo, por que não as usamos nesta referência?”Boa pergunta.Agora, vamos examinar o impacto da compilação nativa:
Bem, isso é um pouco assombroso.Não se destina a ser
Uma introdução sistemática ao design estático de Hermes.Considere mais como um backstage
Passe para as peculiaridades, recursos e “Aha!”Momentos que tornam Hermes estático único.
Fonte: https://tmikov.blogspot.com/2023/09/how-to-speed-up-micro-benchmark-300x.html