View Issue Details

IDProjectCategoryView StatusLast Update
0027895Open CASCADEOCCT:Modeling Algorithmspublic2016-12-09 16:40
ReporternbvAssigned Toapn  
PrioritylowSeverityfeature 
Status closedResolutionfixed 
Product Version7.0.0 
Target Version7.1.0Fixed in Version7.1.0 
Summary0027895: Correction in the constructor Extrema_ExtElC::Extrema_ExtElC (const gp_Lin&,const gp_Lin&,const Standard_Real)
DescriptionComputation of Line-Line extrema is quite simply algorithm. However, it is implemented in OCCT with complicated code.

More over, existing algorithm is not symmetrical (parameter on the second line is computed through the parameter on the first one).
Steps To ReproduceNew test case is not required.
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • script.tcl (346 bytes)

Relationships

parent of 0027896 closedapn Prm-Prm intersection algo returns wrong result if it is called with start intersection point, which lies in the domain boundary 

Activities

git

2016-09-22 16:47

administrator   ~0058032

Branch CR27895 has been created by nbv.

SHA-1: 89edad2fcacb5f93921c541305c9a52d22306b1f


Detailed log of new commits:

Author: nbv
Date: Thu Sep 22 16:46:12 2016 +0300

    0027895: Constructor Extrema_ExtElC::Extrema_ExtElC (const gp_Lin&,const gp_Lin&,const Standard_Real) should be optimized
    
    Computation algorithm is made more simple.

git

2016-09-22 17:49

administrator   ~0058038

Branch CR27895 has been updated forcibly by nbv.

SHA-1: b48b6252519d2c41cbf96f527fe3d2e4b5fe559a

git

2016-09-28 12:54

administrator   ~0058242

Branch CR27895 has been updated forcibly by nbv.

SHA-1: 1e6ffda6e5e68ccce8e380b6fc8de1a6b7a6478c

nbv

2016-09-28 13:01

developer   ~0058244

Dear Mikhail (MSV),

Please review CR27895 (for OCCT) and CR27895_prod (for OCCT-products) branches.

Ask to pay attention to the fact that they are rebased on the fix for issue 0023178. Therefor, there is no point in integrating (and testing) the current fix before the fix for issue 0023178.

nbv

2016-09-28 15:04

developer   ~0058263

I observed on this fix the same problem in the test "cr/standard/E1" as on the fix for issue 0023178. Corrected in CR23178_prod test script solves both problems.

In order to avoid conflicts while merging branches CR27895_prod and CR23178_prod, I have rebased CR27895_prod on CR23178_prod and CR27895 on CR23178_13.

In fact, fixes 0027895 and 0023178 are independent.

msv

2016-09-28 15:12

developer   ~0058265

Reviewed.

abv

2016-09-28 16:19

manager   ~0058272

Nikolay, when you write "should be optimized", you must have some use cases where this optimization will improve performance. Please provide such case and results of your measurements on how much performance has increased.

mkv

2016-09-29 11:53

tester   ~0058298

Last edited: 2016-09-29 12:02

Dear BugMaster,
Branch CR27895 from occt git-repository (and CR27895_prod from products git-repository) was compiled on Linux, MacOS and Windows platforms and tested on Release mode.
SHA-1: 1e6ffda6e5e68ccce8e380b6fc8de1a6b7a6478c
SHA-1: 9021b0ebe0f0b276f12cedb45b2995fd979a5911

Number of compiler warnings:

occt component :
Linux: 0 (0 on master)
Windows: 0 (0 on master)
MacOS : 0 (0 on master)

products component :
Linux: 64 (64 on master)
Windows: 0 (0 on master)
MacOS : 1138

Regressions/Differences/Improvements:
No regressions/differences

Testing cases:
Not needed

Testing on Linux:
occt component :
Total MEMORY difference: 90524877 / 90243551 [+0.31%]
Total CPU difference: 19378.479999999894 / 19251.849999999875 [+0.66%]
products component :
Total MEMORY difference: 29941609 / 29971522 [-0.10%]
Total CPU difference: 5159.0399999999745 / 5131.389999999977 [+0.54%]

Testing on Windows:
occt component :
Total MEMORY difference: 57223969 / 57221541 [+0.00%]
Total CPU difference: 17973.639614898573 / 18310.78897609872 [-1.84%]
products component :
Total MEMORY difference: 21276094 / 21235672 [+0.19%]
Total CPU difference: 4952.54814689996 / 4988.631178199945 [-0.72%]

