Autodesk / Autodesk/revit-ifc

Exporting with properties or various settings are extremely slow

Open
#492 8 comments 0 reactions 0 assignees View on GitHub
parameters-properties Triage
Dominant language
C#
Stars
637
Forks
225
PR merge metrics
No merged PRs in 30d

Description

Download the RAC advanced sample project here for Revit 2021: https://knowledge.autodesk.com/support/revit/getting-started/caas/CloudHelp/cloudhelp/2021/ENU/Revit-GetStarted/files/GUID-61EF2F22-3A1F-4317-B925-1E85F138BE88-htm.html

Export setting | Time
--- | ---
IFC4 DTV, export only shown in view (default 3D view), psets disabled, base quantities enabled | 45s
IFC4 DTV, export only shown in view (default 3D view), Revit psets disabled, IFC psets enabled, quantities enabled | 1m10s
Default IFC4 DTV preset | 1m30s
Default IFC2X3 CV2.0 preset (just for reference, IFC2X3 should be discouraged) | 1m30s
IFC4 DTV, export only shown in view (default 3D view), all psets enabled, quantities enabled | 1m35s

A few notes:

- Times sometimes varied by +-10s. It was not very consistent. When I have profiled IFC processing tasks in the past, I never get such fluctuations.
- There seems to be some form of caching happening. In some cases with same or similar settings to above, I would be able to get times as long as 2m30s, or 3m30s, and repeating the same export would then also occur at 1m30s. To try to make the comparison sane, the times shown in the table are the _fastest_ I ever achieved. But for instance, the default IFC4 DTV preset originally took 2m40s on a cold start.

What's going on? Why do properties double the export time? This goes against my intuition of geometry being the bottleneck - properties seem to take ages.

I also tested user defined properties, I suspect the times are directly proportional to the number of properties.

Contributor guide

Open the contributing guide

Research direction

Start by downloading the Revit 2021 RAC advanced sample project from the linked Autodesk page and reproducing the listed IFC4 and IFC2X3 export timings. Compare cold and repeated exports while varying property and quantity settings. Done means identifying and documenting the cause of the property-related slowdown with consistent measurements.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
performance
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.