Archived issue #0029502
Improve performance of the ShapeUpgrade_UnifySameDomain::UnifyEdges() method
Description
The 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.
It is necessary to avoid the repeated merging of the edges.
The problem has been detected while working on the issue #29481.
Steps to reproduce
test bugs modalg_7 bug29502
test perf modalg bug29502_1
test perf modalg bug29502_2
test perf modalg bug29502_3
test perf modalg bug29502_1
test perf modalg bug29502_2
test perf modalg bug29502_3
Public activity
9 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: 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.
[revision removed]
Detailed log of new commits:
Author: Author
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.
Performance tests:
The patch allows not only improving performance, but also unify split seam edge on the face:
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
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/.
Jenkins job - http://jenkins-test-10.nnov.opencascade.com/view/CR29502-master-emv/view/COMPARE/.
tests/bugs/modalg_7/bug29502
- Add comment about what is expected from unify.
src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx
- 1659: anEdgesMap is not used.
- Add comment about what is expected from unify.
src/ShapeUpgrade/ShapeUpgrade_UnifySameDomain.cxx
- 1659: anEdgesMap is not used.
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Feb 14 13:47:59 2018 +0300
# Considering remarks.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Wed Feb 14 13:47:59 2018 +0300
# Considering remarks.
Remarks have been considered. Please review.
No need to retest all tests (I have retested only the modified test case).
No need to retest all tests (I have retested only the modified test case).
Reviewed.
Combination -
OCCT branch : [archived branch] SHA - [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
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
OCCT branch : [archived branch] SHA - [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
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
Branch [archived branch] has been deleted by Participant.
[revision removed]
[revision removed]