@@ -0,0 +1,1981 @@
+/*%0A *  Licensed to the Apache Software Foundation (ASF) under one or more%0A *  contributor license agreements.  See the NOTICE file distributed with%0A *  this work for additional information regarding copyright ownership.%0A *  The ASF licenses this file to You under the Apache License, Version 2.0%0A *  (the %22License%22); you may not use this file except in compliance with%0A *  the License.  You may obtain a copy of the License at%0A *%0A *      http://www.apache.org/licenses/LICENSE-2.0%0A *%0A *  Unless required by applicable law or agreed to in writing, software%0A *  distributed under the License is distributed on an %22AS IS%22 BASIS,%0A *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A *  See the License for the specific language governing permissions and%0A *  limitations under the License.%0A */%0Apackage org.apache.tomcat.util.http;%0A%0Aimport org.junit.Test;%0A%0Apublic class TestFastHttpDateFormatPerformance %7B%0A%0A    @Test%0A    public void testGetCurrentDateConcurrent() throws InterruptedException %7B%0A        int threadCount = 8;%0A        int callCount = 100000000;%0A        Thread%5B%5D threads = new Thread%5BthreadCount%5D;%0A%0A        for (int i = 0; i %3C threadCount; i++) %7B%0A            threads%5Bi%5D = new GetCurrentDateThread(callCount);%0A        %7D%0A%0A        long startTime = System.nanoTime();%0A%0A        for (int i = 0; i %3C threadCount; i++) %7B%0A            threads%5Bi%5D.start();%0A        %7D%0A%0A        for (int i = 0; i %3C threadCount; i++) %7B%0A            threads%5Bi%5D.join();%0A        %7D%0A%0A        long endTime = System.nanoTime();%0A%0A        System.out.println(%22Duration: %22 + (endTime - startTime));%0A    %7D%0A%0A%0A    private static class GetCurrentDateThread extends Thread %7B%0A%0A        private final int callCount;%0A%0A        public GetCurrentDateThread(int callCount) %7B%0A            this.callCount = callCount;%0A        %7D%0A%0A        @Override%0A        public void run() %7B%0A            for (int i = 0; i %3C callCount; i++) %7B%0A                FastHttpDateFormat.getCurrentDate();%0A            %7D%0A        %7D%0A    %7D%0A%7D%0A

Add a test to use to check for performance changes during refactoring of data formatting.