View Issue Details

IDProjectCategoryView StatusLast Update
0018768Open CASCADEOCCT:Foundation Classespublic2012-01-10 17:52
ReportermsvAssigned Tomsv 
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
OSAll 
Fixed in Version6.4.0 
Summary0018768: Make NCollection containers use an allocator (where it is has not been done yet)
DescriptionNow some NCollection classes may use external allocator (passed through argument
in constructor) that allows to achieve significant performance optimization of
an application code. E.g., NCollection_List.
There are yet some classes that do not allow to use an allocator. They use
directly operator new or malloc to allocate memory for items. E.g., see Array1
and Array2, Vector and SparseArray.
It is needed to make them use an allocator as other classes do.
For that in Array1 and Array2 it is needed to organize 'for' loop in both
constructor and destructor to call correspondingly constructor and destructor of
each item.
In SparseArray and Vector it is needed to replace each malloc/new and
free/delete with myAllocator->Allocate and myAllocator->Free.
And, of course, it is needed to add a field myAllocator in base classes as it is
done in the case of List.
Additional information
and documentation updates
Documentation remark, added by MSV 2010-06-17 08:11:19:

Improvements:
Foundation classes.
Make NCollection_Vector use an external allocator (passed through optional argument in the constructor) instead of malloc/free. This allows to tune performance of application that uses a vector container.
TagsNo tags attached.
Test case number

Attached Files

  • OCC18768_msv_patch_v1.tgz (5,700 bytes)
  • OCC18768_msv_patch_v2.tgz (5,753 bytes)
  • OCC18768_msv_patch_v3.tgz (5,781 bytes)

Activities

2010-06-16 16:39

 

OCC18768_msv_patch_v1.tgz (5,700 bytes)

2010-06-17 20:56

 

OCC18768_msv_patch_v2.tgz (5,753 bytes)

2010-06-25 10:00

 

OCC18768_msv_patch_v3.tgz (5,781 bytes)

Issue History

Date Modified Username Field Change
2010-06-16 16:49 bugmaster Assigned To bugmaster => msv
2010-06-16 16:49 bugmaster Status new => assigned
2010-06-16 16:49 bugmaster Status assigned => resolved
2010-06-23 15:47 mkv Status resolved => assigned
2010-06-29 18:42 bugmaster Status assigned => resolved
2010-07-02 14:46 mkv Status resolved => assigned
2010-07-02 15:54 msv Status assigned => resolved
2010-07-02 16:59 mkv Status resolved => tested
2010-07-19 21:11 bugmaster Status tested => verified
2011-08-02 11:23 bugmaster Category OCCT:FDC => OCCT:Foundation Classes
2012-01-10 17:52 atp Summary Make NCollection containers to use an allocator (where it is not done yet) => Make NCollection containers use an allocator (where it is has not been done yet)
2012-01-10 17:52 atp Description Updated
2012-01-10 17:52 atp Additional Information Updated