'Bilinear mapping on elliptic curve and scalar multiplication which operation is more efficient

I have used the JPBC library to loop 10000 averages on multiple devices and the test is that the TypeA pairing time is 5.35 ms and the scalar multiplication on the G1 domain is 8.75 ms, but I saw many papers without data, saying bilinear pairing more efficient, why?

my code is as follows :

import it.unisa.dia.gas.jpbc.Element;
import it.unisa.dia.gas.jpbc.Pairing;
import it.unisa.dia.gas.plaf.jpbc.pairing.PairingFactory;

public class test {


    public static void main(String[] args) {
        Pairing pairing = PairingFactory.getPairing("a.properties");
        Element P = pairing.getG1().newRandomElement().getImmutable();
        Element Q = pairing.getG1().newRandomElement().getImmutable();
        Element a = pairing.getZr().newRandomElement().getImmutable();
        long start = System.currentTimeMillis();
        for (int i = 0; i < 10000; i++) P.duplicate().powZn(a.duplicate());
        long end = System.currentTimeMillis();
        System.out.println((end-start)/10000 + "\n");

        start = System.currentTimeMillis();
        for (int i = 0; i < 10000; i++) pairing.pairing(P.duplicate(),Q.duplicate());
        end = System.currentTimeMillis();
        System.out.println((end-start)/10000);
    }
}


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source