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.