Skip to content
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

[browser][non-icu] HybridGlobalization normalization. #85510

Merged
merged 9 commits into from
May 24, 2023

Conversation

ilonatommy
Copy link
Member

Implements a chunk of web-api based globalization. Is a part of HybridGlobalization feature and contributes to #79989.

Old, icu-based private API: GlobalizationNative_IsNormalized, GlobalizationNative_NormalizeString

New, non-icu private API: Interop.JsGlobalization.IsNormalized, Interop.JsGlobalization.NormalizeString

Affected public API (see: tests in Normalization\NormalizationAll.cs, Normalization\StringNormalizationTests.cs):

  • String.Normalize
  • String.IsNormalized
Test name time ICU4C [ms] time HG [ms] increase by [times]
String, Normalize 0.7154 1.4417 2,01
String, Normalize ASCII 0.0389 0.0389 1,00
String, IsNormalized 0.2218 0.6704 3,02

WebApi is used only for unicode codes, that's why Normalize ASCII time is identical for both modes.
No changes in behavior. Hybrid Globalization JS code got split to smaller files.

@ilonatommy ilonatommy self-assigned this Apr 28, 2023
@ghost
Copy link

ghost commented Apr 28, 2023

Tagging subscribers to this area: @dotnet/area-system-globalization
See info in area-owners.md if you want to be subscribed.

Issue Details

Implements a chunk of web-api based globalization. Is a part of HybridGlobalization feature and contributes to #79989.

Old, icu-based private API: GlobalizationNative_IsNormalized, GlobalizationNative_NormalizeString

New, non-icu private API: Interop.JsGlobalization.IsNormalized, Interop.JsGlobalization.NormalizeString

Affected public API (see: tests in Normalization\NormalizationAll.cs, Normalization\StringNormalizationTests.cs):

  • String.Normalize
  • String.IsNormalized
Test name time ICU4C [ms] time HG [ms] increase by [times]
String, Normalize 0.7154 1.4417 2,01
String, Normalize ASCII 0.0389 0.0389 1,00
String, IsNormalized 0.2218 0.6704 3,02

WebApi is used only for unicode codes, that's why Normalize ASCII time is identical for both modes.
No changes in behavior. Hybrid Globalization JS code got split to smaller files.

Author: ilonatommy
Assignees: ilonatommy
Labels:

arch-wasm, area-System.Globalization

Milestone: -

@ilonatommy ilonatommy requested review from pavelsavara and kg May 23, 2023 12:49
@ghost ghost locked as resolved and limited conversation to collaborators Jun 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants