Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Comparativo de desempenho

Boa noite. Durante as aulas foi falado que a programação funcional trabalha muito bem com coleções. Sabendo que podemos empacotar o programa em clojure em um jar e usa-lo direto na JVM, há ganho de desempenho em relação ao Java na tratativa coleções se utilizarmos um projeto clojure empacotado?

1 resposta
solução!

Fala aí Samuel, tudo bem?

O Clojure pode ter implementações nas estruturas de dados mais eficiente do que as de Java. (Lista, Mapas e demais coleções).

Mas tanto em Java quanto e Clojure após compilado, será gerado um bytecode (não necessáriamente igual) e em ambos os casos o JIT (Just -in-time compilation) vai agir sobre o bytecode otimizando o código de acordo com os pontos quentes.

Recursão tende a ser um ponto quente pois ele é executado várias vezes. Logo o JIT tende a agir mais rápido nelas.

Como linguagens funcionais tem essa característica de ter muita recursão, talvez tenha um pouco mais de ganho com o JIT.

Espero ter ajudado.