Estava fazendo alguns testes com um pequeno serviço que desenvolvi usando vraptor 3.4.1 e percebi que o maior vilão no profiling é o método,org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:584)
O serviço é bem simples, carrega do banco uma entidade muito simples, 3 ou 4 properties nativas mais uma lista de strings, converte para JSON usando e devolve, a conversão é feita usando: result.use(representation()).from(response)
alguém já olhou para isso? o VR pode rodar o o guice, nao? já foi feito algum tipo de comparação?
Eu tenho usado o guice como provider há algum tempo e fiquei bem satisfeito. Faça alguns testes com ele, acredito que ele é bem mais rápido. Digo isso fazendo testes praticos, pois ainda não passei um profiler, nem usei ferramentas para testar isso.
o Guice é bem mais rápido que o Spring e o Pico é um pouco mais rápido que o Guice…
mas os mais rápidos possuem menos funcionalidades…
se vc não usa nenhum submodulo do spring, trocar pra Guice vai melhorar bastante a performance.
Em todo caso Muito obrigado pelo teste!
fiz alguns testes aqui, mudei um pedacinho pequeno do projeto p/ usar guice e rodei alguns testes com o jMeter.
o resultado foi impressionante.
o throughput mudou de 20 req/s p/ 200 req/s (e aqui foi limitado pela rede)
e o 90% line caiu p/ 1/8 do valor (< 10ms)
=D bem melhor mesmo
o spring só é legal se vc for usar os módulos como o Spring transaction, security, etc… se não for usar, vc tá com um canhão pra matar formiguinhas 