при вменяемом размере файла (мегабайты, а не гигабайты) скорее всего быстрее будет как раз считать его в память один раз, и дальше обрабатывать
чтение чанками связано с размером файла, и никак не связано с рамером кеша процессора
заполнением кешей программист не управляет, а оптимизация заключается в выравнивании структур в памяти и в правильном обходе этой памяти (идти последовательно, а не перескакивая участки и возвращаясь)
А что на счет того что бы написать на асме такую штуку? Ведь все именно так и оптимизировано, SQL например и их оконные функции, все низкоуровневое что работает с данными. Про питон я написал, что "я, если не ошибаюсь, в питоне есть какие то такие функции"