MantisBT - Open CASCADE
View Issue Details
0023974Open CASCADE[OCCT] OCCT:Data Exchangepublic2013-05-20 17:012018-09-09 13:06
sdv 
bugmaster 
normalminor 
closedfixed 
 
[OCCT] 7.4.0[OCCT] 7.4.0 
Not needed
0023974: Optimization of convertation to STEP.
Optimization of convertation to STEP.
In order to improve performance it is necessary to reduce number of call function Transfer_Binder::AddResult
No tags attached.
related to 0029830closed bugmaster Data Exchange, STEPCAFControl_Reader poor performance - quadratic dependence 
related to 0023979assigned gka Data Exchange - Performance problem of STEP export for large files 
7z Scripts.7z (318,791) 2013-05-21 14:27
https://tracker.dev.opencascade.org/
Issue History
2013-05-20 17:01sdvNew Issue
2013-05-20 17:01sdvAssigned To => gka
2013-05-20 17:02sdvAssigned Togka => sdv
2013-05-21 14:13sdvNote Added: 0024450
2013-05-21 14:27sdvFile Added: Scripts.7z
2013-05-21 17:53sdvRelationship addedrelated to 0023979
2013-05-21 18:29sdvAssigned Tosdv => gka
2013-05-21 18:29sdvStatusnew => resolved
2014-04-04 17:11abvTarget Version => 6.8.0
2014-09-26 18:27abvNote Added: 0032266
2014-09-26 18:28abvNote Edited: 0032266bug_revision_view_page.php?bugnote_id=32266#r8153
2014-10-17 02:36abvTarget Version6.8.0 => 7.1.0
2015-06-09 17:46abvNote Added: 0042065
2016-10-26 12:06gkaTarget Version7.1.0 => 7.2.0
2017-08-15 12:42abvTarget Version7.2.0 => 7.4.0
2018-06-09 12:48abvAssigned Togka => msv
2018-06-09 15:01msvRelationship addedrelated to 0029830
2018-06-09 15:10msvNote Added: 0076696
2018-06-09 15:11msvNote Added: 0076697
2018-06-09 18:21msvNote Added: 0076712
2018-06-09 18:21msvAssigned Tomsv => bugmaster
2018-06-09 18:21msvStatusresolved => feedback
2018-08-28 13:00bugmasterStatusfeedback => verified
2018-08-28 13:00bugmasterResolutionopen => fixed
2018-09-03 16:55bugmasterTest case number => Not needed
2018-09-09 13:06gitNote Added: 0079058

Notes
(0024450)
sdv   
2013-05-21 14:13   
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.
(0032266)
abv   
2014-09-26 18:27   
(edited on: 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

(0042065)
abv   
2015-06-09 17:46   
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 );
(0076696)
msv   
2018-06-09 15:10   
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.
(0076697)
msv   
2018-06-09 15:11   
The patch for 29830 also contains protection agains stack overflow during destruction of such model.
(0076712)
msv   
2018-06-09 18:21   
Please close this issue along with 0029830.
(0079058)
git   
2018-09-09 13:06   
Branch CR23974 has been deleted by inv.

SHA-1: 52f17edcc6bb128c061587f52b3cfb9efdd2a730