MantisBT - Open CASCADE
View Issue Details
0027895Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2016-09-22 16:002016-12-09 16:40
nbv 
apn 
lowfeature 
closedfixed 
[OCCT] 7.0.0 
[OCCT] 7.1.0[OCCT] 7.1.0 
Not needed
0027895: Correction in the constructor Extrema_ExtElC::Extrema_ExtElC (const gp_Lin&,const gp_Lin&,const Standard_Real)
Computation 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).
New test case is not required.
No tags attached.
parent of 0027896closed apn Prm-Prm intersection algo returns wrong result if it is called with start intersection point, which lies in the domain boundary 
? script.tcl (346) 2016-09-29 13:43
https://tracker.dev.opencascade.org/
Issue History
2016-09-22 16:00nbvNew Issue
2016-09-22 16:00nbvAssigned To => msv
2016-09-22 16:12nbvDescription Updatedbug_revision_view_page.php?rev_id=14766#r14766
2016-09-22 16:14msvPrioritynormal => low
2016-09-22 16:14msvStatusnew => assigned
2016-09-22 16:14msvProduct VersionUnscheduled => 7.0.0
2016-09-22 16:43nbvRelationship addedparent of 0027896
2016-09-22 16:47gitNote Added: 0058032
2016-09-22 17:49gitNote Added: 0058038
2016-09-28 12:54gitNote Added: 0058242
2016-09-28 13:01nbvNote Added: 0058244
2016-09-28 13:01nbvStatusassigned => resolved
2016-09-28 15:04nbvNote Added: 0058263
2016-09-28 15:12msvNote Added: 0058265
2016-09-28 15:12msvAssigned Tomsv => bugmaster
2016-09-28 15:12msvStatusresolved => reviewed
2016-09-28 15:26mkvAssigned Tobugmaster => mkv
2016-09-28 16:19abvNote Added: 0058272
2016-09-28 17:35nbvSummaryConstructor 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:35nbvDescription Updatedbug_revision_view_page.php?rev_id=14828#r14828
2016-09-29 11:53mkvNote Added: 0058298
2016-09-29 11:54mkvNote Added: 0058299
2016-09-29 11:54mkvAssigned Tomkv => bugmaster
2016-09-29 11:54mkvStatusreviewed => tested
2016-09-29 11:56mkvNote Edited: 0058298bug_revision_view_page.php?bugnote_id=58298#r14840
2016-09-29 12:02mkvNote Edited: 0058298bug_revision_view_page.php?bugnote_id=58298#r14841
2016-09-29 13:42nbvNote Added: 0058315
2016-09-29 13:43nbvFile Added: script.tcl
2016-10-03 15:16mkvTest case number => Not needed
2016-10-07 16:09apnChangeset attached => occt master 4e283d33
2016-10-07 16:09apnAssigned Tobugmaster => apn
2016-10-07 16:09apnStatustested => verified
2016-10-07 16:09apnResolutionopen => fixed
2016-10-28 21:42gitNote Added: 0059457
2016-12-09 16:28aivStatusverified => closed
2016-12-09 16:40aivFixed in Version => 7.1.0

Notes
(0058032)
git   
2016-09-22 16:47   
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.
(0058038)
git   
2016-09-22 17:49   
Branch CR27895 has been updated forcibly by nbv.

SHA-1: b48b6252519d2c41cbf96f527fe3d2e4b5fe559a
(0058242)
git   
2016-09-28 12:54   
Branch CR27895 has been updated forcibly by nbv.

SHA-1: 1e6ffda6e5e68ccce8e380b6fc8de1a6b7a6478c
(0058244)
nbv   
2016-09-28 13:01   
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.
(0058263)
nbv   
2016-09-28 15:04   
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.
(0058265)
msv   
2016-09-28 15:12   
Reviewed.
(0058272)
abv   
2016-09-28 16:19   
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.
(0058298)
mkv   
2016-09-29 11:53   
(edited on: 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)

(0058299)
mkv   
2016-09-29 11:54   
Dear BugMaster,
Branch CR27895 from occt git-repository and CR27895_prod from products git-repository are TESTED.
(0058315)
nbv   
2016-09-29 13:42   
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).
(0059457)
git   
2016-10-28 21:42   
Branch CR27895 has been deleted by kgv.

SHA-1: 1e6ffda6e5e68ccce8e380b6fc8de1a6b7a6478c