Alguém pode me dizer o processo por trás disso que torna o processamento tão lento?
Pq o mesmo não acontece com classe anônimas? Vale apena abrir mão dessa diferença pra deixar o projeto mais limpo? Não sei se o método que usei pra checar essa diferença é preciso
Pode postar o código completo (em texto, não imagens)? Tanto do Runnable lambda quanto do código com classes anônimas. Pois, sem ver tudo o que seu código está fazendo, é difícil tentar explicar a causa dessa diferença.
mas no geral é só isso mesmo, ele só carrega isso. fiz alguns processos e cronometrei em cada ponto, mas onde tá a maior diferença é na hora de gera o lambda
Esse código está funcional (ou seja, roda normalmente)? Se sim, tente colocá-lo no Ideone, para vermos rodando.
O método run do seu Runnable não faz nada, e o Runnable em si não é usado em parte alguma. Não diria que esses códigos são equivalentes, então comparar o tempo de cada um não parece correto.
Pode ser que exista mesmo um custo ligeiramente maior em usar lambda, pois são coisas distintas na JVM. Fiz um teste grosseiro (estou enferrujado em Java) e, apesar de haver uma diferença, não a achei tão significativa. Veja neste link: https://ideone.com/36wEdq
o run não faz nada de propósito, ele precisava ser declarado por implementar Runnable. fiz o esse lambda sem método só pra ver se o tempo era alterado pra executar o método dentro do lambda, mas como pode ver só de declarar o lambda ele da esse delay.