MantisBT - Community
View Issue Details
0024043Community[OCCT] OCCT:Modeling Algorithmspublic2013-06-25 21:252013-12-19 13:56
Roman Lygin 
Roman Lygin 
normalintegration request 
closedfixed 
ALL
[OCCT] 6.6.0 
[OCCT] 6.7.0[OCCT] 6.7.0 
Not needed
0024043: Performance improvements: Modeling Algorithms
Continuation of series started in 0024042

*Extrema_POnSurf
- removed inheritance from gp_Storable (reduces memory footprint)
- inlining

*GeomInt
- use of more efficient containers and allocators

*Intf
- caching out of loop variables

* IntPatch
- reduced use of sqrt()

* IntSurf
- use of NCollection_IncAllocator

*IntWalk_IWalking
- avoided copy construction of ThePathPoint
- using vector instead of sequence
- use of NCollection_IncAllocator
N/A
No tags attached.
related to 0024042closed apn Performance improvements: Foundation Classes 
Issue History
2013-06-25 21:25Roman LyginNew Issue
2013-06-25 21:25Roman LyginAssigned To => ifv
2013-06-25 21:26Roman LyginRelationship addedrelated to 0024042
2013-06-25 21:35Roman LyginNote Added: 0024865
2013-06-25 21:35Roman LyginStatusnew => resolved
2013-07-05 12:28ifvNote Added: 0024969
2013-07-05 12:28ifvAssigned Toifv => Roman Lygin
2013-07-05 12:28ifvStatusresolved => feedback
2013-07-06 14:55Roman LyginNote Added: 0024978
2013-07-06 14:55Roman LyginStatusfeedback => acknowledged
2013-07-06 15:13Roman LyginNote Added: 0024979
2013-07-08 09:51ifvNote Added: 0024982
2013-07-08 09:51ifvNote Added: 0024983
2013-07-08 09:51ifvStatusacknowledged => reviewed
2013-07-08 12:15apnAssigned ToRoman Lygin => apn
2013-07-09 12:27apnNote Added: 0024998
2013-07-09 12:28apnTest case number => Not needed
2013-07-09 12:28apnAssigned Toapn => bugmaster
2013-07-09 12:28apnStatusreviewed => tested
2013-07-09 12:28apnTarget Version => 6.7.0
2013-07-12 18:08Roman LyginChangeset attached => occt master 96a85238
2013-07-12 18:09Roman LyginAssigned Tobugmaster => Roman Lygin
2013-07-12 18:09Roman LyginStatustested => verified
2013-07-12 18:09Roman LyginResolutionopen => fixed
2013-12-19 13:53bugmasterStatusverified => closed
2013-12-19 13:56bugmasterFixed in Version => 6.7.0

Notes
(0024865)
Roman Lygin   
2013-06-25 21:35   
The fix pushed into the repository
(0024969)
ifv   
2013-07-05 12:28   
Dear Roman,
in IntPatch_Polyline
you replace myError*myError by eps_2 in one place
if (d13_2 > eps_2)
but do not replace in others:
if (d_2 > myError * myError) {
...
why?
Br
Igor
(0024978)
Roman Lygin   
2013-07-06 14:55   
Igor, sorry - I don't get the comment :-|. Please provide exact line numbers and alternative implementation, if you see something fits better. Current modification is just fully consistent with the original code but now uses square distances comparison.

Please take back ownership of the bug or forward respectively.
(0024979)
Roman Lygin   
2013-07-06 15:13   
Pushed small extra modification - ShapeAnalysis_Curve.cxx, which uses square distance comparison.
Appended to this tracker instead of opening an extra one to minimize overhead.
(0024982)
ifv   
2013-07-08 09:51   
Roman,
sorry, it is my misunderstanding of code: I did't see that myError is changed inside loop for i;
(0024983)
ifv   
2013-07-08 09:51   
Ok
(0024998)
apn   
2013-07-09 12:27   
Dear BugMaster,

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

Number of compiler warnings:

occt component :
Linux: 2 (2 on master)
Windows: 7 (7 on master)

products component :
Linux: 0 (0 on master)
Windows: 63 (63 on master)

Regressions:
No regressions

Improvements:
No improvements

Testing cases:
Not needed

Testing on Linux:
Total MEMORY difference: 365444920 / 364979588
Total CPU difference: 42723.28000000064 / 44727.920000000915

Testing on Windows:
Total MEMORY difference: 424608896 / 425561460
Total CPU difference: 35944.21875 / 41690.390625

There are not differences in images found by testdiff.