3df3bfcbad6f4da20964424c4772985d1b1586a1 |
|
26-Aug-2015 |
Rayhaan Jaufeerally <rayhaan@google.com> |
Revert "Revert "Migrate Collator classes to use ICU4J."" The SDK build is now fixed by adding icu4j as a dependency of docs. This reverts commit 5fc822e7ef47448adccd73ca2ebbd28a068f5136. Change-Id: Ibac9b40189a83323e5175e8ea26c973eb07bc34f
|
5fc822e7ef47448adccd73ca2ebbd28a068f5136 |
|
18-Aug-2015 |
Neil Fuller <nfuller@google.com> |
Revert "Migrate Collator classes to use ICU4J." This reverts commit bf7bbff3a512b3350911d129aba5503dcfde9311. Change-Id: I5e3d3481d1df11d31871d63fd1575cbf46698dee
|
bf7bbff3a512b3350911d129aba5503dcfde9311 |
|
23-Jul-2015 |
Rayhaan Jaufeerally <rayhaan@google.com> |
Migrate Collator classes to use ICU4J. The following benchmarks have been run and show the performance gains from calling ICU4J. ----- ICU4J ----- benchmark us linear runtime CollatorIdentical 6.90 ============================== CollatorPrimary 3.20 ============= CollatorSecondary 3.79 ================ CollatorTertiary 4.28 ================== vm: app_process ----- ICU4C ----- benchmark us linear runtime CollatorIdentical 11.75 ============================== CollatorPrimary 10.01 ========================= CollatorSecondary 9.88 ========================= CollatorTertiary 10.26 ========================== vm: app_process All tests relating to Collation pass after this change. With respect to CJK character loading time, tests were done on a Nexus 6 running this change, in the US locale and TRADITIONAL_CHINESE locale. In EN-US: Time to load Traditional Chinese collator after boot: 76ms, 76ms Time to load again: (39ms, 36ms, 36ms), (36ms, 36ms, 48ms) In ZH-TW: Time to load Traditional Chinese collator after boot: 37ms, 36ms Time to load again: (36ms, 36ms, 36ms), (35ms, 37ms, 35ms) This seems to indicate the system is creating a Collator on boot meaning that ICU is caching it after the first creation. So if a device is in the Traditional Chinese locale, the cost of creating Traditional Chinese collators should have been absorbed at boot time. Loading up the CJK ideographs uses up around ~500k of memory. From the above findings, if the device is in a language requiring those characters then they should be loaded up on boot in the Zygote, which may mean the memory is shared across processes wishing to use the data. Change-Id: I98a1c32c8f58e03d16d694b8a4fca4ced961af8e
|
2b6169d920f6b88a4d665713081b35e44a1d7532 |
|
22-Jul-2014 |
Narayan Kamath <narayan@google.com> |
Fix Collator tests. Use the modern "es-u-co-trad" instead of "es-TRADITIONAL". The latter is an invalid language tag (TRADITIONAL is an invalid variant) so we will not support it any longer. bug: 15849709 (cherry picked from commit ee7d0c5bfcc6891034eaea0fa4a9571ffde5d2ae) Change-Id: I560837f07fa67cc556381e0644dd49e6c9fdc59c
|
ee7d0c5bfcc6891034eaea0fa4a9571ffde5d2ae |
|
22-Jul-2014 |
Narayan Kamath <narayan@google.com> |
Fix Collator tests. Use the modern "es-u-co-trad" instead of "es-TRADITIONAL". The latter is an invalid language tag (TRADITIONAL is an invalid variant) so we will not support it any longer. bug: 15849709 Change-Id: Ia4172879041f42a3b5ff8b027b44c48b3c336f2c
|
3e3ea7374ec174050c91066bf2e3b154bffd4e96 |
|
22-Apr-2014 |
Elliott Hughes <enh@google.com> |
Allow empty rules in a RuleBasedCollator. This is allowed by the CLDR specification, and we were already allowing most forms of empty rules, just not the zero-length string. Change-Id: I3c2a020aac23e54f8044defbfe2e2a5b600e454c
|
55dfcd8b9609f112b0542af6a705080d98e00d2a |
|
18-Apr-2014 |
ccornelius <ccornelius@google.com> |
Update collation tests for icu4c 53. As of ICU 53, rule strings must begin with a reset '&'. http://www.unicode.org/reports/tr35/tr35-35/tr35-collation.html#Rules Also, fewer collation elements exist in ICU 53 because ae-ligature maps to two rather than three logical collation elements. Now the last one yields only one CollationElementIterator value rather than two. Finally, it's no longer possible to switch from forward to backward iteration without calling reset/setOffset/setText. This used to be undefined behavior but is now checked. Change-Id: I663a2b229e551cd6f5753ddae0660f813dbbf866
|
74473971cc9d960376295fbcc430320c9ed62991 |
|
29-Aug-2013 |
Elliott Hughes <enh@google.com> |
Fix harmony java.text test failures. There were plenty of bad tests here, but there were some real bugs too. * DecimalFormat was only handling RoundingMode.UNNECESSARY for double formatting. * DecimalFormat was not ensuring that it's superclass' fields were being correctly updated. * NumberFormat was throwing NPE for a null object because of an improved detail message, despite being specified to throw IAE. * We weren't mapping NumberFormat.Field instances to the corresponding icu4c UNUM_x_FIELD constant, so we weren't actually setting FieldPosition objects correctly. * SimpleDateFormat was not formatting milliseconds correctly with 'S'. * NativeDecimalFormat wasn't handling JNI NewString OOME correctly. Bug: 2528220 Bug: 3056865 Bug: 3057080 Bug: 3057090 Change-Id: Iac11f902f2e9649e596e7e7b7bc501b13e956fca
|
994e4e5ded616a100ca42b16cffa36aa9f595f64 |
|
28-Aug-2013 |
Elliott Hughes <enh@google.com> |
Add harmony java.text tests. Change-Id: Id8d0acd77d08ff337b4851ae74a48cc002d66cd9
|