View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0024751 | Open CASCADE | OCCT:Modeling Algorithms | public | 2014-03-21 17:29 | 2014-05-05 13:39 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | minor | ||
Status | closed | Resolution | fixed | ||
Product Version | 6.7.0 | ||||
Target Version | 6.7.1 | Fixed in Version | 6.7.1 | ||
Summary | 0024751: Performance improvements in the Edge/Edge intersection algorithm | ||||
Description | Performance improvements in the Edge/Edge intersection algorithm. | ||||
Steps To Reproduce | restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx trotate cx 0 0 0 0 1 1 90 bclearobjects bcleartools set edges [explode cx e] set nbe [llength $edges] for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i} bfillds bbuild r | ||||
Additional information and documentation updates | 1. Added new static method PointBoxDistance() to compute distance between point and bounding box. 2. Removed method IntTools_EdgeEdge::FindRoughRanges(). | ||||
Tags | No tags attached. | ||||
Test case number | bugs modalg_5(010) bug24751_1, bug24751_2, bug24751_3, bug24751_4, bug24751_5 | ||||
|
Git branch CR24751 is ready to be reviewed. I've got the following results: # 1. restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx trotate cx 0 0 0 0 0 1 45 bclearo; bcleart; set edges [explode cx e];set nbe [llength $edges] for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i} chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show OCCT 6.7.0 - 54.6627504 sec OCCT dev - 36.5555671 sec CR24751 - 23.3065494 sec # 2. restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx trotate cx 0 0 0 0 1 1 45 bclearo; bcleart; set edges [explode cx e];set nbe [llength $edges] for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i} chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show OCCT 6.7.0 - 120.6355733 sec OCCT dev - 125.2376028 sec CR24751 - 32.5886089 sec # 3. restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx trotate cx 0 0 0 1 1 1 45 bclearo; bcleart; set edges [explode cx e];set nbe [llength $edges] for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i} chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show OCCT 6.7.0 - 136.6256758 sec OCCT dev - 144.924929 sec CR24751 - 39.7646549 sec # 4. restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx trotate cx 0 0 0 0 1 1 90 bclearo; bcleart; set edges [explode cx e];set nbe [llength $edges] for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i} chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show OCCT 6.7.0 - 131.8832454 sec OCCT dev - 148.1697498 sec CR24751 - 42.2138706 sec # 5. restore [locate_data_file bug24696_cx_e1200_nurbs.brep] cx trotate cx 0 0 0 1 1 1 90 bclearo; bcleart; set edges [explode cx e];set nbe [llength $edges] for {set i 1} {$i <= $nbe} {incr i} {baddobjects cx_$i} chrono t reset; chrono t start; bfillds -s; chrono t stop; chrono t show OCCT 6.7.0 - 101.5722511 sec OCCT dev - 110.76071 sec CR24751 - 35.9114302 sec |
|
Reviewed |
|
Dear BugMaster, Branch CR24751 (and products from GIT master) was compiled on Linux and Windows platforms and tested. SHA-1: 214e944630a3d6ad16e4cdb9b36f6ebb9661cf7c Number of compiler warnings: occt component : Linux: 29 (29 on master) Windows: 0 (0 on master) products component : Linux: 12 (12 on master) Windows: 2 (2 on master) Regressions/Differences: No regressions/differences Testing cases: http://occt-tests/CR24751-master-occt/Debian60-64/bugs/modalg_5/ http://occt-tests/CR24751-master-occt/Windows-32-VC9/bugs/modalg_5 bugs modalg_5 bug24751_1, bug24751_2, bug24751_3, bug24751_4, bug24751_5: OK Testing on Linux: Total MEMORY difference: 391380800 / 391531872 Total CPU difference: 52939.49000000006 / 51359.449999999655 Testing on Windows: Total MEMORY difference: 434111056 / 434230736 Total CPU difference: 36167.125 / 35761.59375 There are no differences in images found by testdiff. |
occt: master 6b1fe48c 2014-03-27 13:10:12
Committer: bugmaster Details Diff |
0024751: Performance improvements in the Edge/Edge intersection algorithm Added new static method PointBoxDistance() to compute distance between point and bounding box. Removed method IntTools_EdgeEdge::FindRoughRanges(). Test cases for issue CR24751 |
Affected Issues 0024751 |
|
mod - src/IntTools/IntTools_EdgeEdge.cdl | Diff File | ||
mod - src/IntTools/IntTools_EdgeEdge.cxx | Diff File | ||
add - tests/bugs/modalg_5/bug24751_1 | Diff File | ||
add - tests/bugs/modalg_5/bug24751_2 | Diff File | ||
add - tests/bugs/modalg_5/bug24751_3 | Diff File | ||
add - tests/bugs/modalg_5/bug24751_4 | Diff File | ||
add - tests/bugs/modalg_5/bug24751_5 | Diff File |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-03-21 17:29 |
|
New Issue | |
2014-03-21 17:29 |
|
Assigned To | => emv |
2014-03-25 15:24 |
|
Note Added: 0028464 | |
2014-03-25 15:24 |
|
Assigned To | emv => pkv |
2014-03-25 15:24 |
|
Status | new => resolved |
2014-03-25 15:24 |
|
Additional Information Updated | |
2014-03-25 15:41 |
|
Note Edited: 0028464 | |
2014-03-26 05:59 |
|
Note Added: 0028477 | |
2014-03-26 05:59 |
|
Assigned To | pkv => mkv |
2014-03-26 05:59 |
|
Status | resolved => reviewed |
2014-03-27 14:27 |
|
Note Added: 0028509 | |
2014-03-27 14:28 |
|
Test case number | => bugs modalg_5(010) bug24751_1, bug24751_2, bug24751_3, bug24751_4, bug24751_5 |
2014-03-27 14:28 |
|
Assigned To | mkv => bugmaster |
2014-03-27 14:28 |
|
Status | reviewed => tested |
2014-03-28 16:38 | bugmaster | Changeset attached | => occt master 6b1fe48c |
2014-03-28 16:38 | bugmaster | Status | tested => verified |
2014-03-28 16:38 | bugmaster | Resolution | open => fixed |
2014-05-05 13:33 |
|
Status | verified => closed |
2014-05-05 13:39 |
|
Fixed in Version | => 6.7.1 |