mvaerle / python-ifc

An IFC file parser in python
GNU Lesser General Public License v3.0
68 stars 28 forks source link

about the performance #5

Open lzweopard opened 11 years ago

lzweopard commented 11 years ago

python-ifc is an interesting project, i really like it, and it saves me much time.

But the python performance is low, loading a large file (~ 10M) takes 50 seconds, is there any possibility to improve it?

Also as I knew, there are some tools to do that, e.g. pypy, python, etc. Is there any possibility to translate this project to cython ? thanks.

brean commented 7 years ago

Hi, I know its been 4 years and computers are faster now. I made some improvements to the parsing, so my ~30 MB file took around 20 seconds to parse on my i7 7700, which is fast enough for me: https://github.com/brean/python-ifc (done parsing 516890 lines after 20.0290000439 seconds)

Besides... it has been 4 years and I am curious to know if you use any other lib (ported your stuff to c/c++)? if so, please let me know.

brean commented 7 years ago

I just played around with the IfcOpenShell python bindings and noticed that it is way faster.

themmes commented 6 years ago

@brean About 10 months ago you forked and improved this python-ifc code. What is the status of your project and are you currently using your own fork or IfcOpenShell?

I have not yet found a way to get IfcOpenShell running, mostly due to it dependency on pythonocc and conflicting dependencies in conda. This code base (even though probably more limited) looks way more usable (even though also no documentation available). I honestly do not get how BIM is a worldwide standard but nothing easy to use is available for python.

Would love to contribute!

brean commented 6 years ago

@themmes feel free to fork my code, I can also provide a pull request.

I figured out running IfcOpenShell works best with Blender, I need blender to manipulate the ifc anyway (I edit the model to reduce polycount for HoloLens and Mobile device). Because this worked best for me I completely abandoned python-ifc.

themmes commented 6 years ago

Interesting use case! Thanks for your response, I'll try IfcOpenShell once more. Still if anyone is interested in making python-ifc more easy to use, I'd love to contribute :-)