AZJIO

Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Condar Тут явно речь не про рег.выр. а то что проблема с большим файлом. Когда идёт обработка ему надо формировать результат, который будет подменён. И видимо если замена происходит со средины, то начало берётся как есть, а изменяемая часть берётся от начала изменения, естественно тот кусок становится меньше и памяти тратится меньше. Для точности скажи размер файла, не строк, строки могут быть короткими 0 символов и длинными 4000 символов, соответственно размер от 1Мб до 4 Гб. Открой диспетчер задач или AnVir Task Manager сортируй процессы по занимаемой памяти и посмотри сколько процесс тратит памяти. У 32-битного процесса ограничение 2 Гб на процесс. Попробуй Hex-редактор, если ты заменяешь текст, размер которого совпадает с размером заменямой части, то есть можно заменить поверх, не выделяя память, то возможно он сделает замены оптимизировано, даже не открывая весь файл в память, а только загружая кусками, ведь Hex-редакторы обычно не загружают файл в память, а только показывают просматриваемый участок. | Всего записей: 4698 | Зарегистр. 03-05-2006 | Отправлено: 11:16 07-12-2022 | Исправлено: AZJIO, 11:20 07-12-2022 |
|