2012-06-22 4 views
3

У меня есть график, определяемый как (с использованием последующих усиления):Как измерить память, используемую графиком Boost?

struct NodeData{ /*...*/ }; 
struct EdgeData{ /*...*/ }; 
typedef adjacency_list<setS, setS, undirectedS, NodeData, EdgeData> MyGraph; 
MyGraph G; 

Этот график обновляется итеративно (путем добавления/удаления некоторых ребер/вершин). На каждой итерации я хочу оценить пространство памяти, занимаемое этим графом G. Как я могу это сделать? и имеет ли смысл, если я вычислил V = «размер NodeData» и E = «размер EdgeData», и на каждой итерации память, используемая графиком, будет пропорциональна: nbr_vertices * V + nbr_edges * E?

+0

Что этот вопрос должен делать с временной сложностью? –

+0

Ошибка тега RobKennedy, я удалил ее – shn

ответ

0

Вы можете попробовать использовать Heap государство отчетности функцию: http://msdn.microsoft.com/en-us/library/wc28wkas%28v=vs.80%29.aspx

+0

Ну, я не могу использовать визуальный C++, и мне нужна только память, используемая графиком, а не другие объекты (т. Е. На каждой итерации я также манипулирую другими вещами, чем мой график). Так что это не кажется хорошей функцией для того, что я просил. – shn

+0

Что делать, если я вычисляю V = «размер NodeData» и E = «размер EdgeData», и на каждой итерации память, используемая графиком, будет пропорциональна: nbr_vertices * V + nbr_edges * E? – shn

Смежные вопросы