Форум: "Начинающим";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
ВнизTStringList и sorted... Найти похожие ветки
← →
istok2 (2009-02-10 18:25) [0]вопрос по TStringList :
LoadFromFile занимает значительное время при предустановленном sorted = true, что и понятно.
но - если файл уже отсортирован заранее, можно как-то сделать загрузку быстрее? а то кажется что там лишние действия в таком случае происходят (сортирует то что уже отсортировано)..
← →
Сергей М. © (2009-02-10 19:03) [1]
> при предустановленном sorted = true
Так отключи же предустановку - и всех делов)
← →
istok2 (2009-02-10 22:12) [2]
> Так отключи же предустановку - и всех делов)
так мне нужна работа именно с отсортированным TStringList
← →
Сергей М. © (2009-02-10 22:19) [3]
> так мне нужна работа именно с отсортированным TStringList
Так он у тебя и будет отсортирован сразу после загрузки уже отсортированных данных !
Чего еще надо-то ?
← →
Германн © (2009-02-11 00:56) [4]
> tok2 (10.02.09 22:12) [2]
>
>
> > Так отключи же предустановку - и всех делов)
>
>
> так мне нужна работа именно с отсортированным TStringList
>
Прочитай справку по свойству Sorted. Может что-то поймёшь!?
← →
istok2 (2009-02-11 02:10) [5]
> Чего еще надо-то ?
грузит долго, если данные в файле изначально отсортированы, то по идее можно ж как-то сделать чтоб они грузились быстрее - не?
> Прочитай справку по свойству Sorted. Может что-то поймёшь!
> ?
я понимаю как это работает, меня не устраивает скорость загрузки файла и я ожидаю что есть какие-то методы ее ускорения будь то этот класс или сторонний.
← →
sniknik © (2009-02-11 08:09) [6]> я понимаю как это работает
ой сомневаюсь я что то сильно очень...
>> Так отключи же предустановку - и всех делов)
> так мне нужна работа именно с отсортированным TStringList
так включи сортировку - и всех делов.
не?, не доходит еще? до и так понимающего как это работает...
выключаешь там и тогда когда она не нужна, и включаешь перед тем как понадобится или сразу после того как она станет не "не нужной" и мешающей каким то действиям (например загрузке данных).
p.s. реализация загрузки как догадываюсь там тоже не фунт изюму, с таким пониманием, а свежеизобретенный велосипед.
← →
Сергей М. © (2009-02-11 08:13) [7]
> грузит долго, если данные в файле изначально отсортированы
Если св-во Sorted = False, то сортированность загружаемых данных никак не влияет на скорость загрузки.
← →
Anatoly Podgoretsky © (2009-02-11 09:07) [8]> istok2 (11.02.2009 2:10:05) [5]
А если нет?
← →
istok2 (2009-02-11 12:41) [9]
> Если св-во Sorted = False, то сортированность загружаемых
> данных никак не влияет на скорость загрузки.
Ессно, но стоит выставить его потом в True - и они будут сортироваться то же долгое время.
> выключаешь там и тогда когда она не нужна, и включаешь перед
> тем как понадобится или сразу после того как она станет
> не "не нужной" и мешающей каким то действиям (например загрузке
> данных).
проблема в том что без разницы когда я ее включу - алгоритм всё равно съест приличное время на сортировку.
сортировка в виде sorted := true после loadfromfile ест то же время, что и
с sorted = true перед loadfromfile.
я говорю о том, что моя задача является частным случаем, когда массив данных УЖЕ отсортирован ДО загрузки в TStringList и это дает теоретическую возможность избежать повторной сортировки.
или такой возможности никак нет даже теоретически?
может есть классы какие-то другие, или допилы tstringlist чтоб учитывать такой случай....
← →
istok2 (2009-02-11 12:43) [10]
> p.s. реализация загрузки как догадываюсь там тоже не фунт
> изюму, с таким пониманием, а свежеизобретенный велосипед.
>
LoadFromFile - а есть что-то что не будет вызывать сортировку при sorted=true ?
← →
Сергей М. © (2009-02-11 12:48) [11]
> стоит выставить его потом в True - и они будут сортироваться
> то же долгое время.
Естественно.
Но к собственно к загрузке это не имеет ни малейшего отношения - при этом сортируются уже загруженные данные.
> или допилы tstringlist чтоб учитывать такой случай
"Допил" не составляет труда сделать самостоятельно - метод CustomSort, к счастью, виртуальный, остается объявить своего наследника стринглиста и перекрыть этот метод, реализовав в нем нужное тебе поведение в такой ситуации.
← →
istok2 (2009-02-11 12:57) [12]
> Естественно.
> Но к собственно к загрузке это не имеет ни малейшего отношения
> - при этом сортируются уже загруженные данные.
я с этим и не спорю
> "Допил" не составляет труда сделать самостоятельно - метод
> CustomSort, к счастью, виртуальный, остается объявить своего
> наследника стринглиста и перекрыть этот метод, реализовав
> в нем нужное тебе поведение в такой ситуации.
вот, то что я хотел услышать. спасибо)
← →
Сергей М. © (2009-02-11 13:00) [13]
> то что я хотел услышать
Типа бальзам на истерзанный мозг ?)
Мог бы и сам догадаться, достаточно было проследить по исходникам что происходит при вызове метода Sort
← →
istok2 (2009-02-11 13:04) [14]да вот, этим и занялся параллельно. всё получилось как надо..
спасибо.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.007 c