Skip to content

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

Merged
ilonatommy merged 9 commits into
dotnet:mainfrom
ilonatommy:hg-normalization
May 24, 2023
Merged

[browser][non-icu] HybridGlobalization normalization.#85510
ilonatommy merged 9 commits into
dotnet:mainfrom
ilonatommy:hg-normalization

Conversation

@ilonatommy

Copy link
Copy Markdown
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 nametime ICU4C [ms]time HG [ms]increase by [times]
String, Normalize0.71541.44172,01
String, Normalize ASCII0.03890.03891,00
String, IsNormalized0.22180.67043,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.

@ghost

Copy link
Copy Markdown

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 nametime ICU4C [ms]time HG [ms]increase by [times]
String, Normalize0.71541.44172,01
String, Normalize ASCII0.03890.03891,00
String, IsNormalized0.22180.67043,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:-

Comment threadsrc/mono/wasm/runtime/hybrid-globalization/change-case.ts Outdated
Comment threadsrc/mono/wasm/runtime/hybrid-globalization/change-case.ts
Comment threadsrc/mono/wasm/runtime/hybrid-globalization/common.ts Outdated
Comment threadsrc/mono/wasm/runtime/hybrid-globalization/normalization.ts Outdated
Comment threadsrc/mono/wasm/runtime/hybrid-globalization/normalization.ts Outdated
Comment threadsrc/mono/wasm/runtime/hybrid-globalization/normalization.ts
Comment threadsrc/mono/wasm/runtime/hybrid-globalization/normalization.ts Outdated
Comment threadsrc/mono/wasm/runtime/hybrid-globalization/change-case.ts
@ilonatommy
ilonatommy requested review from kg and pavelsavaraMay 23, 2023 12:49
Comment threadsrc/mono/wasm/runtime/hybrid-globalization/collations.ts Outdated
@ghostghost locked as resolved and limited conversation to collaborators Jun 23, 2023
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

arch-wasmWebAssembly architecturearea-System.Globalization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@ilonatommy@kg@pavelsavara