The various Stacks in ThreadContext are not ever used across threads. Therefore, the overhead of using the synchronized Stack class is unnecessary. This patch replaces those stacks with a new UnsynchronizedStack class (basically an ArrayList with some added methods).
It sped HEAD up a solid 0.1 to 0.2 seconds on my system, which amounts to about 1-2%. It's already committed to HEAD, and to cnutter_work1 shortly. - Charlie
unsynch_threadcontext_stacks.patch
Description: Binary data
