View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0024043 | Community | OCCT:Modeling Algorithms | public | 2013-06-25 21:25 | 2013-12-19 13:56 |
Reporter | Roman Lygin | Assigned To | Roman Lygin | ||
Priority | normal | Severity | integration request | ||
Status | closed | Resolution | fixed | ||
Platform | A | OS | L | ||
Product Version | 6.6.0 | ||||
Target Version | 6.7.0 | Fixed in Version | 6.7.0 | ||
Summary | 0024043: Performance improvements: Modeling Algorithms | ||||
Description | 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 | ||||
Steps To Reproduce | N/A | ||||
Tags | No tags attached. | ||||
Test case number | Not needed | ||||
|
The fix pushed into the repository |
|
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 |
|
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. |
|
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. |
|
Roman, sorry, it is my misunderstanding of code: I did't see that myError is changed inside loop for i; |
|
Ok |
|
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. |
occt: master 96a85238 2013-07-12 08:27:30 Details Diff |
0024043: Performance improvements: Modeling Algorithms Performance improvements: Modeling Algorithms (added Shape Healing) Added TODO to unstable test cases |
Affected Issues 0024043 |
|
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 |
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 |
|
Note Added: 0024969 | |
2013-07-05 12:28 |
|
Assigned To | ifv => Roman Lygin |
2013-07-05 12:28 |
|
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 |
|
Note Added: 0024982 | |
2013-07-08 09:51 |
|
Note Added: 0024983 | |
2013-07-08 09:51 |
|
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 |