Just looking at the Wicket source for an unrelated issue I noticed that 
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)
                                                return true;
                        return false;
This method iterates over the list elements until an item is found so
has O(n) 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

Reply via email to