Скорее всего, ответ не имеет значения , каким образом вы делаете это с точки зрения производительности. (И никто не сможет печатать со скоростью 2,5 Мб в секунду на консоли!)
Если при чтении из консоли вы включаете все, что происходит на уровне ОС и в других местах, порядков будет потрачено больше циклов ЦП на получение байтов от пользователя, набирающего текст на консоли, чем провел разбор символов. Если вы читаете из файла (через stdin), мы больше не говорим о разнице порядков, но я все равно был бы удивлен, если бы эти два подхода были существенно различны ... в целом.
Но лучшее, что вы можете сделать, это попробовать . Не нужно больше нескольких минут, чтобы написать тест, который приблизительно соответствует тому, что вы делаете, и посмотреть, какая альтернатива быстрее ... и на сколько. (Убедитесь, что вы измеряете общее истекшее время, а не только процессорное время пользовательского пространства для приложения Java.)