Migrate IDNA2003 implementation to ICU4J.
Although this migration uses the deprecated methods in ICU4J's
IDNA implementation, this has to be done to maintain complete
compatibility with the current implementation. This is because
the android API is explicitly documented as implementing the
IDNA2003 standard.
UTS46 is a new standard which aims to ease the transition to
IDNA2008 which is the latest specification for internationalized
domain names. Unfortunately this standard cannot be used in this
instance and will need to be introduced as part of another API.
The following benchmarks show the change in performance this
CL will cause. This seems acceptable for a string conversion.
--- Java ---
benchmark us linear runtime
ToAscii 804 ==============================
ToUnicode 323 ============
vm: app_process
--- Native ---
benchmark us linear runtime
ToAscii 134.0 ==============================
ToUnicode 89.5 ====================
vm: app_process
Change-Id: I96440d338ceeaea63eec490f49e9a35cfa5dc1f2
Loading
Please sign in to comment