0023850: TDataStd_ByteArray is too slow on storage on disk
authorvro <vro@opencascade>
Thu, 23 May 2013 08:09:09 +0000 (12:09 +0400)
committervro <vro@opencascade>
Thu, 23 May 2013 08:09:09 +0000 (12:09 +0400)
commitf7b4312f04fdeddd967809b76e56e4159f86e261
tree9e614c7905212571b16faa283af7d7383a7b06d7
parent5a77460e4ad02d93ef25881fab7c5123ef0c7695
0023850: TDataStd_ByteArray is too slow on storage on disk

Optimization of a byte-array for XML persistence (binary persistence is ok).
A possible bug is corrected (size of an array is extended a little).
Same improvement for storage of a TDataStd_TreeNode.
Improvement of speed of storage of several Ocaf attributes in XML file format.
Also, format of storage of a double value is extended to keep 17 digits after a decimal point (it was used only 15 digits before).
Several draw-commands are added to manipulate the basic Ocaf attributes:
BooleanArray
BooleanList
IntegerList
RealList
A test-script for OCAF document successfully saved and opened from disk in XML file format.
+ 1 is added to keep '\0'
Removed several spaces in source files.
PLib_LocalArray is renamed to NCollection_LocalArray and became a template. It is used as a local array for Standard_Character in XML OCAF drivers, and as a local array of Standard_Real in PLib package.
Small correction of test case for this fix
19 files changed:
src/BSplCLib/BSplCLib.cxx
src/BSplSLib/BSplSLib.cxx
src/DDataStd/DDataStd_BasicCommands.cxx
src/NCollection/FILES
src/NCollection/NCollection_LocalArray.hxx [moved from src/PLib/PLib_LocalArray.hxx with 68% similarity]
src/PLib/FILES
src/PLib/PLib.cxx
src/PLib/PLib_HermitJacobi.cxx
src/XmlMDataStd/XmlMDataStd_BooleanArrayDriver.cxx
src/XmlMDataStd/XmlMDataStd_BooleanListDriver.cxx
src/XmlMDataStd/XmlMDataStd_ByteArrayDriver.cxx
src/XmlMDataStd/XmlMDataStd_IntPackedMapDriver.cxx
src/XmlMDataStd/XmlMDataStd_IntegerArrayDriver.cxx
src/XmlMDataStd/XmlMDataStd_IntegerListDriver.cxx
src/XmlMDataStd/XmlMDataStd_RealArrayDriver.cxx
src/XmlMDataStd/XmlMDataStd_RealDriver.cxx
src/XmlMDataStd/XmlMDataStd_RealListDriver.cxx
src/XmlMDataStd/XmlMDataStd_TreeNodeDriver.cxx
tests/caf/bugs/D1 [new file with mode: 0755]