WicketTagIdentifier stores a private static collection of wellKnownTagNames as an ArrayList.
and a method called isWellKnown is called from within WicketTagIdentifier.onComponentTag and presumably it's called on every Wicket tag parsed.
private boolean isWellKnown(final ComponentTag tag)
for (String name : wellKnownTagNames)
This method iterates over the list elements until an item is found so has O performance. If this array list was to be changed to a Set instead it would have O(1) performance.
I haven't got any metrics on the usage and I don't think the improvement would be sensational but for web apps with large quantities of markup it could make some difference. For such a simple change it's probably worth it.
|Field||Original Value||New Value|
|Summary||WicketTagIdentifier optimization||Use a Set to keep the supported wicket elements in WicketTagIdentifier|
|Status||Open [ 1 ]||Resolved [ 5 ]|
|Assignee||Martin Grigorov [ mgrigorov ]|
|Fix Version/s||6.4.0 [ 12323450 ]|
|Resolution||Fixed [ 1 ]|