View Issue Details

IDProjectCategoryView StatusLast Update
0023974Open CASCADEOCCT:Data Exchangepublic2018-09-09 13:06
ReportersdvAssigned Tobugmaster  
PrioritynormalSeverityminor 
Status closedResolutionfixed 
Target Version7.4.0Fixed in Version7.4.0 
Summary0023974: Optimization of convertation to STEP.
DescriptionOptimization of convertation to STEP.
In order to improve performance it is necessary to reduce number of call function Transfer_Binder::AddResult
TagsNo tags attached.
Test case numberNot needed

Attached Files

  • Scripts.7z (318,791 bytes)

Relationships

related to 0029830 closedbugmaster Data Exchange, STEPCAFControl_Reader poor performance - quadratic dependence 
related to 0023979 assigneddpasukhi Data Exchange - Performance problem of STEP export for large files 

Activities

sdv

2013-05-21 14:13

developer   ~0024450

Attached archive contains 2 scripts: t1 and t3. Each script opens BREP file and convert it to STEP format. First script convert 1000 prisms, t3 -- 3000.
Initially t1 was executed during 45 seconds, t3 -- 3m 45s.
After modification: t1 -- 25s, t3 -- 50s.

sdv

2013-05-21 14:27

developer  

Scripts.7z (318,791 bytes)

abv

2014-09-26 18:27

manager   ~0032266

Last edited: 2014-09-26 18:28

I have tested the fix on current maater; my results on t1 is: 7.5 sec on master, 2.7 sec with the fix. There are two problems however (both on master and with the fix):

- if I add 'newmodel' before 'stepwrite', test becomes much longer (35 and 26 sec, respectively)

- calling 'newmodel' after the test (or repeating it twice) kills DRAW

abv

2015-06-09 17:46

manager   ~0042065

See message of user Timo on OCCT forum, which can be related to similar problem:
http://www.opencascade.org/org/forum/thread_27183/?forum=3


When STEPControl_Writer::Transfer () is called multiple times in order to export a list of shapes to a common STEP file, the performance might be bad because the third parameter "compgraph" of the Transfer function is true by default. It means after every translation of a shape the graph is rebuilt.

Instead this parameter can be set to false and only after all shapes are translated the graph can be built once only by:

writer.WS()->ComputeGraph(Standard_True );

msv

2018-06-09 15:10

developer   ~0076696

The patch for 0029830 fixes this issue.
The following timings for scripts:
t1 - 2.7 s
t3 - 8 s

There is no need to create such test case, as the patch 29830 contains the similar test cases where a dozens of shapes are put in the same compound and written to STEP model.

msv

2018-06-09 15:11

developer   ~0076697

The patch for 29830 also contains protection agains stack overflow during destruction of such model.

msv

2018-06-09 18:21

developer   ~0076712

Please close this issue along with 0029830.

git

2018-09-09 13:06

administrator   ~0079058

Branch CR23974 has been deleted by inv.

SHA-1: 52f17edcc6bb128c061587f52b3cfb9efdd2a730

Issue History

Date Modified Username Field Change
2013-05-20 17:01 sdv New Issue
2013-05-20 17:01 sdv Assigned To => gka
2013-05-20 17:02 sdv Assigned To gka => sdv
2013-05-21 14:13 sdv Note Added: 0024450
2013-05-21 14:27 sdv File Added: Scripts.7z
2013-05-21 17:53 sdv Relationship added related to 0023979
2013-05-21 18:29 sdv Assigned To sdv => gka
2013-05-21 18:29 sdv Status new => resolved
2014-04-04 17:11 abv Target Version => 6.8.0
2014-09-26 18:27 abv Note Added: 0032266
2014-09-26 18:28 abv Note Edited: 0032266
2014-10-17 02:36 abv Target Version 6.8.0 => 7.1.0
2015-06-09 17:46 abv Note Added: 0042065
2016-10-26 12:06 gka Target Version 7.1.0 => 7.2.0
2017-08-15 12:42 abv Target Version 7.2.0 => 7.4.0
2018-06-09 12:48 abv Assigned To gka => msv
2018-06-09 15:01 msv Relationship added related to 0029830
2018-06-09 15:10 msv Note Added: 0076696
2018-06-09 15:11 msv Note Added: 0076697
2018-06-09 18:21 msv Note Added: 0076712
2018-06-09 18:21 msv Assigned To msv => bugmaster
2018-06-09 18:21 msv Status resolved => feedback
2018-08-28 13:00 bugmaster Status feedback => verified
2018-08-28 13:00 bugmaster Resolution open => fixed
2018-09-03 16:55 bugmaster Test case number => Not needed
2018-09-09 13:06 git Note Added: 0079058