почти секунда? Ого, у меня десяток миллионов в дереве за 120 мсек на тестах выводились с отсечкой (считай тот-же select) :)))
Что-то я передумал свой псевдодатасет-массив в паблик выкладывать :)
Ну у меня то не было датасета, я ручками фильтровал по старинке есесно. Просто как пример сколько будет занимать ручками и через RTTI
Ну у меня тоже не датасет, а типа динамический массив на основе TList с динамическими полями. Но загрузить 10млн записей менее чем за секунду - у меня нереально. Впрочем, нужно сделать тест. И рабочий вариант у меня с NULL не обучен работать.
Неее, загрузить есесно больше, я про фильрацию, у меня это делалось за один проход, создается второй массив в который просто складываются Index элементов подпадающих под фильтр. Допустим у тебя 10 мульенов записей, ищешь те которые допустим актуальны сегодняшней дате, просто за O(1) пробегаешь по всем и у тебя на руках массив из допустим трех элементов первый, сотый и миллионный. Вот ты идешь по этому индексному массиву и по индексу вытягиваешь что у тебя сейчас должно отобразиться, никаких лишних телодвижений и есесно это максимально быстро
а если у тебя все записи попадают под фильтр))
А что, можно как-то по другому фильтровать?
Если отображение виртуальным гридом или деревом - какая разница сколько попадают под фильтр?
ну он за один проход складывает индексы в второй массив. вот мне интересно что делать если этого массива не хватает - простой пример все записи проходят через фильтр
скорость съедят реаллокации
Вот поэтому я и передумал выкладывать в паблик :)
Конечно- через ртти как Саня 😂
Это если список использовать, я же сказал про массив, там всего две реаллокации, первичная и финальная
Обсуждают сегодня