Linguagem de script para linguagem compilada ou linguagem compilada pura, qual é mais rápida?[fechado]

StackOverflow https://stackoverflow.com//questions/23044498

Pergunta

Recentemente, codifiquei um aplicativo em jruby, criei um arquivo .jar a partir dele e o implantei no Tomcat.Também li um artigo sobre jruby que diz "Jruby- escalabilidade de java e facilidade de ruby".

Aqui eu quero saber se a codificação como essa em jruby oferece a mesma escalabilidade e desempenho que a codificação direta em java?

Assim, usar a extensão Ruby para executar o código C em Ruby oferece o mesmo desempenho que a codificação direta em C.

Obrigado

Foi útil?

Solução

(Isenção de responsabilidade:esta pode não ser uma resposta completa, mas foi muito longo para um comentário)

Embora eu não tenha quase nenhuma experiência com a implementação do JRuby em particular, as linguagens dinâmicas implementadas na JVM têm suas limitações em termos de velocidade que você pode obter em comparação com o que obteria se codificasse diretamente em Java.

Pelo que entendi, isso vem das compensações nas implementações da linguagem do cliente (JRuby, Clojure, Jython, etc.) precisam fazer, para "simular" seu funcionamento interno na plataforma host (neste caso, o JVM).Talvez nos cenários mais comuns a diferença de desempenho não seja tão ruim já que as otimizações HotSpot da JVM entram em ação, mas quando se trata de obter desempenho de código semelhante ao Java, talvez seja necessário mergulhar nos detalhes da implementação da linguagem para contornar algumas de suas limitações.

No caso do Rubi extensões em C, o que você está realmente executando é o código nativo (linguagem de máquina) que foi originalmente codificado em C, mas que você pode chamar a partir do seu código Ruby.Ao correr JRuby código, a linguagem em que você está programando é Rubi, que deve ser compilado para Java bytecode, que é executado no JVM, que traduz isso em operações no sistema operacional nativo.Algo análogo a Rubi/C seria neste caso JRuby/Java, isso seria chamar alguns Java código, que foi originalmente escrito em Java de você JRuby programa.

EDITAR

Esse discussão menciona alguns dos pontos que incluí acima e uma explicação mais detalhada sobre alguns outros pontos interessantes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top