Note that there are some explanatory texts on larger screens.

plurals
  1. POSaving and Loading Dictionary. Improving Memory Footprint
    primarykey
    data
    text
    <p>Long time watcher and this is my first post so please go easy on me. I've looked around but my query is quite specific and I can't find it elsewhere.</p> <p>I have an application which consists of 2 controls. </p> <ul> <li>A control on the left contains a tree view which displays searches mapped from an XML file. Each Search has an associated GUID. </li> <li>A control on the right displays a datagrid, the information of which I obtain from the tree view through a Dictionary (Guid&lt;->Dataset).</li> </ul> <p>When the user clicks on a node in the tree view, my application works out which GUID the search is linked with and presents the associated dataset which gets flattened and displays on the datagrid.</p> <p>I save(Serialise) and load(Deserialise) the Dictionary when exiting/loading the application respectively.</p> <p>I did some memory profiling recently and for larger searches the memory footprint of the Dictionary can be quite large (200mb) for the limited capacity of the user machines which I really need to sort out.</p> <p>I was wondering if anyone had any idea how to achieve this.</p> <p>I was thinking about splitting the Serialisable Dictionary into constituent Datasets and storing each one individually on the hard drive (maybe with the GUID as the filename). The saved Datasets would then be deserialised with each Node.Click event and displayed in the grid view. My worry about this is the potential pause in between each click event as it saves the old search and loads a new one.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload