Please sign in to comment.
Massively speed up reflect_pull() for enums.
This avoids loading classes that we don't need to load, since we only need to do that to get the ENUM values for the one class. This also improves getting ENUM inner classes. Previously when getting the class's common name it would change "$" to "." for inner classes. However, the only case where this method is used it needs to the "$" to find the class. So it throws an exception, we catch it, add the "$" back and try again. This is very expensive and seeminlgy not needed. Finally, I removed a redundant HashSet creation that used about 25% of the remaining time. Overall this went from freezing the server for a few seconds to completing in less than a millisecond.
- Loading branch information...
Showing with 17 additions and 16 deletions.