Archived issue #0026166
Improve ShapeHealing execution time on shape without PCurves
Description
Using a new Extrema_ExtAlgo_Tree algorithm in Extrema_GenExtPS leads to more than 5X speed up on shapes, that contained edges without pcurves.
See http://dev.opencascade.org/index.php?q=node/1078
P.S. Also, we're testing with 6.9.0.beta1 version of OCCT. Extrema_ExtAlgo_Grad's time was improved by 25%, but it's not enough to achieve Extrema_ExtAlgo_Tree's time.
See http://dev.opencascade.org/index.php?q=node/1078
P.S. Also, we're testing with 6.9.0.beta1 version of OCCT. Extrema_ExtAlgo_Grad's time was improved by 25%, but it's not enough to achieve Extrema_ExtAlgo_Tree's time.
Steps to reproduce
See c++ reproducer (in slideset) and testmodels in the attachment.
Public activity
5 archived notes
Participants are labeled by their role within this record.
Branch [archived branch] has been created by Participant.
[revision removed]
Detailed log of new commits:
Author: abv
Date: Wed Apr 29 23:00:28 2015 +0300
0026166: Improve ShapeHealing execution time on shape without PCurves
Default projection algorithm changed to Tree in Extrema_GenExtPS
Test grid perf heal added
[revision removed]
Detailed log of new commits:
Author: abv
Date: Wed Apr 29 23:00:28 2015 +0300
0026166: Improve ShapeHealing execution time on shape without PCurves
Default projection algorithm changed to Tree in Extrema_GenExtPS
Test grid perf heal added
I have pushed the change to CR26166 and tested. The result is slight overall improvement of performance (~ 1%), with some cases improved tremendously:
CPU bugs heal bug24549: 1.6536106 / 3.8376246 [-56.91%]
CPU bugs modalg_2 bug5157_1: 27.4873762 / 55.8795582 [-50.81%]
CPU bugs modalg_2 bug5157_2: 27.6745774 / 55.8171578 [-50.42%]
CPU de step_2 U4: 0.7956051 / 40.2326579 [-98.02%]
CPU de step_4 H5: 8.9700575 / 27.6277771 [-67.53%]
CPU de step_5 A3: 8.7828563 / 27.0661735 [-67.55%]
CPU perf heal pcurves1: 3.5568228 / 18.8449208 [-81.13%]
CPU perf heal pcurves2: 2.2152142 / 11.076071 [-80.00%]
(the last ones are new tests created using shapes attached to this issue)
Also memory has decreased in many cases (but not much overall).
However, there are some performance falls, e.g.:
CPU bugs step bug16351: 43.1966769 / 38.5946474 [+11.92%]
CPU de step_3 A4: 9.1260585 / 7.5192482 [+21.37%]
CPU feat featlf: 2.6676170999999984 / 2.0124128999999993 [+32.56%]
CPU perf bspline: 27.2065744 / 25.8649658 [+5.19%]
and more than 50 regressions:
Failed
bugs fclasses bug181_1
bugs modalg_1 bug10160_1 bug10160_2 bug10160_4
bugs modalg_2 bug22631
bugs modalg_5 bug23948_2
de iges_1 N9 P5 P9 R8
de iges_2 G8
de step_1 N3 ZI7
de step_2 D9 E9 J7 Q1 Q9 S1 S9 T5 T9 U5 U8 V1 X9
de step_3 B4 B5 B9 C4 C5 D7 E2 E3 E9 F2 F4
de step_4 B3 F6 F9 H1 H8 I1 I2
de step_5 A4 A7
Improvements
de iges_2 A7
de step_4 G7
This is to be investigated
CPU bugs heal bug24549: 1.6536106 / 3.8376246 [-56.91%]
CPU bugs modalg_2 bug5157_1: 27.4873762 / 55.8795582 [-50.81%]
CPU bugs modalg_2 bug5157_2: 27.6745774 / 55.8171578 [-50.42%]
CPU de step_2 U4: 0.7956051 / 40.2326579 [-98.02%]
CPU de step_4 H5: 8.9700575 / 27.6277771 [-67.53%]
CPU de step_5 A3: 8.7828563 / 27.0661735 [-67.55%]
CPU perf heal pcurves1: 3.5568228 / 18.8449208 [-81.13%]
CPU perf heal pcurves2: 2.2152142 / 11.076071 [-80.00%]
(the last ones are new tests created using shapes attached to this issue)
Also memory has decreased in many cases (but not much overall).
However, there are some performance falls, e.g.:
CPU bugs step bug16351: 43.1966769 / 38.5946474 [+11.92%]
CPU de step_3 A4: 9.1260585 / 7.5192482 [+21.37%]
CPU feat featlf: 2.6676170999999984 / 2.0124128999999993 [+32.56%]
CPU perf bspline: 27.2065744 / 25.8649658 [+5.19%]
and more than 50 regressions:
Failed
bugs fclasses bug181_1
bugs modalg_1 bug10160_1 bug10160_2 bug10160_4
bugs modalg_2 bug22631
bugs modalg_5 bug23948_2
de iges_1 N9 P5 P9 R8
de iges_2 G8
de step_1 N3 ZI7
de step_2 D9 E9 J7 Q1 Q9 S1 S9 T5 T9 U5 U8 V1 X9
de step_3 B4 B5 B9 C4 C5 D7 E2 E3 E9 F2 F4
de step_4 B3 F6 F9 H1 H8 I1 I2
de step_5 A4 A7
Improvements
de iges_2 A7
de step_4 G7
This is to be investigated
Branch [archived branch] has been created by Author.
[revision removed]
No new revisions were added by this update.
[revision removed]
No new revisions were added by this update.
Previous fix for default projection algorithm caused a many regressions therefore locate this fix by shape-healing process only
Branch [archived branch] has been updated by Author.
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue May 5 13:13:36 2015 +0300
Projection algorithm changed to Tree in ShapeAnalysis_Surface
[revision removed]
Detailed log of new commits:
Author: Author
Date: Tue May 5 13:13:36 2015 +0300
Projection algorithm changed to Tree in ShapeAnalysis_Surface
Related records