Has anyone else noticed that converting a text attribute to a string attribute can save up to 500 bytes of virtual memory per populated attribute?
For example we converted a Text attribute to a string. That attribute was populated on 22,000 different Objects. When we loaded the module after converting it to a string, doors.exe used 11 MB less of virtual memory. We did verify that we did not lose data during the conversion process. I've replicated this measurement in a half dozen different modules.
In one case I loaded two different modules from the same .csv spreadsheet.
Module Text
We measured the memory by starting a new DOORS session both times and then opened the module, and then used the DOS tasklist command to show us how much memory was being used.
lwickman - Wed Oct 07 16:26:35 EDT 2009 |
|
Re: Text versus String and "Out of System Memory" SystemAdmin - Wed Oct 07 17:57:48 EDT 2009
There are some limitations to string attributes:
-
maximum length = 968 (see 'maximumAttributeLength' in DXL Reference Manual)
-
Cannot easily insert OLEs into string attributes
-
Cannot easily insert newlines into string attributes
Not sure where the savings you observed is coming from, but some possibilities are:
-
attribute values were truncated during the conversion (perhaps only occurs upon re-opening the module or upon modifying the string attribute values?)
-
OLE/pictures were not transferred to the string attributes
-
String attributes are stored in memory more efficiently than text attributes
-
If the text attribute(s) were deleted from the module, then perhaps history records for those attributes are not loaded into memory
|
|
Re: Text versus String and "Out of System Memory" SystemAdmin - Thu Oct 08 01:32:09 EDT 2009
Yes, did a experiment about a year ago by using a script to fill up two DOORS modules and creating attributes. The attributes in one module were of type "Text" and in the second one of type "String" but had identical content.
My results were that using "Text" type attributes consumed much more memory and also the module loading / save times were much larger. So, if possible, always use attributes of type "String".
See the attached ZIP for my test results Excel worksheet and my testing script.
Attachments
attachment_14303172_large_module_testing.zip
|
|
Re: Text versus String and "Out of System Memory" lwickman - Wed Oct 14 10:07:51 EDT 2009 SystemAdmin - Thu Oct 08 01:32:09 EDT 2009
Yes, did a experiment about a year ago by using a script to fill up two DOORS modules and creating attributes. The attributes in one module were of type "Text" and in the second one of type "String" but had identical content.
My results were that using "Text" type attributes consumed much more memory and also the module loading / save times were much larger. So, if possible, always use attributes of type "String".
See the attached ZIP for my test results Excel worksheet and my testing script.
Thank you so much for you answer. It confirms what were seeing. We have submitted a trouble ticket on this item to IBM.
|
|