DiscussionsIssue archiveOCCT:Shape Healing

Archived issue #0026166

Improve ShapeHealing execution time on shape without PCurves

CommunityOCCT:Shape Healingassigned5 public notes

Search issues

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.

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.

01Commenter 1
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
02Commenter 2
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

03Commenter 1
Branch [archived branch] has been created by Author.

[revision removed]


No new revisions were added by this update.
04Author
Previous fix for default projection algorithm caused a many regressions therefore locate this fix by shape-healing process only
05Commenter 1
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

Related records