Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performances with huge files #22

Open
liszto opened this issue Oct 21, 2019 · 2 comments
Open

Performances with huge files #22

liszto opened this issue Oct 21, 2019 · 2 comments

Comments

@liszto
Copy link

liszto commented Oct 21, 2019

Hello,
I try to test many ifc library in C# to find maybe the most optimized to fit with my expectations.
Did you already try some stress test with huge file ?
Cause I tried for example between your system and xBim one (cause I found yours due to your post on their forum :D )
And the results are really different. I was expecting to see yours faster than them due to your implementation logic but in fact it's not the case.
For example :
I took a 200Mo file with MEP with your system the loading file time is :
178.5sec for 6Go RAM
xBim with the same file is 45.2sec for 2Go RAM

Is it normal ? Have you made some improvements on your dev branch ? Have you any hint or soluces to improve this part.

I asked this cause I prefer your logic than them due to the easy to use implementation by managing yourself in each class the difference between ifc2x" / ifc4 / ifc5 instead of managing each one in a dedicated assembly which is really boring when you try to manage an ifc 2x3 file with an ifc4 structure logic in your project.

Thanks in advance and really good job for your current work it's really impressive even if there is this lack of performance.

@jmirtsch
Copy link
Collaborator

Thanks for the post. I of course would like to see the file parsing performance improved.
I have done some profiling on this (and already the toolkit is faster than it used to be). It's not strictly proportional to file size, it seems that parsing long lines can be very detrimental.

I did some exploration at threading this, but I need to identify how to make the collections threadsafe for inverse relationship setting. If you've any experience with this, let me know. I do know c++ is higher performance.

If you (or others) have suggestions for improving performance, I'd love to hear them.

Thanks,

Jon

@simonedd
Copy link

Hi Jon,

Have you already tried to use RegularExpression? Especially in the ParserIFC.Encode/Decode methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants