1c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer/* 2c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved. 3c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * 5c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * This code is free software; you can redistribute it and/or modify it 6c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * under the terms of the GNU General Public License version 2 only, as 7c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * published by the Free Software Foundation. Oracle designates this 8c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * particular file as subject to the "Classpath" exception as provided 9c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * by Oracle in the LICENSE file that accompanied this code. 10c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * 11c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * This code is distributed in the hope that it will be useful, but WITHOUT 12c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * version 2 for more details (a copy is included in the LICENSE file that 15c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * accompanied this code). 16c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * 17c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * You should have received a copy of the GNU General Public License version 18c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * 2 along with this work; if not, write to the Free Software Foundation, 19c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * 21c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * or visit www.oracle.com if you need additional information or have any 23c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * questions. 24c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer */ 25c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerpackage test.java.time.chrono; 26c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer 27c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerimport java.time.Duration; 28c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerimport java.time.chrono.Chronology; 29c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerimport java.time.chrono.HijrahChronology; 30c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerimport java.time.chrono.HijrahDate; 31c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerimport java.time.temporal.ChronoUnit; 32c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerimport java.util.Set; 33c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer 34c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerimport org.testng.annotations.Test; 35c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer 36c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer/** 37c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer * Test the speed of initializing all calendars. 38c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer */ 39c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauerpublic class TestChronologyPerf { 40c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer 41c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer @Test 42c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer public void test_chronologyGetAvailablePerf() { 43c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer long start = System.nanoTime(); 44c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer Set<Chronology> chronos = Chronology.getAvailableChronologies(); 45c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer long end = System.nanoTime(); 46c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer Duration d = Duration.of(end - start, ChronoUnit.NANOS); 47c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer System.out.printf(" Cold Duration of Chronology.getAvailableChronologies(): %s%n", d); 48c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer 49c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer start = System.nanoTime(); 50c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer chronos = Chronology.getAvailableChronologies(); 51c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer end = System.nanoTime(); 52c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer d = Duration.of(end - start, ChronoUnit.NANOS); 53c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer System.out.printf(" Warm Duration of Chronology.getAvailableChronologies(): %s%n", d); 54c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer 55c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer start = System.nanoTime(); 56c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer HijrahChronology.INSTANCE.date(1434, 1, 1); 57c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer end = System.nanoTime(); 58c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer d = Duration.of(end - start, ChronoUnit.NANOS); 59c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer System.out.printf(" Warm Duration of HijrahDate.date(1434, 1, 1): %s%n", d); 60c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer } 61c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer 62c9dd3385ea6f927052783f42fb1282fb093e636eJoachim Sauer} 63