MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Related Changesets ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0031490Open CASCADE[OCCT] OCCT:Foundation Classespublic2020-04-08 10:112020-04-11 12:59
Reporterkgv 
Assigned Tobugmaster 
PrioritynormalSeverityfeature 
StatusverifiedResolutionfixed 
PlatformOSOS Version
Product Version 
Target Version[OCCT] 7.5.0*Fixed in Version 
Summary0031490: Foundation Classes, Poly_Connect - speed up temporary allocations
DescriptionPoly_Connect initialization takes considerable time on small allocations / deallocations which can be optimized by using NCollection_IncAllocator.
Steps To ReproduceN/A
Additional information
and documentation updates
The patch reduces computation of Shaded + Face Boundaries presentation time from 19 to 12 seconds on tested large triangulation-only model (19 s on master -> 16 s with Poly_Connect patch -> 12 s with fillFaceBoundaries() patch).
TagsNo tags attached.
Test case numberNot required
Attached Filespng file icon polyconnect_times.png (104,906 bytes) 2020-04-08 10:43
png file icon addedges_times.png (86,246 bytes) 2020-04-08 11:19

- Relationships

-  Notes
(0091455)
git (administrator)
2020-04-08 10:22

Branch CR31490_1 has been created by kgv.

SHA-1: 0bd94230cd4188bf8a1d1d1bf349c70aa908f88d


Detailed log of new commits:

Author: kgv
Date: Wed Apr 8 10:22:33 2020 +0300

    StdPrs_WFShape::Add() - use NCollection_IncAllocator for temporary sequences of points.
    NCollection_DefineHSequence - added constructor taking allocator.

Author: kgv
Date: Wed Apr 8 10:22:26 2020 +0300

    0031490: Foundation Classes, Poly_Connect - speed up temporary allocations
    
    Poly_Connect::Load() now uses NCollection_IncAllocator instead of new/delete
    for allocation temporary sequence elements.
(0091456)
git (administrator)
2020-04-08 10:23

Branch CR31490_2 has been created by kgv.

SHA-1: bec924fcf75081db0fdb497b8342a211d2be4bcd


Detailed log of new commits:

Author: kgv
Date: Wed Apr 8 10:22:26 2020 +0300

    0031490: Foundation Classes, Poly_Connect - speed up temporary allocations
    
    Poly_Connect::Load() now uses NCollection_IncAllocator instead of new/delete
    for allocation temporary sequence elements.
(0091458)
git (administrator)
2020-04-08 11:10

Branch CR31490_1 has been updated by kgv.

SHA-1: d9649d5c8e66e6fe575f93102959fb2c523ac4b9


Detailed log of new commits:

Author: kgv
Date: Wed Apr 8 11:10:35 2020 +0300

    StdPrs_ShadedShape, fillFaceBoundaries() now uses NCollection_IncAllocator for temporary points.

(0091459)
git (administrator)
2020-04-08 11:10

Branch CR31490_2 has been updated by kgv.

SHA-1: bd69bae95b722718cf1626ac8a8272792561a924


Detailed log of new commits:

Author: kgv
Date: Wed Apr 8 11:10:35 2020 +0300

    StdPrs_ShadedShape, fillFaceBoundaries() now uses NCollection_IncAllocator for temporary points.

(0091460)
git (administrator)
2020-04-08 11:11

Branch CR31490_3 has been created by kgv.

SHA-1: 51c991f67bca74d0466b71da75a0cf2fa13a786b


Detailed log of new commits:

Author: kgv
Date: Wed Apr 8 10:22:26 2020 +0300

    0031490: Foundation Classes, Poly_Connect - speed up temporary allocations
    
    Poly_Connect::Load() now uses NCollection_IncAllocator instead of new/delete
    for allocation temporary sequence elements.
    
    StdPrs_ShadedShape, fillFaceBoundaries() now uses NCollection_IncAllocator for temporary points.
(0091461)
git (administrator)
2020-04-08 12:30

Branch CR31490_3 has been updated forcibly by kgv.

SHA-1: a7f08ffe67158e04289b80f4e51a058eb251ad80
(0091463)
kgv (developer)
2020-04-08 14:16

Patch in OCCT branch CR31490_3 is ready for review.

