View Issue Details

IDProjectCategoryView StatusLast Update
0023912Open CASCADEOCCT:Application Frameworkpublic2013-12-19 13:55
Reportervro Assigned Tovro  
PrioritylowSeverityminor 
Status closedResolutionfixed 
PlatformWindowsOSVC++ 2010 
Product Version6.6.0 
Target Version6.7.0Fixed in Version6.7.0 
Summary0023912: TDataStd_ExtStringArray::Value() returns a copy of TCollection_ExtendedString, but it might return a reference.
DescriptionIf a returned value of the method TDataStd_ExtStringArray::Value() is a reference to TCollection_ExtendedString object, it might make this OCAF attribute much faster.
Steps To Reproduce# A non-reegression test for the changes:
NewDoc D
SetExtStringArray D 0:1 0 1 5 "A" "B" "C" "D" "E"
GetExtStringArray D 0:1
TagsNo tags attached.
Test case numberbugs caf bug23912

Activities

vro

2013-04-19 11:02

developer   ~0024217

Dear Michael, could you revise my changes, please?
The changes: "Since now TDataStd_ExtStringArray::Value() returns a constant reference to the string value. Also, a draw-command GetExtStringArray is modified to manipulate with the string by a constant reference".
Aim of the fix is to speed-up the OCAF attribute (acces to the value).

vro

2013-04-19 11:09

developer   ~0024218

I forgot to mention that the changes are in CR23912.

mpv

2013-04-19 12:29

developer   ~0024219

It seems it is OK.

apn

2013-05-08 11:11

administrator   ~0024327

Dear BugMaster,

Branch CR23912(and products from GIT master) was compiled on Linux and Windows platforms and tested without rebase.
SHA-1: cd0df6d5122222936d50be8606082567e93840c3

Number of compiler warnings:

occt component :
Linux: 0 (2 on master)
Windows: 0 (11 on master)

products component :
Linux: 0 (0 on master)
Windows: 64 (64 on master)

Regressions:
No regressions

Improvements:
No improvements

Testing cases:
bugs caf bug23912 - OK

Testing on Linux:
Total MEMORY difference: 366431576 / 366120428
Total CPU difference: 44184.97000000153 / 43868.170000001046

Testing on Windows:
Total MEMORY difference: 420472212 / 421385180
Total CPU difference: 33218.234375 / 31668.40625

There are not serious differences in images found by testdiff.

Related Changesets

occt: master bbd04806

2013-05-16 07:07:43

vro

Details Diff
0023912: TDataStd_ExtStringArray::Value() returns a copy of TCollection_ExtendedString, but it might return a reference.

Since now TDataStd_ExtStringArray::Value() returns a constant reference to the string value.
Also, a draw-command GetExtStringArray is modified to manipulate with the string by a constant reference.
Added test case bugs/caf/bug23912
Affected Issues
0023912
mod - src/DDataStd/DDataStd_BasicCommands.cxx Diff File
mod - src/TDataStd/TDataStd_ExtStringArray.cdl Diff File
mod - src/TDataStd/TDataStd_ExtStringArray.cxx Diff File
add - tests/bugs/caf/bug23912 Diff File

Issue History

Date Modified Username Field Change
2013-04-18 16:23 vro New Issue
2013-04-18 16:23 vro Assigned To => vro
2013-04-19 11:02 vro Note Added: 0024217
2013-04-19 11:02 vro Assigned To vro => mpv
2013-04-19 11:02 vro Status new => resolved
2013-04-19 11:09 vro Note Added: 0024218
2013-04-19 12:29 mpv Note Added: 0024219
2013-04-19 12:29 mpv Status resolved => reviewed
2013-04-19 13:24 mpv Assigned To mpv => mkv
2013-05-08 11:11 apn Note Added: 0024327
2013-05-08 11:12 apn Test case number => bugs caf bug23912
2013-05-08 11:12 apn Assigned To mkv => bugmaster
2013-05-08 11:12 apn Status reviewed => tested
2013-05-20 10:56 vro Changeset attached => occt master bbd04806
2013-05-20 10:56 vro Assigned To bugmaster => vro
2013-05-20 10:56 vro Status tested => verified
2013-05-20 10:56 vro Resolution open => fixed
2013-12-19 13:53 bugmaster Status verified => closed
2013-12-19 13:55 bugmaster Fixed in Version => 6.7.0