Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
#1

Производительность DLL - C++

30.07.2012, 12:29. Просмотров 409. Ответов 6
Метки нет (Все метки)

Привет всем, у меня вопрос по производительности подключения DLL-ки по сравнению с чтением из файла.

В программе использую небольшую бд (набор массивов "std::vector<>"), которые один раз заполняю, а после вытягиваю из них данные. Для этого сделал класс интерфейс.
Поскольку запись данных типа vector<> в файл нужно реализовывать отдельно. Придумал сделать dll-ку в которой сохранить всю структуру класса бд и один глобальный константный объект.

Суть вопроса: что будет быстрее работать использование dll-ки (посредством ::LoadLibrary() получить указатель на константный объект) или сохранять этот объект в файл и подгружать из файла.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
7065 / 5242 / 262
Регистрация: 10.12.2010
Сообщений: 23,062
Записей в блоге: 17
30.07.2012, 15:50     Производительность DLL #2
А как вы собираетесь изменять данные БД если она будет в DLL и вообще какой смысл использования DLL ?
FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
30.07.2012, 16:17  [ТС]     Производительность DLL #3
Изменять данные я как раз и не хочу. Т.е. буду только один раз при сборке DLL.
БД у меня "константная".

Цитата Сообщение от Avazart Посмотреть сообщение
и вообще какой смысл использования DLL
Смысл в том, чтобы не заморачиматься с записью отдельно каждого элемента в файл, а сохранить целиком весь объект.

Может я не прав. Потому и задал вопрос.
Avazart
7065 / 5242 / 262
Регистрация: 10.12.2010
Сообщений: 23,062
Записей в блоге: 17
30.07.2012, 16:19     Производительность DLL #4
Почему не вписать в ресурсы или тупо "впечатать" в программу?
FireNovel
150 / 73 / 8
Регистрация: 09.04.2010
Сообщений: 297
30.07.2012, 16:40  [ТС]     Производительность DLL #5
Цитата Сообщение от Avazart Посмотреть сообщение
или тупо "впечатать" в программу
это можно, но...
Хотелось бы повторно использовать эту длл-ку. т.к. она будет вызываться несколькими программками.
По-моему в этом случае длл будет загружена все один раз. Поэтому и встал вопрос, что будет быстрее один раз загрузить длл или несколько раз из данные из файла?
Avazart
7065 / 5242 / 262
Регистрация: 10.12.2010
Сообщений: 23,062
Записей в блоге: 17
30.07.2012, 16:49     Производительность DLL #6
т.к. она будет вызываться несколькими программками.
В таком случае да есть смысл.

Наверное рациональность использования будет зависить от размера файла.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.07.2012, 19:30     Производительность DLL
Еще ссылки по теме:

C++ Вычислить суточную производительность каждого полимера
C++ Производительность контейнеров stl для игры
Производительность многопоточности C++
C++ копирование строк, производительность
C++ Сравнительная производительность при использовании синонима или наследования

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
30.07.2012, 19:30     Производительность DLL #7
Цитата Сообщение от FireNovel Посмотреть сообщение
а сохранить целиком весь объект
Используй сериализацию. Вариант с файлом более гибкий, чем с dll, но dll легко упаковать PePack'ом или аналогичной программой. Если размер объекта большой, то можно вообще не загружать его в память, а использовать отображение файла в память.
Yandex
Объявления
30.07.2012, 19:30     Производительность DLL
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru