MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0030435Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2019-01-10 13:052019-04-19 16:22
Reporterifv 
Assigned Tomsv 
PrioritynormalSeverityminor 
StatusresolvedResolutionopen 
PlatformOSOS Version
Product Version[OCCT] 7.4.0* 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0030435: Improving performance of Approx_ComputeCLine
DescriptionAlgorithm, implemented in Approx_ComputeCLine (approximation of continuous parametric function) is wide used in projection algorithm.
Steps To Reproducetest perf moddata bug30435
TagsNo tags attached.
Test case number
Attached Files

- Relationships
related to 0027651assignedifv Add projection support in sewing pcurves handling 
related to 0027711assignedmsv Blend-on-blend corrupts the shape 

-  Notes
(0081712)
git (administrator)
2019-01-10 13:11

Branch CR30435 has been created by ifv.

SHA-1: 995e77f66621cd2f9e3370ba9d59bff9f1ab5302


Detailed log of new commits:

Author: ifv
Date: Thu Jan 10 13:07:01 2019 +0300

    0030435: Improving performance of Approx_ComputeCLine
(0081754)
git (administrator)
2019-01-11 15:24

Branch CR30435 has been updated by ifv.

SHA-1: 027e964478c09a312c5942eb06bb3e500c459ec9


Detailed log of new commits:

Author: ifv
Date: Fri Jan 11 15:20:17 2019 +0300

    Fix regression 1

(0081786)
git (administrator)
2019-01-15 16:48

Branch CR30435 has been updated forcibly by ifv.

SHA-1: 886844df71a7c4b3920fbd46520917aae331b4e4
(0081818)
git (administrator)
2019-01-18 16:21

Branch CR30435 has been updated by ifv.

SHA-1: 00494f92e2ea7a98370de5f6c580abae58eccc15


Detailed log of new commits:

Author: ifv
Date: Fri Jan 18 16:14:56 2019 +0300

    Fix for performance problems (boolean volumemaker E4, E5, E6)

(0081852)
git (administrator)
2019-01-21 16:22

Branch CR30435 has been updated by ifv.

SHA-1: adb7a48a2e5b314c383f3ec7d0aedb94d9b36acd


Detailed log of new commits:

Author: ifv
Date: Mon Jan 21 16:17:08 2019 +0300

    Fix for boolean volumemaker E6

Author: ifv
Date: Mon Jan 21 09:36:18 2019 +0300

    Revert "Fix for performance problems (boolean volumemaker E4, E5, E6)"
    
    This reverts commit 00494f92e2ea7a98370de5f6c580abae58eccc15.

(0081882)
git (administrator)
2019-01-25 16:39

Branch CR30435 has been updated by ifv.

SHA-1: aa63e31beb706d6a860bbe8776bbee4c091ced70


Detailed log of new commits:

Author: ifv
Date: Fri Jan 25 16:32:58 2019 +0300

    Fix some bugs

(0081904)
git (administrator)
2019-01-28 11:58

Branch CR30435 has been updated forcibly by ifv.

SHA-1: 1c9b639ff29a80171ffbf33b2d2d020b4c2d8b51
(0081919)
git (administrator)
2019-01-29 17:41

Branch CR30435 has been updated forcibly by ifv.

SHA-1: 83cd458533ce0b45ee24dc5586c60c2aa25e6188
(0082037)
git (administrator)
2019-02-05 15:23

Branch CR30435 has been updated forcibly by ifv.

SHA-1: c7e3522a5d38505f71227db84a1bee0b2f9700c5
(0082038)
ifv (developer)
2019-02-05 17:38

Branch CR300435 is ready for review

See CR30435-master-IFV for test results
(0082092)
msv (developer)
2019-02-08 16:57

src/Approx/Approx_ComputeCLine.gxx
- 414: incorrect comment
- 312: it seems must be "deg == mydegremin"

src/Approx/Approx_FitAndDivide.hxx
- 67: Actually myInvOrder is true by default, it is worth to tell it here.

src/IntTools/IntTools_EdgeEdge.cxx
- 228: please add comment for this code (copy from commit).

tests/perf/moddata/bug30435
- Put bug title along with its number.

tests/lowalgos/intss/bug27263
- Add check of length of the second curve.

What is the performance gain of this fix. Can you give some figures?
(0082199)
git (administrator)
2019-02-15 16:31

Branch CR30435 has been updated forcibly by ifv.

SHA-1: c88524a3c114f34c196f4b4e843f722a5ef47269
(0082697)
git (administrator)
2019-03-05 17:02

Branch CR30435 has been updated forcibly by ifv.

SHA-1: a12d40a5d15023fc4085fad1e8d9e1620d46c514
(0083356)
git (administrator)
2019-04-02 12:19

Branch CR30435 has been deleted by ifv.

SHA-1: a12d40a5d15023fc4085fad1e8d9e1620d46c514
(0083441)
git (administrator)
2019-04-05 17:14

Branch CR30435 has been created by ifv.

SHA-1: de9574633fe91ada6dfa35fea248123bc87b4c2a


Detailed log of new commits:

