I am trying to find what speciality of lambda makes it different from conventional method. To find time consumption between lambda expression and Anonymous class, i have created a sample code and found that the time consumption of lambda is too high. Am i correct?
public class Test {
    public static void main(String[] args) {
        long str = System.nanoTime();
        usingLambda();
        long end = System.nanoTime();
        System.out.println("Differnce: usingLambda: " + (end - str) + "ns");
        long str2 = System.nanoTime();
        usingAnonymousClass();
        long end2 = System.nanoTime();
        System.out.println("Differnce usingAnonymousClass: " + (end2 - str2) + "ns");
    }
    private static void usingLambda() {
        Messagable lambda = () -> {
            System.out.println("Test.callByLambda()");
        };
        lambda.sendMessage();
    }
    private static void usingAnonymousClass() {
        Messagable anonymous = new Messagable() {
            @Override
            public void sendMessage() {
                System.out.println("Test.usingAnonymousClass()");
            }
        };
        anonymous.sendMessage();
    }
}
interface Messagable {
    public void sendMessage();
}
Output: 
ParallelArraySorting.callByLambda()
Difference: usingLambda: 46650876ns
ParallelArraySorting.usingAnonymousClass()
Difference usingAnonymousClass: 447249ns
