@Override
  public void runBenchmark(
      final PrintStream output, final Boolean attemptNative, final String fork) {

    EvmSpecVersion forkVersion = EvmSpecVersion.fromName(fork);

    if (attemptNative != null
        && (!attemptNative || !AbstractAltBnPrecompiledContract.maybeEnableNative())) {
      AbstractAltBnPrecompiledContract.disableNative();
    }
    output.println(
        AbstractAltBnPrecompiledContract.isNative() ? "Native AltBN128" : "Java AltBN128");
    GasCalculator gasCalculator = gasCalculatorForFork(fork);

    benchmarkAdd(output, gasCalculator, forkVersion);
    benchmarkMul(output, gasCalculator, forkVersion);
    benchmarkPairings(output, gasCalculator, forkVersion);
  }
Benchmark AltBN128 add, mul, and pairings with default warmup and iterations
ethereum/evmtool/src/main/java/org/hyperledger/besu/evmtool/benchmarks/AltBN128Benchmark.java