UI stuck when applying define_user_type for a large number (~400k) #4549
-
I have a script calling |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 2 replies
-
This could depend on which windows visible. Would it be possible for you to share your script? There are also some performance issues if you're using type parsing instead of constructing types through the API that might help with performance. |
Beta Was this translation helpful? Give feedback.
-
Defining many types like this is a known slow operation, since every new definition needs to check and update references in all types in case anything existing has changed. There's an operation to do this faster in C++: DefineUserTypes (plural), although it does not look like the Rust API has a function for this yet. But the plural version of this function takes advantage of knowing all 400k types to update ahead of time, and only needs to run through the list once, instead of O(n) times. I can go add a rust binding for that API, since it seems like you need it. One thing to be warned about is that the UI Types View gets rather slow if you have 400k types in your binary. We've seen this when looking at large PDBs (like chrome), and while improving it is on our roadmap, it's still a performance sinkhole and you should be aware of it too. |
Beta Was this translation helpful? Give feedback.
Defining many types like this is a known slow operation, since every new definition needs to check and update references in all types in case anything existing has changed. There's an operation to do this faster in C++: DefineUserTypes (plural), although it does not look like the Rust API has a function for this yet. But the plural version of this function takes advantage of knowing all 400k types to update ahead of time, and only needs to run through the list once, instead of O(n) times. I can go add a rust binding for that API, since it seems like you need it.
One thing to be warned about is that the UI Types View gets rather slow if you have 400k types in your binary. We've seen this w…