Доделал наконец, просто решил потренироваться на какой-нибудь задаче. Решил посчитать кол-во одиннаковых слов в книге мастер и маргарита. Написал сначала всё в тупую через
FIle.read и выполнение этой операции занимает 344 секунды. Начал читать что ещё есть, нашёл про Stream и написал ещё одну функцию которая точно так же считает кол-во повторяющихся слов, только теперь она это делает за 1-2 секунды. Пытаюсь понять как работает Stream и всё не до коца осознаю, ведь ему всё равно прийдётся считать весь файл, так почему это быстрее? Он как-то частично его порциями считывает и не ждёт когда считает весь?