From 82b89c86269e04916a4aef964977ee738d8f2927 Mon Sep 17 00:00:00 2001 From: fclaude Date: Sun, 8 Mar 2009 03:07:47 +0000 Subject: [PATCH] Adding stats function git-svn-id: svn+ssh://idea.nguyen.vg/svn/sxsi/trunk/XMLTree@215 3cdefd35-fc62-479d-8e8d-bae585ffb9ca --- XMLTree.cpp | 16 ++++++++++++++-- XMLTree.h | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/XMLTree.cpp b/XMLTree.cpp index e17c89d..6fee8f4 100644 --- a/XMLTree.cpp +++ b/XMLTree.cpp @@ -67,6 +67,16 @@ inline void * umalloc(size_t size){ return dest; } +void XMLTree::print_stats() { + uint total_space = Tags->size()+sizeof(static_sequence*); + total_space += sizeof(uint*)+sizeof(uint)*(2+uint_len(tags_blen,tags_len)); + cout << "Space usage for XMLTree:" << endl + << " - tags static_sequence: " << Tags->size()+sizeof(static_sequence*) << endl + << " - tags access array: " << sizeof(uint*)+sizeof(uint)*(2+uint_len(tags_blen,tags_len)) << endl + << " ... add Diego structures ... " << endl + << " *total* " << total_space << endl; +} + // Save: saves XML tree data structure to file. void XMLTree::Save(unsigned char *filename) { @@ -230,13 +240,14 @@ XMLTree *XMLTree::Load(unsigned char *filename, int sample_rate_text) fclose(fp); - std::cerr << "Tree part is " << s_tree/1024 << " Kbytes,\n" + /*std::cerr << "Tree part is " << s_tree/1024 << " Kbytes,\n" << "with node->tagid part " << XML_Tree->Tags->size()/1024+(uint_len(XML_Tree->tags_blen,XML_Tree->tags_len)*sizeof(uint))/1024 << "Kbytes \n" << "size of Tag part : " << XML_Tree->Tags->length () << " elements\n" << "sizof(unsigned int)* " << XML_Tree->Tags->length () << " = " << sizeof(unsigned int) * XML_Tree->Tags->length () / 1024 << " Kbytes\n" << "Tag part is " << s_tags/1024 << " Kbytes,\n" - << "Text collection is " << s_text/1024 << " Kbytes \n"; + << "Text collection is " << s_text/1024 << " Kbytes \n";*/ + XML_Tree->print_stats(); return XML_Tree; } @@ -887,6 +898,7 @@ int XMLTree::CloseDocument() tags_aux = NULL; finished = true; + print_stats(); return 1; // indicates success in the inicialization } diff --git a/XMLTree.h b/XMLTree.h index 3bfb7a4..2e9e222 100644 --- a/XMLTree.h +++ b/XMLTree.h @@ -122,6 +122,7 @@ class XMLTree { bool disable_tc; public: + void print_stats(); /** Data structure constructor */ XMLTree() {finished = false; initialized = false;}; -- 2.17.1