Executando verificação de segurança...
2

Não conhecia projetos que usava em prod LuaJIT, interessante! É isso que penso se quiser dá pra usar bash no servidor se você quiser.

Mas eu acho que em "qualquer" linguagem compilada ele iria obter um bom resultado, go por exemplo, zig. (juro que não sou hater de rust, gosto tecnicamente da linguagem)

Mas eles com certeza sabem muito mais do que eu.

Carregando publicação patrocinada...
2

O ponto não era obter somente um bom resultado. Esse bom resultado levou em consideração segurança também, e não só otimização. Nunca toquei em Zig, e por isso não posso afirmar com plenitude, mas pelo o que entendi sobre Zig até hoje, é que Zig previne muitos erros que o C deixa passa.

Acho interessante trabalhar mais nesse "C" deixa passar, porém estaria tangenciado o assunto. No caso do Zig, há a mesma liberdade de C, e por isso pode, seja por n motivos, gerar um problema de segurança, apesar de ser muito moderno e poderosos. Em Rust, o compilador te obriga a lidar com memória de maneira segura, senão nem compila.


Sobre o go, já tem diversos casos que rescrever o Backend em de Go para Rust melhorou a performance. Porém isso depende muito do projeto. No caso da Cloudfire, todo ms conta,e por isso devem ter escolhido Rust e não Go.


Compartilho da surpresa do o LuaJit.

1

Sim, a melhora é real!

Eu disse que poderia ter sido feito em qualquer linguagem que teria retorno, porque de luaJit para qualquer outra coisa e ter bom resultado.

Apesar que pra eles terem ganhado apenas 10ms, usando Rust acho que o código em Lua já era bem inteligente, pois o avanço foi pequeno.

Pequeno em 1 req, mas para cloudflare 2ms já é muita coisa, falo que do que tem agora pra -10 não é tanto por mudar uma lang.

E go perde pra rust por conta do GC, Rust é fora do comum com o modo de liberação de memória.

2

Acredito que a escolha deles foi tomada com base naquele equilíbrio: velocidade+segurança.

Digo isso pois como você comentou, tem linguagens que podem ter ganhos de velocidade maior que Rust como o próprio Zig, porém acho que existe o risco de cair na mesma questão do C e do C++, liberdade demais na hora de escrever o código pode fazer você deixar alguma coisa passar, por melhor programador que seja.

Nesse sentido o Rust te impede de fazer muita coisa e quando voce decide fazer, você precisa explicitamente dizer: quero fazer isso!

Acho que aqui que mora o diferencial no Rust, a parte de segurança fazem dela uma ótima opção quando você quer o equilíbrio de velocidade + segurança, mas se o objetivo for velocidade acho que um Zig vai se sair melhor.

O Go eu nao conheço muito bem, mas também acredito que seria uma boa opção pelo pouco que vi.