|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Andrew Kant 2:469/83.1 07 Dec 2007 13:50:10 To : Sergey Khvatov Subject : sed & awk -------------------------------------------------------------------------------- Friday December 07 2007 10:51, Sergey Khvatov wrote to Alexey Vissarionov: AS>>> Ребят, нужна достаточно срочная помощь... Имеется самописный AS>>> скрипт на bash, sed и awk, который парсит текстовый файл (вывод с AS>>> sql) и его надо превратить в некую болванку csv (как после Excel). AS>>> Так вот этот скриптик хорошо работает на маленьких файлах, а вот AS>>> как загружаем в него нечто большое и писец. А дело в том, что он в AS>>> цикле заполняет массив bash строками, налету фильтруя их sed и AS>>> awk. AV>> Для подобных действий существует perl. SK> В целом правильно - только с таким объёмом данных будет ещё медленнее. SK> Сложно что-либо советовать, но 20 MB данных в текстовом файле - это уже SK> плохо. Вероятно их надо изначально складывать в БД, чтобы потом таких SK> странных задач не возникало. 20MB (неважно текстовых или нет) данных - это для текущих ситуаций МИЗЕР ! Если тормозит - значит лажа в самом алгоритме обработки. Такой объем засасывается в ОП и из неё просто не выходит, дальше только работа процессора, и если тебе современный проц тормозит, значит что-то где-то используется неправильно. Циклы вложенные или еще что-то - сам дальше ищи, раз не показал что именно ты делаешь. PS вот смотрю на стоящий рядом сервак, так он пару десятков милионов записей (что-то около 4ГБ) один раз при загрузке в память закачал и так и держит, дисковая нагрузка (на чтение) практически нулевая, любые запросы, требующие fullscan этой таблички, меньше чем за секунду проходят. А ты - 20мб ... Good bye! Andrew --- GoldED+/W32 1.1.4.7 * Origin: * KAA * (2:469/83.1) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/2289475927e6.html, оценка из 5, голосов 10
|