Archived issue #0030738
Data Exchange - XCAFDoc_ShapeTool::updateComponent() is too long
Description
Deleting 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
Public activity
5 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Author.
[revision removed]
Detailed log of new commits:
Author: Author
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.
[revision removed]
Detailed log of new commits:
Author: Author
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.
Branch CR30738 was reviewed.
Combination -
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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
OCCT branch : [archived branch]
master SHA - [revision removed]
[revision removed]
Products branch : [archived branch] SHA - [revision removed]
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
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]
Related records