Author: ifv
Date: Thu Jan 10 13:07:01 2019 +0300

    0030435: Improving performance of Approx_ComputeCLine
    
    1. Approx_ComputeCLine.gxx, Approx_FitAndDivide.hxx, Approx_FitAndDivide2d.hxx, BRepFill_ComputeCLine.hxx
    It is base modification, which allows improve performance of approximation with help of Approx_ComputeCLine.
    
    2. ProjLib_ComputeApprox, ProjLib_ComputeApproxOnPolarSurface, ProjLib_ComputeApproxOnPolarSurface, ProjLib_ProjectOnPlane
    It is additional modification of methods using Approx_ComputeCLine.
    
    3. BRepCheck_Face
    Small improvement of method Intersect(...), which intersects two wires on face.
    
    4. BRepTopAdaptor_FClass2d
    Impovement of treatment infinitely narrow faces.
    
    5. ChFi3d/ChFi3d_Builder_6.cxx
    Small improvement, which forbids extension of singular boundary of surface.
    It was TODO problem in tests/bugs/modalg_7/bug27711_3
    
    6. IntTools_EdgeEdge.cxx
    Improvement of performance for cases of searching common parts between line and analytical curve
    
    7. GeomliteTest_CurveCommands.cxx
    Adding Draw command fitcurve. This command is analog of approxcurve, but uses Approx_FitAndDivide algorithm.
    Mainly to have direct draw command for testing Approx_ComputeCLine.
    
    8. Extrema_ExtElC.cxx
    
    Treatment of case "infinite solutions" for extrema line-ellipse
    
    9. Modification of some tests according to new behavior of algorithm.
    
    10. tests/perf/moddata/bug30435
    Test for new improved algorithm.
    
    11. Implementation QAcommand OCC40435 in QABugs_20.cxx used in test bug30435
(0083476)
git (administrator)
2019-04-08 11:37

Branch CR30435 has been updated forcibly by ifv.

SHA-1: 28d87c06bc7eadface8d9d3fe5de25b602b644df
(0083520)
ifv (developer)
2019-04-08 14:16

CR30435 is ready for review.
Results is CR30435-master-IFV
Improving:
there are 14 tests with improving performance > then 50% (see CPU difference)
According to test perf moddata bug30435 improving of performance is
3.86 times for Win
4.375 for Lin
(0083537)
msv (developer)
2019-04-08 18:29

Commit message:

>1. Approx_ComputeCLine.gxx, Approx_FitAndDivide.hxx, Approx_FitAndDivide2d.hxx, BRepFill_ComputeCLine.hxx
>It is base modification, which allows improve performance of approximation with help of Approx_ComputeCLine.
It is needed to point the main idea of changes.

>2. ProjLib_ComputeApprox, ProjLib_ComputeApproxOnPolarSurface, ProjLib_ComputeApproxOnPolarSurface, ProjLib_ProjectOnPlane
>It is additional modification of methods using Approx_ComputeCLine.
It is needed to point the main idea of changes.

>11. Implementation QAcommand OCC40435 in QABugs_20.cxx used in test bug30435
Misprint OCC40435.

src/Approx/Approx_FitAndDivide.hxx and others:
- Make description of SetInvOrder the same in all headers.
- Please describe which value of InvOrder is used by default.

src/Extrema/Extrema_ExtElC.cxx
- replace tabs with spaces in the added code.

src/IntTools/IntTools_EdgeEdge.cxx
- replace tabs with spaces in the added code.

tests/perf/moddata/bug30435
- Give the second counter unique name like OCC30435_1.

Why the following test showed worse performance (both Windows and Linux)?
CPU ifc doc_1 B4: 2102.78125 / 830.6875 [+153.14%]
(0083875)
git (administrator)
2019-04-19 11:44

Branch CR30435 has been updated forcibly by ifv.

SHA-1: 1eec944a238d99679e7a388a203e34c15624d6c4
(0083883)
ifv (developer)
2019-04-19 16:22

CR30435 is ready for review

- Issue History
Date Modified Username Field Change
2019-01-10 13:05 ifv New Issue
2019-01-10 13:05 ifv Assigned To => ifv
2019-01-10 13:06 ifv Relationship added related to 0027651
2019-01-10 13:07 ifv Status new => assigned
2019-01-10 13:11 git Note Added: 0081712
2019-01-11 15:24 git Note Added: 0081754
2019-01-15 16:48 git Note Added: 0081786
2019-01-18 16:21 git Note Added: 0081818
2019-01-21 16:22 git Note Added: 0081852
2019-01-25 16:39 git Note Added: 0081882
2019-01-28 11:58 git Note Added: 0081904
2019-01-29 17:41 git Note Added: 0081919
2019-02-05 15:23 git Note Added: 0082037
2019-02-05 17:38 ifv Note Added: 0082038
2019-02-05 17:38 ifv Assigned To ifv => msv
2019-02-05 17:38 ifv Status assigned => resolved
2019-02-05 17:38 ifv Steps to Reproduce Updated View Revisions
2019-02-08 16:44 msv Relationship added related to 0027711
2019-02-08 16:57 msv Note Added: 0082092
2019-02-08 16:57 msv Assigned To msv => ifv
2019-02-08 16:57 msv Status resolved => assigned
2019-02-15 16:31 git Note Added: 0082199
2019-03-05 17:02 git Note Added: 0082697
2019-04-02 12:19 git Note Added: 0083356
2019-04-05 17:14 git Note Added: 0083441
2019-04-08 11:37 git Note Added: 0083476
2019-04-08 14:16 ifv Note Added: 0083520
2019-04-08 14:16 ifv Assigned To ifv => msv
2019-04-08 14:16 ifv Status assigned => resolved
2019-04-08 18:29 msv Note Added: 0083537
2019-04-08 18:30 msv Assigned To msv => ifv
2019-04-08 18:30 msv Status resolved => assigned
2019-04-19 11:44 git Note Added: 0083875
2019-04-19 16:22 ifv Note Added: 0083883
2019-04-19 16:22 ifv Assigned To ifv => msv
2019-04-19 16:22 ifv Status assigned => resolved


Copyright © 2000 - 2019 MantisBT Team
Powered by Mantis Bugtracker