Почему Scanner медленнее, чем BufferedReader, при чтении с ввода?

Я понимаю, для чего нужен Scanner, а также когда использовать Scanner и когда BufferedReader. Я прочитал другой, но в некотором термине похожий вопросСканер против BufferedReader

Почему сканер такой медленный, когда я читаю со входа? Я предполагаю, что это связано с тем, что в Scanner есть небольшой буфер, но здесь я потерялся. Исходная проблема от,Codechef , но я не заинтересован в этом решении.

Вот пример кода с заданным вводом: Вход:

$7Сканер против BufferedReader8$966369799999961

И код

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] s = br.readLine().split(" "); 
        int numberOfLines = Integer.parseInt(s[0]);
        int divideNumber = Integer.parseInt(s[1]);
        int count = 0;

        for (int i = 0; i < numberOfLines; i++) {
            String number = br.readLine();
            if (number.length() < 11) {
                int num = Integer.parseInt(number);
                if (num % divideNumber == 0) {
                    count++;
                }
            } 
        }
        System.out.println(count);
    }
}

Если я читаю тот же код со сканером, это медленно.

Ответы на вопрос(5)

Ваш ответ на вопрос