View Issue Details

IDProjectCategoryView StatusLast Update
0030738Open CASCADEOCCT:Data Exchangepublic2019-05-26 10:48
Reporterkgv Assigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.2.0 
Target Version7.4.0Fixed in Version7.4.0 
Summary0030738: Data Exchange - XCAFDoc_ShapeTool::updateComponent() is too long
DescriptionDeleting the very single item in the document takes too long - about 20 seconds for specific document.
Steps To Reproduce
pload XDE OCAF MODELING VISUALIZATION
catch { Close D }
NewDocument D BinXCAF
for {set i 0} {$i < 40000} {incr i} { box b_$i $i 0 0 1 1 1; lappend bbb b_$i }
compound {*}$bbb c
XAddShape D c
chrono t restart
XRemoveShape D 0:1:1:35000
XUpdateAssemblies D
chrono t stop; chrono t show


Output:
CPU user time: 41.5 seconds


With the patch:
CPU user time: 0.15625 seconds
TagsNo tags attached.
Test case numberNot required

Relationships

related to 0030739 closeddkulikov Data Exchange - XCAFDoc_ShapeTool::IsComponent() is too slow 
child of 0028055 closedapn Add UpdateAssemblies() method for top-down update of assembly compounds 

Activities

git

2019-05-23 22:49

administrator   ~0084587

Branch CR30738 has been created by kgv.

SHA-1: 2eec3946982ee9c69fc66e4e9f334089c440f58e


Detailed log of new commits:

Author: kgv
Date: Thu May 23 22:46:58 2019 +0300

    0030738: Data Exchange - XCAFDoc_ShapeTool::updateComponent() is too long
    
    Cache subshapes list into map instead of re-iterating it multiple times within the loop.
    Avoid iteration at all if modified state has been already detected.
    
    XCAFDoc now returns GUIDs by const reference instead of a copy.

kgv

2019-05-24 09:24

developer   ~0084589

Patch is ready for review.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30738-master-KGV

gka

2019-05-24 10:36

developer   ~0084592

Branch CR30738 was reviewed.

bugmaster

2019-05-24 16:42

administrator   ~0084607

Combination -
OCCT branch : CR30738
master SHA - 2eec3946982ee9c69fc66e4e9f334089c440f58e
d67d4b811012eef8913d3c535c29654d0acf3c4c
Products branch : master SHA - 986f3b05d4ac9538c920d339cc6c45c66f97af3b
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16329.989999999987 / 16353.149999999998 [-0.14%]
Products
Total CPU difference: 10527.900000000049 / 10547.03000000006 [-0.18%]
Windows-64-VC14:
OCCT
Total CPU difference: 17740.1875 / 17737.640625 [+0.01%]
Products
Total CPU difference: 12125.09375 / 12094.59375 [+0.25%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2019-05-26 10:48

administrator   ~0084625

Branch CR30738 has been deleted by inv.

SHA-1: 2eec3946982ee9c69fc66e4e9f334089c440f58e

Related Changesets

occt: master f6973d90

2019-05-23 19:46:58

kgv


Committer: bugmaster Details Diff
0030738: Data Exchange - XCAFDoc_ShapeTool::updateComponent() is too long

Cache subshapes list into map instead of re-iterating it multiple times within the loop.
Avoid iteration at all if modified state has been already detected.

XCAFDoc now returns GUIDs by const reference instead of a copy.
Affected Issues
0030738
mod - src/XCAFDoc/XCAFDoc.cxx Diff File
mod - src/XCAFDoc/XCAFDoc.hxx Diff File
mod - src/XCAFDoc/XCAFDoc_ShapeTool.cxx Diff File

Issue History

Date Modified Username Field Change
2019-05-23 21:18 kgv New Issue
2019-05-23 21:18 kgv Assigned To => gka
2019-05-23 21:59 kgv Steps to Reproduce Updated
2019-05-23 22:00 kgv Steps to Reproduce Updated
2019-05-23 22:49 git Note Added: 0084587
2019-05-23 22:55 kgv Relationship added related to 0030739
2019-05-23 22:59 kgv Relationship added child of 0028055
2019-05-23 23:00 kgv Product Version 7.4.0 => 7.2.0
2019-05-24 09:24 kgv Note Added: 0084589
2019-05-24 09:24 kgv Status new => resolved
2019-05-24 09:33 kgv Steps to Reproduce Updated
2019-05-24 09:33 kgv Steps to Reproduce Updated
2019-05-24 10:36 gka Note Added: 0084592
2019-05-24 10:36 gka Assigned To gka => bugmaster
2019-05-24 10:36 gka Status resolved => reviewed
2019-05-24 16:41 bugmaster Test case number => Not required
2019-05-24 16:42 bugmaster Status reviewed => tested
2019-05-24 16:42 bugmaster Note Added: 0084607
2019-05-25 19:58 bugmaster Changeset attached => occt master f6973d90
2019-05-25 19:58 bugmaster Status tested => verified
2019-05-25 19:58 bugmaster Resolution open => fixed
2019-05-26 10:48 git Note Added: 0084625