DiscussionsIssue archiveOCCT:Modeling Algorithms

Archived issue #0024264

OCCT 6.6.0: cutting 1600 cylinders from a box leads to out-of-memory on 32-bit system

Open CASCADEOCCT:Modeling Algorithmsclosed4 public notes

Search issues

Description

This issue is aimed to add a test case for performance of operation of running BOP on big amount of small objects, inspired by http://www.opencascade.org/org/forum/thread_12369/?forum=3

In OCCT 6.6.0, cutting 1600 cylinders from a box leads to out-of-memory on 32-bit system (Windows VC9).

On current master it works fine in less than 2 min

Public activity

4 archived notes

Participants are labeled by their role within this record.

01Commenter 1
Dear abv, please give some details how is cutting performed:
are 1600 cylinders in one compound and only one BO operation is used or
cutting is performed one by one with help of 1600 operations?
02Commenter 2
Naturally single operation on 1600 cylinders is used.

I have pushed test script to branch CR24264 (test perf bop boxholes), please review

03Commenter 3
Ok to include test in test base

Parameters to be checked: memory, performance
04Commenter 4
Dear Commenter 1,

Branch CR24264 (and products from GIT master) was compiled on Linux and Windows platforms and tested.
[revision removed]

Number of compiler warnings:

occt component :
Linux: 368 (368 on master)
Windows: 6 (6 on master)

products component :
Linux: 189 (190 on master)
Windows: 287 (287 on master)

Regressions/Differences:
No regressions/differences

Testing cases:
http://occt-tests/CR24264-master-occt/Debian60-64/perf/bop/boxholes.html
http://occt-tests/CR24264-master-occt/Windows-32-VC9/perf/bop/boxholes.html
perf bop(018) boxholes: OK.

Testing on Linux:
Total MEMORY difference: 353545748 / 353823216
Total CPU difference: 42769.74000000096 / 42953.950000000776

Testing on Windows:
Total MEMORY difference: 406933580 / 407044036
Total CPU difference: 30817.3125 / 37415.15625

There are not differences in images found by testdiff.