![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Приветствую!
Есть у меня достаточно большой класс сетки. Можно ли как-нибудь узнать сколько памяти занимает экземпляр этой сетки? Заранее спасибо! |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
sizeof, или подсчитывай сколько выделяешь в new
|
|||
|
||||
RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: нет Всего: 1 |
"Сколько занимает Виндовс? Сколько находит, столько и занимает!"
А по теме...интересно было бы посмотреть на класс сначала. --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Вот класс:
Сетка:
Элемент:
|
||||
|
|||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
Достаточно было привести (не статические) дата-члены, потому что остальное место "в объекте" не занимает (указатель на втабле не расматриваем ![]() разное, так как включает в себя динамические структуры... или интересует минимум ? Это сообщение отредактировал(а) mes - 24.3.2010, 13:27 |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
нет, интересуем всё, со всеми векторами и списками.
![]() Дело в том что сейчас мы используем сетки с 20-25 тыс. элементами, но планируем потом использовать сетки с миллионом элементов. И мне хочется подсчитать сколько оперативки мне понадобится. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
на глаз размер Element`a в "минимальной комплектации" тянет более чем на килобайт. 10 пустых векторов это уже 250-500 байт в зависимости от библиотеки. используя sizeof и зная связи можете самостоятельно сделать приблизительную более точной. или перегрузите new, как советовал GoldFinch.. Это сообщение отредактировал(а) mes - 24.3.2010, 13:44 |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Насчёт перегрузки new? можно по подробнее как это сделать?
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
http://www.bearcave.com/software/c++_mem.html http://www.devx.com/tips/Tip/5608 но мне не совсем понятно что это даст? каким образом будет отличаться память, выделяемая для этого класса, от памяти выделяемого для другого если учесть что |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
что-то я не понял как всё равно мне узнать скока занимает экземпляр места в памяти.
|
|||
|
||||
azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 81 Всего: 211 |
Elfet
Для любого вида объекта - никак, для своего частного случая можешь написать функцию в классе и суммировать (sizeof(*this) + размеры всех динамически выделенных объектов, массивов и контейнеров). |
|||
|
||||
GoldFinch |
|
|||
![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: 15 Всего: 26 |
Elfet, я заметил у вас код сериализации - так сериализуйте в бинарный архив, и посмотрите его размер
|
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
azesmcar, ясно, нужно вручную считать. А нет ли какие-нибудь аппаратных средств которые это бы сделали сами?
GoldFinch, можно было бы и так, только после загрузки сетки создаётся множество данных, которые в сереализацию не попадают. |
|||
|
||||
mes |
|
|||
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
ну так приблизительно оценить можно также по кол-ву занимаемой памяти.. замерьте память при нескольких размерах сетки и на этой основе можно буде сделать приблизительную оценку. |
|||
|
||||
Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
mes, а как её замерить?
![]() ![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |