powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
25 сообщений из 39, страница 1 из 2
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612562
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Список DataSet'ов

1. TJvMemoryData
Разработчик: сообщество JEDI Visual Component Library (JCL + JVCL)
JCL (версия 2.8)
JVCL (версия 3.50)
Официальный сайт: http://jvcl.delphi-jedi.org/

2. TMemTableEh
Разработчик: EhLib
Версия: 9.0.040
Официальный сайт: http://www.ehlib.com/

3. TdxMemData
Разработчик: DevExpress
Версия: 15.2.2
Официальный сайт: https://www.devexpress.com/

4. TkbmMemTable
Разработчки: Components4Developers
Версия: 7.74.00 Professional Edition
Официальный сайт: http://www.components4developers.com/

Параметры сравнения DataSet'ов
1. Вставка записей
2. Сортировка записей

Более подробно в моей статье https://geektimes.ru/post/298725/
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612563
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, пост здесь: https://geektimes.ru/post/298893/
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612568
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612570
qwertEHOK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а DevExpress и EhLib разве не платные?
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612584
edruzenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
после фразы
"Но воспользоваться TkbmMemTable можно только с Delphi XE2."
доверие к замерам сильно упало
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612608
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwertEHOK, только JvMemoryData - бесплатный DataSet
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612613
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235,

Раньше работал с TClientDataSet .

Потом один проект был, где нужена была поддержка SQL, воспользовался TSQLMemTable ( http://www.aidaim.com/in-memory_sql_database_delphi.htm )

В последние годы для простых случаев пользуюсь TVirtualTable ( https://www.devart.com/virtualdac )

Странно, что два последних в сравнение не включили. Вроде известные компоненты.
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612615
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
Кстати, вроде бы есть еще возможность для этих целей воспользоватьСя SQLite'ом. Если не ошибаюсь, именно таким был in-memory Dataset в AnyDAC'e
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612626
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнСтранно, что два последних в сравнение не включили. Вроде известные компоненты.
Не слышал о таких DataSet'ах, посмотрю. Devart точно должен качественный продукт сделать.
Возможно в будущем напишу более развернутую статью. Так же нужно подумать как расширить
список требований для сравнения.
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612627
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странное сравнение.

В нем отсутствует референс. TClientDataSet.
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612628
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и TFDMemTable неплохо было-бы добавить.
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612629
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Express edition of TVirtualTable and TVirtualDataSet от Devart еще и бесплатные
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612646
qwertEHOK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а так же неплохо бы увидеть код и добавить еще 1-2 СУБД
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612652
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
qwertEHOKа так же неплохо бы увидеть код и добавить еще 1-2 СУБД

Скорость работы с СУБД не рассматривается
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612656
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнTSQLMemTable ( http://www.aidaim.com/in-memory_sql_database_delphi.htm) Посмотрел этот DataSet
1. Метод LoadFromDataSet отсутствует
2. Ручная загрузка данных около 6,8 сек
3. Метода для сортировки данных нет
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612667
scorpion235
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кроик СемёнTVirtualTable ( https://www.devart.com/virtualdac)
Поставил этот компонент, метода LoadFromDataSet нет, методов для сортровки полей нет.
Судя по описанию компонент не особо подходит для загрузки данных из базы данных:
The TVirtualDataSet component is data wrapper that doesn't store data in memory and interacts
with data using event handlers. It allows to represent arbitrary data (arrays, lists, objects, etc.)
as TDataSet descendants and link it with any DB-aware components to display data or modify it.
В демках этот компонент отображает данные из TList
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612674
чччД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235,

а какова цель исследования? Ну, вот компонент А быстрее чем компонент Б, выяснили. И что?
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612683
Фотография Кроик Семён
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235Кроик СемёнTSQLMemTable ( http://www.aidaim.com/in-memory_sql_database_delphi.htm) Посмотрел этот DataSet
1. Метод LoadFromDataSet отсутствует
2. Ручная загрузка данных около 6,8 сек
3. Метода для сортировки данных нет

Есть у него всё. По-другому только называется.
А что насчет сортировки, он же SQL!
Т.е. работает select * from ... order by
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612685
ma1tus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235Кроик СемёнTVirtualTable ( https://www.devart.com/virtualdac)
Поставил этот компонент, метода LoadFromDataSet нет Assign

scorpion235методов для сортровки полей нет IndexFieldNames

scorpion235Судя по описанию компонент не особо подходит для загрузки данных из базы данных:
The TVirtualDataSet component is data wrapper that doesn't store data in memory and interacts
with data using event handlers. It allows to represent arbitrary data (arrays, lists, objects, etc.)
as TDataSet descendants and link it with any DB-aware components to display data or modify it.
В демках этот компонент отображает данные из TListЭто другой компонент.
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612686
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235Судя по описанию компонент не особо подходит для загрузки данных из базы данныхВек живи - век учись.
Оказывается, никогда бы не подумал, MemDataset'ы нужны для загрузки данных из БД.
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612688
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YuRockникогда бы не подумал, MemDataset'ы нужны для загрузки данных из БД.

Ну это модно, стильно, молодёжно. Прогревает процессор и пожирает память, чем ускоряет
гибель человечества и обновление парка компьютеров на предприятии.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39612711
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovВсе они проигрывают простому array of record.

Дегтярев Евгенийпузомерка
если уменьшить кол-во данных в 10-100 раз, то разница во времени для пользунов станет сильно не существенна
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39613247
vavan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у арефьева есть проект-бенч для насилования датасетов. в свое время довертел свой cds/vmidas что он на некоторых задачах обгонял лидера kbmmt
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39613335
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я понял! (С)

это новый адепт секты свидетелей Вострикова...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
    #39613435
Cheese)))
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scorpion235,

автор2. TMemTableEh
Разработчик: EhLib
Версия: 9.0.040
Старая У вас версия, вы бы свежую взяли, там чутка ускорили убрав FindField на каждую запись из LoadFromDataSet. Нужно еще отказаться от инциализации кэша фиелдов если записей нет и тогда будет более оптимально.

Сортировка могла бы быть быстрее если бы например дважды каждое значение не проверяли бы функциями IsEmpty, IsNull - я указал Диме об этом, но он более важными вещами занят.

По моем тестам TVirtualDataSet уделывает EhLib раз в 10 по скорости, что печалит меня.
...
Рейтинг: 0 / 0
25 сообщений из 39, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Delphi: самый быстрый DataSet (TJvMemoryData, TMemTableEh, TdxMemData, TkbmMemTable)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]