|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Nicolay Varinov 2:5020/400 01 Dec 2006 21:42:01 To : Valentin Davydov Subject : Re: awk vs sql vs sort: промежуточные результаты -------------------------------------------------------------------------------- Keywords: Valentin Davydov пишет: VD>> From: Slawa Olhovchenkov <Slawa.Olhovchenkov@f500.n5030.z2.fidonet.org> VD>> Date: Thu, 30 Nov 2006 17:19:52 +0300 VD>> VD>> >> VD> Когда (и если - мало ли на какие ограничения он может наткнуться) awk VD>> >> VD> закончит свою работу, я, надеюсь, опубликую более подробные данные. VD>> >> VD>> >> А программу на awk оптимизировать пробовал? Hаписать на нем сначала VD>> >> внешнюю ленточную сортировку, потом результать в один проход агрегировать. VD>> VD>> VD> Я, пока писал вышеотквоченное, ещё решил sort | awk попробовать. Только VD>> VD> ведь сортируй - не сортируй, всё равно промежуточные данные на диск должны VD>> VD> лезть. Правда, с sortом всё не так чисто: при том количестве промежуточных VD>> VD> файлов в $TMPDIR, которые он создаёт, ещё нормально работает dirhash. Hо VD>> VD> чтобы и это проверить, надо не просто много данных, а экспоненциально VD>> VD> много, а у меня такого количества дисков и времени нету. VD>> VD>>Т.е. sort|awk всех порвал? VD> Вот, ночью сосчиталось. Да, порвал в хлам. sort отработал как раз во столько VD> раз быстрее sql-селекта, во сколько раз доступ к диску большими кусками VD> эффективнее случайного. То есть часы вместо суток. В общем, sort очень VD> хорошо заточен под аппаратно-программные особенности реализации файловых VD> систем, и слава Богу, что у него нету доступных юзру для кручения ручек VD> на тему того, что и как делать в $TMPDIR. Что интересно, так это то что на некоторых задачах системные средства дают результат сопоставимый с Что интересно, так это то, что на некоторых задачах системные средства дают результат сопоставимый с всякими awk, perl, sql и тд. Была лет наверно 5-6 лет назад у меня одна программка на perlе, оставшаяся в наследство он предыдущего товарища. Хорошая программка, нормально работающая. Парсила лог tacacsа на месяц и высчитывала деньги, время, трафик по пользователям. Hо основана была на поиска по regexpам perlа по строкам, сколько пользователей было уже не помню, но не много около тысячи, а то и меньше, лог занимал не очень и много вроде даже меньше 100 Мб за месяц . Работало она в то время на чем-то довольно современном, для тех лет, часов примерно 12-16, по данным одного месяца. В какой-то момент была переписана без изменения алгоритма, по большому счету, на использованием системного sortа и grepа результат уменьшение времени ее работы до 15-20 мин и это с полутора десятков часов. Правда поиск был по пользователям каждый раз с начала файла в обеих вариантах. После переноса всего этого дела в sql и при обработке отсортированных по времени данных в один проход sql по сравнению с проходом по тем же данным, но в файле, давал, конечно, выигрыш, но не больше чем в 1.5-2 раза при обработке текстового файла за 2-3 минуты. Правда и размер файла к тому времени вырос в 1ю5-2 раза. Хотя в общем случае это все лирика. VD> Вал. Дав. -- Nicolay Varinov Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru --- ifmail v.2.15dev5.3 * Origin: Talk.ru (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/64883a4f9a4e.html, оценка из 5, голосов 10
|