There are following differences in images found by testdiff.
http://occt-tests/CR27895-CR27895_prod-OCCT/Debian70-64/diff-Debian70-64.html
http://occt-tests/CR27895-CR27895_prod-OCCT/Windows-64-VC10/diff-Windows-64-VC10-image.html
IMAGE boolean bopfuse_simple ZF1: ZF1.png differs
IMAGE boolean bopfuse_simple ZE7: ZE7.png differs
IMAGE boolean bopfuse_simple ZE8: ZE8.png differs
IMAGE boolean bopcut_simple ZF1: ZF1.png differs
IMAGE boolean bopcut_simple ZE7: ZE7.png differs
IMAGE boolean bopcut_simple ZE8: ZE8.png differs
IMAGE bugs modalg_5 bug25292_11: bug25292_11.png differs
IMAGE bugs modalg_5 bug25292_12: bug25292_12.png differs
IMAGE bugs modalg_6 bug27766: bug27766.png differs
IMAGE bugs modalg_6 bug27310_2: bug27310_2.png differs
 These differences are validate (see message ~0058087)

mkv

2016-09-29 11:54

tester   ~0058299

Dear BugMaster,
Branch CR27895 from occt git-repository and CR27895_prod from products git-repository are TESTED.

nbv

2016-09-29 13:42

developer   ~0058315

Dear Andrei (ABV),

My answer to the message 0027895:0058272 is

Result output from the attached file "script.tcl":


------------------------------------------
        MASTER:
Elapsed time: 0 Hours 2 Minutes 24.7006926716 Seconds
CPU user time: 144.484375 seconds
CPU system time: 0 seconds

Allocated memory = 294912
------------------------------------------

        FIX:
Elapsed time: 0 Hours 2 Minutes 22.3999226241 Seconds
CPU user time: 142.328125 seconds
CPU system time: 0 seconds

Allocated memory = 0
-------------------------------------------

CONCLUSION:

The FIX uses less allocated memory. Performance output seems to be fluctuation (we do not win in performance indeed).

nbv

2016-09-29 13:43

developer  

script.tcl (346 bytes)

git

2016-10-28 21:42

administrator   ~0059457

Branch CR27895 has been deleted by kgv.

SHA-1: 1e6ffda6e5e68ccce8e380b6fc8de1a6b7a6478c

Related Changesets

occt: master 4e283d33

2016-09-22 13:46:12

nbv


Committer: apn Details Diff
0027895: Correction in the constructor Extrema_ExtElC::Extrema_ExtElC (const gp_Lin&,const gp_Lin&,const Standard_Real)

Computation algorithm is made more simple.
Adjusting some test cases according to their new behavior.
Affected Issues
0027895
mod - src/Extrema/Extrema_ExtElC.cxx Diff File
mod - tests/bugs/modalg_5/bug25319_1 Diff File
mod - tests/bugs/modalg_5/bug25319_2 Diff File

Issue History

Date Modified Username Field Change
2016-09-22 16:00 nbv New Issue
2016-09-22 16:00 nbv Assigned To => msv
2016-09-22 16:12 nbv Description Updated
2016-09-22 16:14 msv Priority normal => low
2016-09-22 16:14 msv Status new => assigned
2016-09-22 16:14 msv Product Version Unscheduled => 7.0.0
2016-09-22 16:43 nbv Relationship added parent of 0027896
2016-09-22 16:47 git Note Added: 0058032
2016-09-22 17:49 git Note Added: 0058038
2016-09-28 12:54 git Note Added: 0058242
2016-09-28 13:01 nbv Note Added: 0058244
2016-09-28 13:01 nbv Status assigned => resolved
2016-09-28 15:04 nbv Note Added: 0058263
2016-09-28 15:12 msv Note Added: 0058265
2016-09-28 15:12 msv Assigned To msv => bugmaster
2016-09-28 15:12 msv Status resolved => reviewed
2016-09-28 15:26 mkv Assigned To bugmaster => mkv
2016-09-28 16:19 abv Note Added: 0058272
2016-09-28 17:35 nbv Summary Constructor Extrema_ExtElC::Extrema_ExtElC (const gp_Lin&,const gp_Lin&,const Standard_Real) should be optimized => Correction in the constructor Extrema_ExtElC::Extrema_ExtElC (const gp_Lin&,const gp_Lin&,const Standard_Real)
2016-09-28 17:35 nbv Description Updated
2016-09-29 11:53 mkv Note Added: 0058298
2016-09-29 11:54 mkv Note Added: 0058299
2016-09-29 11:54 mkv Assigned To mkv => bugmaster
2016-09-29 11:54 mkv Status reviewed => tested
2016-09-29 11:56 mkv Note Edited: 0058298
2016-09-29 12:02 mkv Note Edited: 0058298
2016-09-29 13:42 nbv Note Added: 0058315
2016-09-29 13:43 nbv File Added: script.tcl
2016-10-03 15:16 mkv Test case number => Not needed
2016-10-07 16:09 apn Changeset attached => occt master 4e283d33
2016-10-07 16:09 apn Assigned To bugmaster => apn
2016-10-07 16:09 apn Status tested => verified
2016-10-07 16:09 apn Resolution open => fixed
2016-10-28 21:42 git Note Added: 0059457
2016-12-09 16:28 aiv Status verified => closed
2016-12-09 16:40 aiv Fixed in Version => 7.1.0