Если оперативная память не вызывает беспокойства (у меня близко к 200 ГБ на сервере), читается по очереди быстрее или читает все в ОЗУ и получает к ней доступ? Каждая строка будет содержать строку порядка 200-500 символов юникода. Для каждого файла имеется около 2 миллионов строк.
Линия за линией
import codecs
for i in codecs.open('unicodefile','r','utf8'):
print i
Чтение в оперативную память
import codecs
for i in codecs.open('unicodefile','r','utf8').readlines():
print i