MantisBT - Open CASCADE
View Issue Details
0030738Open CASCADE[OCCT] OCCT:Data Exchangepublic2019-05-23 21:182019-05-26 10:48
kgv 
bugmaster 
normalminor 
closedfixed 
[OCCT] 7.2.0 
[OCCT] 7.4.0[OCCT] 7.4.0 
Not required
0030738: Data Exchange - XCAFDoc_ShapeTool::updateComponent() is too long
Deleting the very single item in the document takes too long - about 20 seconds for specific document.
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
No tags attached.
related to 0030739new kgv Data Exchange - XCAFDoc_ShapeTool::IsComponent() is too slow 
child of 0028055closed apn Add UpdateAssemblies() method for top-down update of assembly compounds 
Issue History
2019-05-23 21:18kgvNew Issue
2019-05-23 21:18kgvAssigned To => gka
2019-05-23 21:59kgvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=21249#r21249
2019-05-23 22:00kgvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=21250#r21250
2019-05-23 22:49gitNote Added: 0084587
2019-05-23 22:55kgvRelationship addedrelated to 0030739
2019-05-23 22:59kgvRelationship addedchild of 0028055
2019-05-23 23:00kgvProduct Version7.4.0 => 7.2.0
2019-05-24 09:24kgvNote Added: 0084589
2019-05-24 09:24kgvStatusnew => resolved
2019-05-24 09:33kgvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=21251#r21251
2019-05-24 09:33kgvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=21252#r21252
2019-05-24 10:36gkaNote Added: 0084592
2019-05-24 10:36gkaAssigned Togka => bugmaster
2019-05-24 10:36gkaStatusresolved => reviewed
2019-05-24 16:41bugmasterTest case number => Not required
2019-05-24 16:42bugmasterStatusreviewed => tested
2019-05-24 16:42bugmasterNote Added: 0084607
2019-05-25 19:58bugmasterChangeset attached => occt master f6973d90
2019-05-25 19:58bugmasterStatustested => verified
2019-05-25 19:58bugmasterResolutionopen => fixed
2019-05-26 10:48gitNote Added: 0084625

Notes
(0084587)
git   
2019-05-23 22:49   
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.
(0084589)
kgv   
2019-05-24 09:24   
Patch is ready for review.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30738-master-KGV [^]
(0084592)
gka   
2019-05-24 10:36   
Branch CR30738 was reviewed.
(0084607)
bugmaster   
2019-05-24 16:42   
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
(0084625)
git   
2019-05-26 10:48   
Branch CR30738 has been deleted by inv.

SHA-1: 2eec3946982ee9c69fc66e4e9f334089c440f58e