View Issue Details

IDProjectCategoryView StatusLast Update
0011404Open CASCADEOCCT:Foundation Classespublic2012-01-13 17:09
ReporteragvAssigned Toagv 
PrioritynormalSeverityfeature 
Status closedResolutionfixed 
OSAll 
Fixed in Version6.1.0 
Summary0011404: TColStd_MapOfInteger enhanced
DescriptionThe class TColStd_MapOfInteger can be enhanced using the binary packing of
integers that would allocate 2 bits per integer (i.e., 4 integers per byte of
storage). The impact is expected with maps containing more than 100,000 objects.
See IFMT record 141.

This improvement can be implemented as a new class, for instance
TColStd_PackedMapOfInteger. Possible utilisation of the new class: OMF and
Visualization libraries where TColStd_MapOfInteger is used quite often.
Additional information
and documentation updates
Documentation remark, added by ABV 2006-11-01 16:04:29:

New features:
New class TColStd_PackedMapOfInteger created. This type can be used everywhere
instead of the old type TColStd_MapOfInteger (also the new iterator type is
defined). This replacement is meaningful wherever the maps are expected to be
great in size or if the performance of this map is important.

The user API of the new class inherits the one of TColStd_MapOfInteger, however
there is no relation between these classes, they cannot be passed one for
another or assigned one to another.

Two additional methods are created in class TColStd_PackedMapOfInteger:
   - GetMaximalMapped(),
   - GetMinimalMapped(),
both returning integer value -- maximal or minimal among all the values
contained in the Map. These methods use the internal architecture of this map
and run much faster than the equivalent map iteration. More methods of similar
kind can be added in future if necessary.
Modified entities:
Modified package: TColStd
No need to rebuild any other packages.

The performance report is attached, comparing the new class PackedMapOfInteger
with the old one, MapOfInteger. In common operations (Add, Remove, iterate) the
execution is 2-30 times faster.
TagsNo tags attached.
Test case number

Attached Files

Activities

2006-02-02 19:09

 

OCC11404.tar.gz (5,605 bytes)

2006-02-02 19:28

 

PerformanceReport.txt (3,345 bytes)   

2006-02-02 19:31

 

Issue History

Date Modified Username Field Change
2006-01-27 14:30 bugmaster Assigned To bugmaster => agv
2006-01-27 14:30 bugmaster Status new => assigned
2006-02-02 21:29 agv Status assigned => resolved
2006-02-08 18:26 aki Status resolved => tested
2006-02-08 18:28 bugmaster CC => imv
2006-02-17 10:42 bugmaster Status tested => verified
2006-04-06 15:56 bugmaster Status verified => closed
2006-04-06 15:56 bugmaster Resolution @0@ => fixed
2011-08-02 11:23 bugmaster Category OCCT:FDC => OCCT:Foundation Classes
2012-01-13 17:09 atp Description Updated
2012-01-13 17:09 atp Additional Information Updated