MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030738Open CASCADE[OCCT] OCCT:Data Exchangepublic2019-05-23 21:182019-05-26 10:48
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityminor 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.2.0 
Target Version[OCCT] 7.4.0*Fixed in Version 
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
Attached Files

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

-  Notes
(0084587)
git (administrator)
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 (developer)
2019-05-24 09:24

Patch is ready for review.

http://jenkins-test-12.nnov.opencascade.com:8080/view/CR30738-master-KGV [^]
(0084592)
gka (developer)
2019-05-24 10:36

Branch CR30738 was reviewed.
(0084607)
bugmaster (administrator)
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 (administrator)
2019-05-26 10:48

Branch CR30738 has been deleted by inv.

SHA-1: 2eec3946982ee9c69fc66e4e9f334089c440f58e

- Related Changesets
occt: master f6973d90
Timestamp: 2019-05-23 19:46:58
Author: 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.
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 View Revisions
2019-05-23 22:00 kgv Steps to Reproduce Updated View Revisions
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 View Revisions
2019-05-24 09:33 kgv Steps to Reproduce Updated View Revisions
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


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker