Я теперь фактически проверил требования к памяти для использования data.split ('\ n'), re.finditer ('. *? \ N', data) и StringIO.readline () в Jython. Я был удивлен, обнаружив, что split () не увеличивает используемую память (PS Old Gen), StringIO занял второе и третье место.
Jython 2.5.1+:
split() +0 x data
StringIO +2 x data
re +4 x data
Jython 2.2.1:
split() +0 x data
re +2 x data
StringIO +7 x data
StringIO не использовал дополнительную память после вызова .write (), т. Е. Похоже, что он поддерживается той же строкой в Jython.
Я не проверял скорость.