Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.005 c
2-1234501149
Гарик
2009-02-13 07:59
2009.04.05
OnShow(self)


15-1233954904
Юрий
2009-02-07 00:15
2009.04.05
С днем рождения ! 7 февраля 2009 суббота


15-1233890280
Городской Шаман
2009-02-06 06:18
2009.04.05
А кто-то ругал ЕГЭ.


3-1217827688
Xmen
2008-08-04 09:28
2009.04.05
Соединение с FireBird


2-1234471261
Krozzz
2009-02-12 23:41
2009.04.05
Как считать данные из компонента Edit? (API)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский