MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0028030Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2016-10-31 10:082016-12-09 16:39
Reporterifv 
Assigned Toapn 
PrioritynormalSeverityminor 
StatusclosedResolutionfixed 
PlatformOSOS Version
Product Version[OCCT] 7.1.0 
Target Version[OCCT] 7.1.0Fixed in Version[OCCT] 7.1.0 
Summary0028030: Algorith GeomLib_CheckCurveOnSurface takes too much time for Bspline curves with big number of knots
DescriptionWhen 2d or 3d BSpline curve has many knots (~> 100) algorithm takes too much time to process them.
Steps To ReproduceProblem can be illustrated by following test:
beziercurve c 4 0 0 0 1 1 0 2 1 0 3 0 0
#
convert c1 c
set i 1
repeat 98 {insertknot c1 0.01*$i 1; incr i 1}
mkedge e1 c1
prism p1 e1 0 0 1
explode p1 e
dchrono cpu reset
dchrono cpu start
xdistef p1_3 p1
dchrono cpu stop
puts [dchrono cpu show]
set q1 [dchrono cpu show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} ${q1} full t1
#
convert c2 c
set i 1
repeat 1000 {insertknot c2 0.00098*$i 1; incr i 1}
mkedge e2 c2
prism p2 e2 0 0 1
explode p2 e
dchrono cpu reset
dchrono cpu start
xdistef p2_3 p2
dchrono cpu stop
puts [dchrono cpu show]
set q2 [dchrono cpu show]
regexp {CPU user time: ([-0-9.+eE]+) seconds} ${q2} full t2
#
set max_ratio 5
if { ${t2} > ${max_ratio}*${t1} } {
    puts "Elapsed time is too much - Faulty"
} else {
    puts "Elapsed time is OK"
}
TagsNo tags attached.
Test case numberbugs modalg_6 bug28030
Attached Files

- Relationships

-  Notes
(0059645)
git (administrator)
2016-10-31 17:11

Branch CR28030 has been created by ifv.

SHA-1: 7e85ecca324d709cf4a841daebcff88ec6b384cc


Detailed log of new commits:

Author: abv
Date: Wed Jun 10 08:40:09 2015 +0300

    0028030: Algorith GeomLib_CheckCurveOnSurface takes too much time for Bspline curves with big number of knots
    
    Checking of number of knots is added. If number of knots more then allowed value, algorithm does not search distance between curves for each knot interval, but uses predefined sample point distribution.
    
    This change was born in the scope of work on the issue 26329, but does not have direct connection to it. Therefore it has been postponed to be integrated later in its own context.
(0059647)
ifv (developer)
2016-10-31 17:15

Branch CR28030 is ready for review and test.
Test script suggested for reproducing of problem is attached.
(0059691)
msv (developer)
2016-11-01 14:25

Reviewed.
Please create the test from the suggested script and test the branch.
(0059851)
git (administrator)
2016-11-03 14:19

Branch CR28030 has been updated by apv.

SHA-1: db9b960e796d746da61e97cfe4ef197b44e1eb86


Detailed log of new commits:

Author: apv
Date: Thu Nov 3 14:18:52 2016 +0300

    Test case for issue 0028030

(0059854)
apv (tester)
2016-11-03 14:43

Dear BugMaster,

Branch CR28030 from occt git-repository (and master from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested.
SHA-1: 7e85ecca324d709cf4a841daebcff88ec6b384cc

Number of compiler warnings:
occt component:
   Linux: 0 (0 on master)
   Windows: 0 (0 on master)
   MasOS: 0 (0 on master)
products component:
   Linux: 63
   Windows: 0
   MacOS: 1150

Regressions/Differences:
Not detected

Testing cases:
bugs modalg_6 bug28030 - OK
http://occt-tests/CR28030-master-OCCT/Debian70-64/bugs/modalg_6/bug28030.html [^]
http://occt-tests/CR28030-master-OCCT/Windows-64-VC10/bugs/modalg_6/bug28030.html [^]

Testing on Linux:
Total MEMORY difference: 91181766 / 90749574 [+0.48%]
Total CPU difference: 19300.14999999975 / 19313.389999999898 [-0.07%]

Testing on Windows:
Total MEMORY difference: 57301075 / 57321116 [-0.03%]
Total CPU difference: 17875.624186598536 / 18220.18359529866 [-1.89%]
(0061257)
git (administrator)
2016-12-07 11:30

Branch CR28030 has been deleted by kgv.

SHA-1: db9b960e796d746da61e97cfe4ef197b44e1eb86

- Related Changesets
occt: master e841c38c
Timestamp: 2016-11-07 13:38:53
Author: ifv
Committer: apn
Details ] Diff ]
0028030: Algorith GeomLib_CheckCurveOnSurface takes too much time for Bspline curves with big number of knots

Checking of number of knots is added. If number of knots more then allowed value, algorithm does not search distance between curves for each knot interval, but uses predefined sample point distribution.

This change was born in the scope of work on the issue 26329, but does not have direct connection to it. Therefore it has been postponed to be integrated later in its own context.

Test case for issue 0028030
mod - src/GeomLib/GeomLib_CheckCurveOnSurface.cxx Diff ] File ]
add - tests/bugs/modalg_6/bug28030 Diff ] File ]

- Issue History
Date Modified Username Field Change
2016-10-31 10:08 ifv New Issue
2016-10-31 10:08 ifv Assigned To => msv
2016-10-31 11:39 ifv Assigned To msv => ifv
2016-10-31 11:39 ifv Status new => assigned
2016-10-31 17:06 ifv Steps to Reproduce Updated View Revisions
2016-10-31 17:11 git Note Added: 0059645
2016-10-31 17:15 ifv Note Added: 0059647
2016-10-31 17:15 ifv Assigned To ifv => msv
2016-10-31 17:15 ifv Status assigned => resolved
2016-11-01 14:25 msv Note Added: 0059691
2016-11-01 14:25 msv Assigned To msv => bugmaster
2016-11-01 14:25 msv Status resolved => reviewed
2016-11-01 16:30 apv Assigned To bugmaster => apv
2016-11-03 14:19 git Note Added: 0059851
2016-11-03 14:19 apv Test case number => bugs modalg_6 bug28030
2016-11-03 14:43 apv Note Added: 0059854
2016-11-03 14:43 apv Assigned To apv => bugmaster
2016-11-03 14:43 apv Status reviewed => tested
2016-11-03 17:31 msv Target Version 7.2.0 => 7.1.0
2016-11-09 17:43 apn Changeset attached => occt master e841c38c
2016-11-09 17:43 apn Assigned To bugmaster => apn
2016-11-09 17:43 apn Status tested => verified
2016-11-09 17:43 apn Resolution open => fixed
2016-12-07 11:30 git Note Added: 0061257
2016-12-09 16:30 user533 Status verified => closed
2016-12-09 16:39 user533 Fixed in Version => 7.1.0


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker