View Issue Details

IDProjectCategoryView StatusLast Update
0024208Open CASCADEOCCT:Modeling Algorithmspublic2018-06-14 09:36
ReporterifvAssigned Toapn  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
PlatformAOSL 
Target Version6.7.1Fixed in Version6.7.1 
Summary0024208: Optimization of the edge-edge and edge-face intersection algorithms
DescriptionOptimization of the algorithm for calculation of edge-edge and edge-face common parts (classes IntTools_BeanBeanIntersector, IntTools_BeanFaceIntersector);
see http://dev.opencascade.org/index.php?q=home/projects/modeling for details
Additional information
and documentation updates
New Edge/Edge intersection algorithm (based on the intersection between edges bounding boxes).
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • New_EdgeEdge_vs_Old.doc (45,568 bytes)
  • HYDRO_test_cases.doc (45,568 bytes)

Relationships

related to 0029769 closedabv Community Foundation Classes - Uninitialized data with BSplCLib_Cache, BSplSLib_Cache 

Activities

emv

2014-01-31 09:08

developer   ~0027709

Git branch CR24208 is ready to be reviewed.

ifv

2014-01-31 11:48

developer   ~0027718

Ok

mkv

2014-02-03 10:47

tester   ~0027724

Dear BugMaster,

Branch CR24208 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: d064a155ea25ddf56a30188f26bd0314d08b3505

Number of compiler warnings:

occt component :
Linux: 45 (44 on master)
Windows: 1 (1 on master)

New additional warning on Linux platform:
IntTools_EdgeEdge.cxx:870, GNU C Compiler 4 (gcc), Priority: Normal
suggest parentheses around ‘&&’ within ‘||’

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 370655752 / 372411404
Total CPU difference: 43789.78000000015 / 43919.8800000002

Testing on Windows:
Total MEMORY difference: 418587056 / 409807300
Total CPU difference: 35830.734375 / 35405.234375

There are not differences in images found by testdiff.
http://occt-tests/CR24208-master-occt/Debian60-64/diff-Debian60-64.html
http://occt-tests/CR24208-master-occt/Windows-32-VC9/diff-Windows-32-VC9.html
IMAGE boolean boptuc_2d O1: O1.png differs
IMAGE boolean boptuc_2d O5: O5.png differs
IMAGE boolean boptuc_2d P4: P4.png differs
IMAGE boolean boptuc_2d O9: O9.png differs
IMAGE boolean bcut_2d Q7: Q7.png differs
IMAGE boolean bcut_2d S5: S5.png differs
IMAGE boolean bcut_2d P9: P9.png differs
IMAGE boolean bcut_2d Q8: Q8.png differs
IMAGE boolean bcut_2d R6: R6.png differs
IMAGE boolean bcut_2d P8: P8.png differs
IMAGE boolean bcut_2d R7: R7.png differs
IMAGE boolean bcut_2d S6: S6.png differs
IMAGE boolean bfuse_2d C1: C1.png differs
IMAGE boolean bfuse_2d B6: B6.png differs
IMAGE boolean bfuse_2d C5: C5.png differs
IMAGE boolean bfuse_2d C9: C9.png differs
IMAGE boolean bopcut_2d C8: C8.png differs
IMAGE boolean bopcut_2d D3: D3.png differs
IMAGE boolean bopcut_2d C4: C4.png differs
IMAGE boolean bopcut_2d B9: B9.png differs
IMAGE boolean bopfuse_2d C1: C1.png differs
IMAGE boolean bopfuse_2d B6: B6.png differs
IMAGE boolean bopfuse_2d C5: C5.png differs
IMAGE boolean bopfuse_2d C9: C9.png differs

emv

2014-02-03 12:35

developer   ~0027729

The warning has been removed. The differences in images are OK (not regressions). Please test again.

abv

2014-02-03 15:37

manager   ~0027736

Eugene, as soon as the subject of this change is optimization, please provide results of performance measurements confirming improved performance of the algorithms.

mkv

2014-02-04 16:09

tester   ~0027751

Dear BugMaster,

Branch CR24208 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
SHA-1: 9da772cf4c9b3db7d35b95929cb5ce625cc20c42

Number of compiler warnings:

occt component :
Linux: 44 (44 on master)
Windows: 1 (1 on master)

products component :
Linux: 12 (12 on master)
Windows: 2 (2 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 370842804 / 372384644
Total CPU difference: 41843.92000000001 / 43917.86000000019

Testing on Windows:
Total MEMORY difference: 418900628 / 409793128
Total CPU difference: 33854.1875 / 35404.484375

There are not differences in images found by testdiff.

emv

2014-02-28 11:05

developer  

New_EdgeEdge_vs_Old.doc (45,568 bytes)

emv

2014-02-28 11:05

developer  

HYDRO_test_cases.doc (45,568 bytes)

emv

2014-02-28 11:09

developer   ~0028069

I have attached two documents containing performance measurements between two Edge/Edge intersection algorithms on the different sets of tests:
New_EdgeEdge_vs_Old.doc - on the OCCT test cases;
HYDRO_test_cases.doc - on the HYDRO test cases (see issue 0024673).

abv

2014-02-28 14:50

manager   ~0028076

Eugene, thank you for the report! Please explain what times have been measured: of the whole test or of intersection (or whole BOP) algorithm only?

emv

2014-02-28 15:03

developer   ~0028077

Last edited: 2014-02-28 15:03

The documents contain the time measurements of the whole test cases.

Related Changesets

occt: master ec0cdc0e

2014-02-06 07:07:02

emv


Committer: apn Details Diff
0024208: Optimization of the edge-edge and edge-face intersection algorithms

New Edge/Edge intersection algorithm (based on the intersection between edges bounding boxes).
Small correction.
Affected Issues
0024208
mod - src/BOPAlgo/BOPAlgo_ArgumentAnalyzer.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_3.cxx Diff File
mod - src/BOPAlgo/BOPAlgo_PaveFiller_6.cxx Diff File
rm - src/IntTools/FILES Diff File
mod - src/IntTools/IntTools.cdl Diff File
rm - src/IntTools/IntTools_BeanBeanIntersector.cdl Diff File
rm - src/IntTools/IntTools_BeanBeanIntersector.cxx Diff File
rm - src/IntTools/IntTools_BeanBeanIntersector.lxx Diff File
mod - src/IntTools/IntTools_EdgeEdge.cdl Diff File
mod - src/IntTools/IntTools_EdgeEdge.cxx Diff File
add - src/IntTools/IntTools_EdgeEdge.lxx Diff File
rm - src/IntTools/IntTools_EdgeEdge_1.cxx Diff File

Issue History

Date Modified Username Field Change
2013-09-27 15:05 ifv New Issue
2013-09-27 15:05 ifv Assigned To => ifv
2013-09-27 15:32 ifv Assigned To ifv => emv
2014-01-31 09:08 emv Note Added: 0027709
2014-01-31 09:08 emv Assigned To emv => ifv
2014-01-31 09:08 emv Status new => resolved
2014-01-31 09:08 emv Additional Information Updated
2014-01-31 11:48 ifv Note Added: 0027718
2014-01-31 11:48 ifv Status resolved => reviewed
2014-01-31 11:56 mkv Assigned To ifv => mkv
2014-02-03 10:47 mkv Note Added: 0027724
2014-02-03 10:49 mkv Test case number => Not needed
2014-02-03 10:49 mkv Assigned To mkv => emv
2014-02-03 10:49 mkv Status reviewed => assigned
2014-02-03 12:35 emv Note Added: 0027729
2014-02-03 12:35 emv Assigned To emv => mkv
2014-02-03 12:35 emv Status assigned => resolved
2014-02-03 12:35 emv Status resolved => reviewed
2014-02-03 15:37 abv Note Added: 0027736
2014-02-04 16:09 mkv Note Added: 0027751
2014-02-04 16:09 mkv Status reviewed => tested
2014-02-04 19:04 mkv Assigned To mkv => bugmaster
2014-02-05 12:53 abv Target Version => 6.7.1
2014-02-10 12:41 apn Changeset attached => occt master ec0cdc0e
2014-02-10 12:41 apn Assigned To bugmaster => apn
2014-02-10 12:41 apn Status tested => verified
2014-02-10 12:41 apn Resolution open => fixed
2014-02-28 11:05 emv File Added: New_EdgeEdge_vs_Old.doc
2014-02-28 11:05 emv File Added: HYDRO_test_cases.doc
2014-02-28 11:09 emv Note Added: 0028069
2014-02-28 14:50 abv Note Added: 0028076
2014-02-28 15:03 emv Note Added: 0028077
2014-02-28 15:03 emv Note Edited: 0028077
2014-05-05 13:34 aiv Status verified => closed
2014-05-05 13:38 aiv Fixed in Version => 6.7.1
2018-06-14 09:36 abv Relationship added related to 0029769