CLDR Ticket #8842(accepted tools)
|Reported by:||mark||Owned by:||emmons|
We could optimize Coverage as follows.
- The coverage paths are already in a format like:
Modify these paths always use variables, so:
And make sure that variables are only used in attribute values.
- Restructure the code reading coverageLevels.xml so that puts each of the paths into a bucket based on the "starred-path" (that is where each attribute value is replaced by *). Each bucket will have a small number of elements in it, typically 1-3.
- When testing coverage,
- first transform the path into a starred path. (that's very fast).
- find the right bucket (that's a hash-lookup, also very fast)
- search with a regex lookup within the bucket (because there are now only a few elements, it is way faster than current.
If desired, we can make use of the overlap between coverage levels and AttributeValueValidity. The attribute value validity also has more extensive variable mechanism that makes it easy to have code-produced variables, and also to have lookups be in hash sets instead of serial regex matches.
- Put all the static coverage variables in coverage into attributeValueValidity.xml (share the ones in there already).
- Move the code-based coverage tests into AttributeValueValidity code.
- Status changed from new to accepted
- Component changed from unknown to supplemental
- Priority changed from assess to medium
- Phase changed from dsub to rc
- Milestone changed from UNSCH to 29
- Owner changed from anybody to emmons
- Type changed from unknown to tools