Skip to content

Do not always cache BRepClass3d_SolidClassifier#1046

Open
ton wants to merge 2 commits intoOpen-Cascade-SAS:OCCT-793from
ton:do-not-always-cache-brepclass3d-solidclassifier
Open

Do not always cache BRepClass3d_SolidClassifier#1046
ton wants to merge 2 commits intoOpen-Cascade-SAS:OCCT-793from
ton:do-not-always-cache-brepclass3d-solidclassifier

Conversation

@ton
Copy link
Copy Markdown

@ton ton commented Feb 4, 2026

The following PR reduces memory usage for a BOPAlgo cut operation, by only caching BRepClass3d_SolidClassifier in BOPAlgo_BuilderSolid in case of a hole shell. This reduces the peak RSS memory usage for the same example use case as attached to #1045 from 110MiB to 87MiB on my machine.

The drawback is that in case we are dealing with a hole shell, BRepClass3d_SolidClassifier is calculated twice, but for the cases I observed, this has no noticeable impact on performance.

ton added 2 commits February 4, 2026 14:48
Do not cache `BRepClass3d_SolidClassifier` up front when checking
whether a shell is a hole shell. This prevents redundant storage of
`BRepClass3d_SolidClassifier` instances for non-hole shells.
@dpasukhi dpasukhi added the 3. CLA waited User need to process with CLA before review or integration processes label Feb 4, 2026
@ton
Copy link
Copy Markdown
Author

ton commented Feb 11, 2026

CLA ID: 1134

@dpasukhi dpasukhi added 3. CLA approved User has the signed CLA and ready to review or integration processes and removed 3. CLA waited User need to process with CLA before review or integration processes labels Feb 12, 2026
@dpasukhi
Copy link
Copy Markdown
Member

dpasukhi commented Mar 1, 2026

Dear Ton thank you for your patch. At the moment, 793 is frozen and not planned to be updated until critical security or stability patch.
I will start to port your patch into IR or master branch (inside current PR).

Best regards, Dmitrii.

@dpasukhi dpasukhi self-assigned this Mar 1, 2026
@dpasukhi dpasukhi changed the base branch from OCCT-793 to IR March 1, 2026 11:03
@dpasukhi dpasukhi changed the base branch from IR to OCCT-793 March 1, 2026 11:03
@dpasukhi
Copy link
Copy Markdown
Member

dpasukhi commented Mar 1, 2026

Again, my apologies, after review of your changes, for now the changes I will keep on hold.
It is workaround which I would like to keep to resolve issue more deeper.

Thank you for your investigation. In case if I will not find better solution I will migrate your patch into latest version.

best regards, Dmitrii.

@dpasukhi dpasukhi moved this from Todo to On Hold in Maintenance Mar 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. CLA approved User has the signed CLA and ready to review or integration processes

Projects

Status: On Hold

Development

Successfully merging this pull request may close these issues.

2 participants