MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024043Community[OCCT] OCCT:Modeling Algorithmspublic2013-06-25 21:252013-12-19 13:56
ReporterRoman Lygin 
Assigned ToRoman Lygin 
PrioritynormalSeverityintegration request 
StatusclosedResolutionfixed 
PlatformAOSLOS VersionL
Product Version[OCCT] 6.6.0 
Target Version[OCCT] 6.7.0Fixed in Version[OCCT] 6.7.0 
Summary0024043: Performance improvements: Modeling Algorithms
DescriptionContinuation 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
Steps To ReproduceN/A
TagsNo tags attached.
Test case numberNot needed
Attached Files

- Relationships
related to 0024042closedapn Performance improvements: Foundation Classes 

-  Notes
(0024865)
Roman Lygin (developer)
2013-06-25 21:35

The fix pushed into the repository
(0024969)
ifv (developer)
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 (developer)
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 (developer)
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 (developer)
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 (developer)
2013-07-08 09:51

Ok
(0024998)
apn (administrator)
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.

- Related Changesets
occt: master 96a85238
Timestamp: 2013-07-12 08:27:30
Author: Roman Lygin
Details ] Diff ]
0024043: Performance improvements: Modeling Algorithms

Performance improvements: Modeling Algorithms (added Shape Healing)
Added TODO to unstable test cases
mod - src/Extrema/Extrema_POnSurf.cdl Diff ] File ]
mod - src/Extrema/Extrema_POnSurf.cxx Diff ] File ]
mod - src/Extrema/Extrema_POnSurf.lxx Diff ] File ]
mod - src/GeomInt/GeomInt_IntSS_1.cxx Diff ] File ]
mod - src/Intf/Intf_InterferencePolygon2d.cxx Diff ] File ]
mod - src/IntPatch/IntPatch_PolyLine.cxx Diff ] File ]
add - src/IntSurf/FILES Diff ] File ]
mod - src/IntSurf/IntSurf.cdl Diff ] File ]
add - src/IntSurf/IntSurf_Allocator.hxx Diff ] File ]
mod - src/IntSurf/IntSurf_LineOn2S.cdl Diff ] File ]
mod - src/IntSurf/IntSurf_LineOn2S.cxx Diff ] File ]
add - src/IntSurf/IntSurf_SequenceOfPntOn2S.hxx Diff ] File ]
mod - src/IntWalk/FILES Diff ] File ]
mod - src/IntWalk/IntWalk.cdl Diff ] File ]
mod - src/IntWalk/IntWalk_IWalking.cdl Diff ] File ]
mod - src/IntWalk/IntWalk_IWalking_1.gxx Diff ] File ]
mod - src/IntWalk/IntWalk_IWalking_2.gxx Diff ] File ]
mod - src/IntWalk/IntWalk_IWalking_3.gxx Diff ] File ]
mod - src/IntWalk/IntWalk_IWalking_4.gxx Diff ] File ]
mod - src/IntWalk/IntWalk_IWalking_6.gxx Diff ] File ]
mod - src/IntWalk/IntWalk_IWLine.cdl Diff ] File ]
mod - src/IntWalk/IntWalk_IWLine.gxx Diff ] File ]
add - src/IntWalk/IntWalk_VectorOfInteger.hxx Diff ] File ]
add - src/IntWalk/IntWalk_VectorOfWalkingData.hxx Diff ] File ]
mod - src/ShapeAnalysis/ShapeAnalysis_Curve.cxx Diff ] File ]
mod - tests/bugs/fclasses/bug7287_1 Diff ] File ]
mod - tests/de/iges_3/A9 Diff ] File ]
mod - tests/de/step_1/J6 Diff ] File ]

- Issue History
Date Modified Username Field Change
2013-06-25 21:25 Roman Lygin New Issue
2013-06-25 21:25 Roman Lygin Assigned To => ifv
2013-06-25 21:26 Roman Lygin Relationship added related to 0024042
2013-06-25 21:35 Roman Lygin Note Added: 0024865
2013-06-25 21:35 Roman Lygin Status new => resolved
2013-07-05 12:28 ifv Note Added: 0024969
2013-07-05 12:28 ifv Assigned To ifv => Roman Lygin
2013-07-05 12:28 ifv Status resolved => feedback
2013-07-06 14:55 Roman Lygin Note Added: 0024978
2013-07-06 14:55 Roman Lygin Status feedback => acknowledged
2013-07-06 15:13 Roman Lygin Note Added: 0024979
2013-07-08 09:51 ifv Note Added: 0024982
2013-07-08 09:51 ifv Note Added: 0024983
2013-07-08 09:51 ifv Status acknowledged => reviewed
2013-07-08 12:15 apn Assigned To Roman Lygin => apn
2013-07-09 12:27 apn Note Added: 0024998
2013-07-09 12:28 apn Test case number => Not needed
2013-07-09 12:28 apn Assigned To apn => bugmaster
2013-07-09 12:28 apn Status reviewed => tested
2013-07-09 12:28 apn Target Version => 6.7.0
2013-07-12 18:08 Roman Lygin Changeset attached => occt master 96a85238
2013-07-12 18:09 Roman Lygin Assigned To bugmaster => Roman Lygin
2013-07-12 18:09 Roman Lygin Status tested => verified
2013-07-12 18:09 Roman Lygin Resolution open => fixed
2013-12-19 13:53 bugmaster Status verified => closed
2013-12-19 13:56 bugmaster Fixed in Version => 6.7.0


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker