I have found a strange behaviour of Open CASCADE 6.8.0 (but using the community edition) and I would like to share my measurements with you and ask for your experiences.
My code is doing computations on shells by iterating over their faces and evaluating points and derivatives (D0 and D1). I have been working with a shell created with CATIA Freestyle where these computations were particularly slow. My profiler states that most of the time is spend in the following methods:
If I read the results correctly, almost the whole time is spent in these functions.
I had realized, that the shell has only one face, even though it has a quite complex, curved form. Therefore I have split the shell into more faces by trimming it in CATIA and recombining the results. If the same shell is stored with nine faces instead of one face and read in from a STEP file, the computations are quicker by a factor of four.
Is this something general? Or is this a bug? Have you ever experienced something like this? Do you even know a better workaround than manually splitting shells into more faces? Thank you very much for sharing your knowledge!