![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#12 |
Пользователь
Регистрация: 23.04.2011
Сообщений: 42
|
![]()
Т.е. тогда как понимаю мне остается лишь ElevateDB либо AbsoluteDatabase (якобы как Elevate, бесплатна, но вроде как более медленная), так как в итоге после компиляции будет встроена в exe-шник
Последний раз редактировалось Freimaks; 17.04.2012 в 22:16. |
![]() |
![]() |
![]() |
#13 | |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]() Цитата:
Наверное в вашей ситуации критерий выбора СУБД скорость поиска (т.е. скорость выборки данных). А будет она встраиваться в екзешник или будет лежать рядом с исполняемым в виде нескольких файлов - какая разница. Основной критерий то не в этом. Хорошой сайт sql.ru, где можно и поискать по теме и поспрашивать какая СУБД шустрее в этой ситуации. |
|
![]() |
![]() |
![]() |
#14 | |
Пользователь
Регистрация: 23.04.2011
Сообщений: 42
|
![]() Цитата:
Тогда спрошу чего там посоветуют. Спасибо за советы!!!!! |
|
![]() |
![]() |
![]() |
#15 |
Пользователь
Регистрация: 23.04.2011
Сообщений: 42
|
![]()
Товарищи, прошу помощи в оптимизации того, что я сваял. Чую, что что-то можно сократить, но как это сделать я даже не догадываюсь.
Суть вопроса: можно ли сократить код и есть вероятность что я что-то не так сделал (в плане логики синтаксиса и применения классов\записей). Можно повлиять на скорость чтения\записи, т.к. она в разы ниже чем в родной программе-обработчике (это вообще архипроблема). Подскажите, как полностью вычистить память после отработки каждого файла (пока получается чистить только TDictionary, а вот почистить класс никак не получается). Если кто-то что-нибудь предложит - буду очень рад!!! P.S. Код прикреплен в файлике. Код рабочий, прога выполняет 75% того, что должна делать. |
![]() |
![]() |
![]() |
#16 | |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
В предложенной помойке мало у кого появится желания разбираться.
Попробуйте посмотреть на свой текст как бы со стороны и прикинуть: можно ли вообще чего в нем понять. Выложите нормальный полный код. Файлы .pas, .dfm, dpr. Цитата:
Код:
Где описание класса TDictionary? Если, конечно, это класс. Что означает: "75% того, что должна делать". Как вообще, этот процент определен? Зачем так много конструкторов? Нафига нужна секция published? Где можно увидеть создание класса TBinPoints и обращение к его методам и свойствам? И главное, что должен делать этот код? Это всего лишь предварительные вопросы. |
|
![]() |
![]() |
![]() |
#17 |
Пользователь
Регистрация: 23.04.2011
Сообщений: 42
|
![]()
75% того, что должна делать - это чисто мое определение, т.к. у проги есть 4 основных варианта работы из которых сейчас выполняется 3.
Код:
Нафига нужна секция published? - Вот таких вопросов я и ждал. Дело в том, что я впервые делаю что-то серьезное и первый раз столкнулся с созданием нового класса. Поэтому сделал как в учебниках. 3 конструктора из-за трех видов структур данных (отличаются дополнительными полями). Класс TBinPoints используется вот в этом куске Код:
1. Считываются данные из бинарных файлов с указанной структурой 2. Анализируется наличие дублей (с помощью TDictionary) 3. Формируется отчет и при необходимости записываются очищенные от дублей данные |
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 23.04.2011
Сообщений: 42
|
![]()
Вот полный код
|
![]() |
![]() |
![]() |
#19 | |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
![]()
Увидел битву умов на sql.ru по этому вопросу. Окромя словоблудия никакой помощи. Основные предложения были - применять хеш таблицы.
Предлагающий применять TBucketList как-то не понимает что-ли, что в конечном итоге вся работа выльется в те же два цикла - чтение из файла и проверку на дубликатность. К тому же, TDictionary использует механизм TBucketList. И, собственно, TDictionary - это и есть механизм для создания и манипулирования хеш-таблицами. Может быть без БД будет сложно ускорить дело. Разумеется, это субъективно. Двойная работа по записи и чтению в БД данных и обратно оптимизма не прибавляет, но некоторое утешение в том, что поиск дубликатов может быть быстрее. Хотя, как видится, узкое место здесь чтение и запись в файл. А вот eсли читать (писать) не отдельными структурами, а блоками структур... Или прочесть весь файл в память, а затем уже применять TDictionary... Без реального материала (файла, который анализируется) - это все голое теоритизирование. Цитата:
Код:
В деструкторе класса нельзя использовать глобальные переменные этого же класса. Потому деструктор в классе TBinPoints не нужен - он ничего не делает. Освобождение памяти от объектов корректнее выполнять, вызывая метод Free, а не Destroy. Последний раз редактировалось Прик; 20.04.2012 в 07:51. |
|
![]() |
![]() |
![]() |
#20 |
Пользователь
Регистрация: 23.04.2011
Сообщений: 42
|
![]()
Сегодня попытаюсь сделать чтение файла блоками структур - хотя для этого придется опять углубиться в теорию и учебники.
Ну и ради примера выкладываю 2 файла типовых данных (структура с отметками времени и без цвета). Файл With_thinpoints - содержит сдвоенные данные (кусок), файл Without_thinpoints - каждая точка уникальная. Я все проверил - программа все определяет точно, пишет тоже нормально (правда надо будет узнать влияние сортировки, т.к. точки несортированы вообще никак). http://www.programmersclub.ru/работа...ссивом-данных/ |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с большим количеством текста в String иTextbox | Дмитрий999 | Visual C++ | 0 | 20.02.2012 20:07 |
Вывод данных в excel - массивом данных | sergey113 | Помощь студентам | 4 | 22.08.2011 17:16 |
работа с большим объемом данных | Ckif | Microsoft Office Excel | 1 | 14.09.2010 17:05 |
импорт из txt, работа с массивом данных, экспорт в txt | Danara | Microsoft Office Excel | 4 | 31.03.2010 00:26 |
Метод для управления большим количеством данных | eda | Microsoft Office Excel | 0 | 13.07.2009 10:50 |