http://jenkins-test-12.nnov.opencascade.com/view/CR31490_3-master-KGV [^]
(0091467)
abv (manager)
2020-04-08 21:07

Reviewed, please integrate.
OCCT branch CR31490_3 at a7f08ffe67158e04289b80f4e51a058eb251ad80
Products branch: none

Kirill, please indicate how to find the test model where you observed acceleration
(0091468)
kgv (developer)
2020-04-08 21:24

> please indicate how to find the test model
It is confidential one.
(0091491)
bugmaster (administrator)
2020-04-10 10:32

Combination -
OCCT branch : WEEK-15
master SHA - 8ca56abb96d5bd68dea0dbb116a68ce15295fb71
a206de37fbfa0bf71bd534ae47192bbec23b8522
Products branch : WEEK-15 SHA - 8eb244753336daf5f887198e20b30ea5da22fe6b
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 16879.130000000314 / 16879.510000000293 [-0.00%]
Products
Total CPU difference: 11275.300000000085 / 11333.720000000112 [-0.52%]
Windows-64-VC14:
OCCT
Total CPU difference: 18288.421875 / 18357.296875 [-0.38%]
Products
Total CPU difference: 13094.125 / 13129.8125 [-0.27%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention
(0091515)
git (administrator)
2020-04-11 12:59

Branch CR31490_3 has been deleted by inv.

SHA-1: a7f08ffe67158e04289b80f4e51a058eb251ad80
(0091516)
git (administrator)
2020-04-11 12:59

Branch CR31490_2 has been deleted by inv.

SHA-1: bd69bae95b722718cf1626ac8a8272792561a924
(0091517)
git (administrator)
2020-04-11 12:59

Branch CR31490_1 has been deleted by inv.

SHA-1: d9649d5c8e66e6fe575f93102959fb2c523ac4b9

- Related Changesets
occt: master 8f08e231
Timestamp: 2020-04-08 07:22:26
Author: kgv
Committer: bugmaster
Details ] Diff ]
0031490: Foundation Classes, Poly_Connect - speed up temporary allocations

Poly_Connect::Load() now uses NCollection_IncAllocator instead of new/delete
for allocation temporary sequence elements.

StdPrs_ShadedShape, fillFaceBoundaries() now uses NCollection_IncAllocator for temporary points.
mod - src/Poly/Poly_Connect.cxx Diff ] File ]
mod - src/StdPrs/StdPrs_ShadedShape.cxx Diff ] File ]

- Issue History
Date Modified Username Field Change
2020-04-08 10:11 kgv New Issue
2020-04-08 10:11 kgv Assigned To => abv
2020-04-08 10:22 git Note Added: 0091455
2020-04-08 10:23 git Note Added: 0091456
2020-04-08 10:43 kgv File Added: polyconnect_times.png
2020-04-08 11:10 git Note Added: 0091458
2020-04-08 11:10 git Note Added: 0091459
2020-04-08 11:11 git Note Added: 0091460
2020-04-08 11:16 kgv Additional Information Updated View Revisions
2020-04-08 11:19 kgv File Added: addedges_times.png
2020-04-08 12:30 git Note Added: 0091461
2020-04-08 14:16 kgv Note Added: 0091463
2020-04-08 14:16 kgv Status new => resolved
2020-04-08 21:07 abv Note Added: 0091467
2020-04-08 21:24 kgv Note Added: 0091468
2020-04-08 21:25 kgv Assigned To abv => bugmaster
2020-04-08 21:25 kgv Status resolved => reviewed
2020-04-10 10:32 bugmaster Note Added: 0091491
2020-04-10 10:32 bugmaster Status reviewed => tested
2020-04-10 10:33 bugmaster Test case number => Not required
2020-04-11 12:28 bugmaster Changeset attached => occt master 8f08e231
2020-04-11 12:28 bugmaster Status tested => verified
2020-04-11 12:28 bugmaster Resolution open => fixed
2020-04-11 12:59 git Note Added: 0091515
2020-04-11 12:59 git Note Added: 0091516
2020-04-11 12:59 git Note Added: 0091517


Copyright © 2000 - 2020 MantisBT Team
Powered by Mantis Bugtracker