-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Try loading build time ICU version. #79251
Conversation
Calling dlopen() function multiple times from an unknown max version to find the ICU library makes performance degradation under heavy IO contention. To avoid this situation, try loading first with the ICU version used at build time.
Tagging subscribers to this area: @dotnet/area-system-globalization Issue DetailsCalling dlopen() function multiple times from an unknown max version to find the ICU library makes performance degradation under heavy IO contention. In our tests, it took up to 100ms under heavy IO contention.
|
This is wrong, this will prevent loading latest version if there are two ICU versions on the system. This scenario is possible. CC @janvorli |
I am closing it, feel free to send any question or thought we can consider. Thanks for trying. |
@wscho77 you can solve this by passing in an explicit version of the ICU by setting |
Thank your comment. @tarekgh @janvorli Would you accept introducing another override env variable that sets to use build time icu version? |
And shouldn't the environment variable name be changed to "DOTNET_ICU_VERSION_OVERRIDE"? |
Calling dlopen() function multiple times from an unknown max version to find the ICU library makes performance degradation under heavy IO contention.
To avoid this situation, try loading first with the ICU version used at build time.
In our tests, it took up to 100ms under heavy IO contention.