View Issue Details

IDProjectCategoryView StatusLast Update
0029502Open CASCADEOCCT:Modeling Algorithmspublic2018-06-29 21:21
Reporteremv Assigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Product Version7.2.0 
Target Version7.3.0Fixed in Version7.3.0 
Summary0029502: Improve performance of the ShapeUpgrade_UnifySameDomain::UnifyEdges() method
DescriptionThe ShapeUpgrade_UnifySameDomain::UnifyEdges() performs builds the chains of connected edges for each face of the input shape, and in case when many faces are connected through the same chains of edges, these chains will be merged repeatedly for each face, at that the previous merging results will be overwritten.
It is necessary to avoid the repeated merging of the edges.

The problem has been detected while working on the issue #29481.
Steps To Reproducetest bugs modalg_7 bug29502
test perf modalg bug29502_1
test perf modalg bug29502_2
test perf modalg bug29502_3
TagsNo tags attached.
Test case numberbugs modalg_7 bug29502, perf modalg bug29502_1 bug29502_2 bug29502_3

Activities

git

2018-02-13 16:49

administrator   ~0073962

Branch CR29502 has been created by emv.

SHA-1: b033f9388fb929dc6d997b44cf2d8c517bf51614


Detailed log of new commits:

Author: emv
Date: Tue Feb 13 15:01:39 2018 +0300

    0029502: Improve performance of the ShapeUpgrade_UnifySameDomain::UnifyEdges() method
    
    Avoid repeated merging of the same chains of edges by processing all edges at once.
    
    Test cases for the issue.

emv

2018-02-13 16:52

developer   ~0073963

Last edited: 2018-02-13 16:52

Performance tests:
test perf modalg bug29502_1
# fix: 0.11
# master: 2.39

test perf modalg bug29502_2
# fix: 0.23
# master: 2.39

test perf modalg bug29502_3
# fix: 1.76
# master: 3.73


The patch allows not only improving performance, but also unify split seam edge on the face:
test bugs modalg_7 bug29502


emv

2018-02-14 08:08

developer   ~0073972

Dear Mikhail, could you please review the git branch CR29502?
Jenkins job - http://jenkins-test-10.nnov.opencascade.com/view/CR29502-master-emv/view/COMPARE/.

msv

2018-02-14 11:43

developer   ~0073980

tests/bugs/modalg_7/bug29502
- Add comment about what is expected from unify.

src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx
- 1659: anEdgesMap is not used.

git

2018-02-14 13:48

administrator   ~0073981

Branch CR29502 has been updated by emv.

SHA-1: 71a34172c34bf9461a30b84a484943db7b60006f


Detailed log of new commits:

Author: emv
Date: Wed Feb 14 13:47:59 2018 +0300

    # Considering remarks.

emv

2018-02-14 13:59

developer   ~0073982

Remarks have been considered. Please review.
No need to retest all tests (I have retested only the modified test case).

msv

2018-02-14 15:06

developer   ~0073984

Reviewed.

apn

2018-02-14 16:00

administrator   ~0073985

Combination -
OCCT branch : CR29502 SHA - b033f9388fb929dc6d997b44cf2d8c517bf51614
Products branch : master SHA - 41720ba4c544483d56753d7b5ec17b6a72bfac64
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

Test cases:
test bugs modalg_7 bug29502 - OK
test perf modalg bug29502_1 bug29502_2 bug29502_3 - OK

CPU differences:
Debian70-64:
OCCT
Total CPU difference: 18256.14999999974 / 18375.13999999976 [-0.65%]
Products
Total CPU difference: 7449.77000000002 / 7504.959999999995 [-0.74%]
Windows-64-VC10:
OCCT
Total CPU difference: 17717.657573998516 / 17692.572613198507 [+0.14%]
Products
Total CPU difference: 8013.880570699977 / 8097.855908999923 [-1.04%]

Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2018-03-06 15:50

administrator   ~0074288

Branch CR29502 has been deleted by kgv.

SHA-1: 71a34172c34bf9461a30b84a484943db7b60006f

Related Changesets

occt: master 12d71ad6

2018-02-13 12:01:39

emv


Committer: apn Details Diff
0029502: Improve performance of the ShapeUpgrade_UnifySameDomain::UnifyEdges() method

Avoid repeated merging of the same chains of edges by processing all edges at once.

Test cases for the issue.
Affected Issues
0029502
mod - src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx Diff File
add - tests/bugs/modalg_7/bug29502 Diff File
add - tests/perf/modalg/bug29502_1 Diff File
add - tests/perf/modalg/bug29502_2 Diff File
add - tests/perf/modalg/bug29502_3 Diff File

Issue History

Date Modified Username Field Change
2018-02-13 16:05 emv New Issue
2018-02-13 16:05 emv Assigned To => msv
2018-02-13 16:05 emv Assigned To msv => emv
2018-02-13 16:05 emv Status new => assigned
2018-02-13 16:49 git Note Added: 0073962
2018-02-13 16:52 emv Note Added: 0073963
2018-02-13 16:52 emv Note Edited: 0073963
2018-02-14 08:08 emv Note Added: 0073972
2018-02-14 08:08 emv Assigned To emv => msv
2018-02-14 08:08 emv Status assigned => resolved
2018-02-14 08:08 emv Steps to Reproduce Updated
2018-02-14 11:43 msv Note Added: 0073980
2018-02-14 11:44 msv Assigned To msv => emv
2018-02-14 11:44 msv Status resolved => assigned
2018-02-14 13:48 git Note Added: 0073981
2018-02-14 13:59 emv Note Added: 0073982
2018-02-14 13:59 emv Assigned To emv => msv
2018-02-14 13:59 emv Status assigned => resolved
2018-02-14 15:06 msv Note Added: 0073984
2018-02-14 15:06 msv Assigned To msv => bugmaster
2018-02-14 15:06 msv Status resolved => reviewed
2018-02-14 15:08 emv Description Updated
2018-02-14 16:00 apn Test case number => bugs modalg_7 bug29502, perf modalg bug29502_1 bug29502_2 bug29502_3
2018-02-14 16:00 apn Note Added: 0073985
2018-02-14 16:00 apn Status reviewed => tested
2018-02-18 13:00 apn Changeset attached => occt master 12d71ad6
2018-02-18 13:00 apn Assigned To bugmaster => apn
2018-02-18 13:00 apn Status tested => verified
2018-02-18 13:00 apn Resolution open => fixed
2018-02-20 12:58 aiv Target Version 7.4.0 => 7.3.0
2018-03-06 15:50 git Note Added: 0074288
2018-06-29 21:16 aiv Fixed in Version => 7.3.0
2018-06-29 21:21 aiv Status verified => closed