|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Tarasov Sergej 2:5020/175.2 22 Dec 2000 19:08:43 To : Serge Shikov Subject : Re: сортировка большого хеша -------------------------------------------------------------------------------- Fri Dec 22 2000 12:11, Serge Shikov wrote to All: >> AC> Так оно у него по нехватке памяти падает, какое еще ускорение? >> >> Ya dumayu padat' ono budet dolgo, poka ne budet ispol'zovat'sya >> kakya-nibud' >> shustraya RDBMS, mozhet Postgres ili tot-zhe MySQL. SS> Да, дожили. Ставить СУБД только для сортировки данных - это что-то... Ты SS> про сортировку слиянием когда-нибудь слышал вообще? Полностью согласен, ставить СУБД только для сортировки данных - это уже извращение. Hаверняка можно выкрутиться и с имеющимися ресурсами, только неплохо бы побольше информации о проблеме. Сортировка слиянием - это уже крайний случай, слишком медленно. Можно попытаться сделать так: есть хеш key1 -> val1; key2 -> val2 и т.д. Если не хватает памяти одновременно иметь и хеш и массив, который сортируется, нужно избавиться от хеша. Hапример вытаскивать по одной паре значений из хеша, добавлять их в массив и удалять этот ключ из хеша. В итоге получим массив (val1::key1, val2::key2, ...) или (key1::val2, key2::val2, ...) в зависимости от того, по чему надо сортировать. Теперь у нас в памяти только массив, и можно надеяться, что хватит памяти для сортировки. Затем из этого массива нетрудно восстановить хеш. Hаверняка будет быстрее, чем сортировка слиянием. --- ifmail v.2.15 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/330090db9eda.html, оценка из 5, голосов 10
|