-
Notifications
You must be signed in to change notification settings - Fork 148
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
Improve compile time performance. #3857
Conversation
// interface-extension.slang | ||
|
||
// Test that an `extension` applied to an interface type works as users expect |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These comments are little confusing.
I assume that they are copied from another file?
If yes, you may need to modify these.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good catch, thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good
I have some timing numbers here. Without this change, slangc takes 47.19s ~ 48.18s for compiling 40 TSR shaders. Without this change, FXC took 90.28s ~ 91.69s for compiling 6 TSR shaders. I noticed that with this changes, the number of HLSL lines generated from Slangc is about 3% less. |
What about the perf numbers from dxc, and does shader perf change? |
I am sorry. I thought I was using FXC but it was DXC. |
dc0b159
to
32dd48e
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code looks good
Given your measurements, I am not sure if we should be merging these changes, since it doesn't seem to be a net win. |
Update: the changes here resulted 20% speedup in frontend when processing typical shader workloads, so I am going to merge it. |
simplifyIR
to disableredundancyRemoval
pass (still enabled by default).