Название: Вопрос, если создать 100500 простых объектов, будет ли тормозить? Отправлено: Макс от Октябрь 20, 2012, 02:05 Я не халтурщик, нужен совет.
Моя курсовая, нужно на плане универа нарисовать кратчайший маршрут от аудитории до аудитории, аудитории соответственно задаются. Проблемма их около 1000, вот если я для каждой аудитории создам простенький, обьект вот такой, не будет ли все это дело тормозить, или жрать метры оперативки? class Node { struct neighbors { Node *neigh1; int dist1; Node *neigh2; int dist2; Node *neigh3; int dist3; Node *neigh4; int dist4; }; public: //filds QString name; int x; int y; neighbors n; //filds Node(QString name, int x, int y, Node* neigh1, Node* neigh2=0, Node* neigh3=0, Node* neigh4=0) { this->name=name; this->x=x; this->y=y; this->n.neigh1=neigh1; this->n.neigh2=neigh2; this->n.neigh3=neigh3; this->n.neigh4=neigh4; } }; Может есть какие-то хранилища специальные не знаю, я на QT вторую неделю только... Раньше кодил на Java немного, там любой класс наследуется от суперкласса, в котором куча своих полей и методов, и там мое решение должно как бы тормозить... P.S Не кидайтесь яблоками, это моя первая тема... Название: Re: Вопрос, если создать 100500 простых объектов, будет ли тормозить? Отправлено: Vass от Октябрь 20, 2012, 07:40 1000 объектов это не 100500, это довольно таки мало
а примерно прикинуть оперативку можно: для 32-битной системы Node *neigh1 - 4; int dist1 - 4; Node *neigh2 - 4; int dist2 - 4; Node *neigh3 - 4; int dist3 - 4; Node *neigh4 - 4; int dist4 - 4; QString name; - ну приблизительно 32 ок? int x - 4; int y - 4; Итого одна нода: 4 +4 +4 +4 +4 +4 +4 +4 +32 +4 +4 = 72 байта, итого 1000 нод 72000 байт, ок, округлим до 100Кб итого 1000 объектов ваших нод займет около 100 Килобайт. Название: Re: Вопрос, если создать 100500 простых объектов, будет ли тормозить? Отправлено: Bepec от Октябрь 20, 2012, 08:17 Если вы посмотрите на примеры Qt, там есть пример ммм... 40000 chips вроде, точно не помню.
Так вот там - имеется 40к элементов с зумом, сдвигом и без тормозов. Так что спокойно можете прикидывать 1к объектов. Название: Re: Вопрос, если создать 100500 простых объектов, будет ли тормозить? Отправлено: Макс от Октябрь 20, 2012, 09:59 Спасибо ребят) нужно больше фундаментальные вещи учить, а времени нет)
Название: Re: Вопрос, если создать 100500 простых объектов, будет ли тормозить? Отправлено: Igors от Октябрь 20, 2012, 10:52 Ну в принципе если "времени нет" то можно и зарезервирoвать по максимуму (4 соседа), для "ребят" хватит. А программист делал бы напр так
Код
Название: Re: Вопрос, если создать 100500 простых объектов, будет ли тормозить? Отправлено: Макс от Октябрь 20, 2012, 12:28 Мне нельзя использовать массивы это надо список реализовывать, и я думаю потери от пары лишних int-ов и пары ссылок будут приемлимы, не канон, но никто не безгрешен Название: Re: Вопрос, если создать 100500 простых объектов, будет ли тормозить? Отправлено: Igors от Октябрь 20, 2012, 13:20 Мне нельзя использовать массивы это надо список реализовывать, В курсовом запрещено использовать массивы? :) Может Вы хотели сказать "нельзя использовать std" или "я не знаком с std" - так это не проблема, можно заменить на обычный С массив и я думаю потери от пары лишних int-ов и пары ссылок будут приемлимы, не канон, но никто не безгрешен Дело не в потерях, Вы зарядили структуру работать с которой будет весьма неудобно. |