I may assume that the question is about Imperative vs. Declarative programming in Java.
Because lambda/method reference can be compared only to anonymous class performance.
They take different steps before execution:
Lambda      vs    Anonymous Class
linkage           class loading
capture           instantiation
invocation        invocation
Overall benchmarks show that lambda is a bit faster with "hot" benchmarks and significant faster with "cold" benchmarks.
Regarding complex methods and collections processing there is no overall performance benchmarks like X is faster than Y. 
You should specify a case to compare performance benchmarks, in some cases classic approach can work faster, in some case - functional. I may assume that in most cases classic approach will work faster, especially when working with mutable objects. 
But it's much easier to process a collection in a parallel way with functional style. Streams are lazily-executed, what its an advantage.
It's very good feature that Java supports functional programming, streams and lambdas, but they are not silver bullet. Use them wisely.