12d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// © 2016 and later: Unicode, Inc. and others. 22d2bb24f747c65578da13d5b13b82f0669690461Fredrik Roubert// License & terms of use: http://www.unicode.org/copyright.html#License 3bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert/** 4bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert ******************************************************************************* 5bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * Copyright (C) 2001-2004, International Business Machines Corporation and * 6bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * others. All Rights Reserved. * 7bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert ******************************************************************************* 8bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert */ 9bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 10bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertpackage com.ibm.icu.dev.test.perf; 11bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 12bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertimport com.ibm.icu.lang.UCharacter; 13bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 14bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert/** 15bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * Base performance test that takes in a method name for testing with JDK. 16bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * To use 17bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * <code> 18bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * java com.ibm.icu.dev.test.perf.UCharacterPerf $MethodName $LoopCount - 19bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * $START_TEST_CHARACTER $END_TEST_CHARACTER 20bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * </code> 21bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * where $*_TEST_CHARACTER are in hex decimals with a leading 0x 22bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert */ 23bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubertpublic final class UCharacterPerf extends PerfTest 24bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert{ 25bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert // public methods ------------------------------------------------------ 26bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 27bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public static void main(String[] args) throws Exception 28bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 29bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert new UCharacterPerf().run(args); 30bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert // new UCharacterPerf().TestPerformance(); 31bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 32bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 33bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert protected void setup(String[] args) { 34bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert // We only take one argument, the pattern 35bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert MIN_ = Character.MIN_VALUE; 36bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert MAX_ = Character.MAX_VALUE; 37bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert if (args.length >= 1) { 38bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert MIN_ = Integer.parseInt(args[0], 16); 39bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 40bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert if (args.length >= 2) { 41bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert MAX_ = Integer.parseInt(args[1], 16); 42bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 43bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 44bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 45bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testDigit() 46bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 47bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 48bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 49bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 50bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.digit(ch, 10); 51bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 52bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 53bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 54bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 55bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 56bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 57bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 58bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 59bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 60bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKDigit() 61bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 62bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 63bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 64bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 65bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.digit(ch, 10); 66bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 67bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 68bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 69bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 70bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 71bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 72bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 73bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 74bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 75bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testGetNumericValue() 76bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 77bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 78bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 79bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 80bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.getNumericValue(ch); 81bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 82bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 83bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 84bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 85bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 86bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 87bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 88bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 89bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 90bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKGetNumericValue() 91bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 92bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 93bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 94bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 95bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.getNumericValue(ch); 96bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 97bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 98bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 99bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 100bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 101bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 102bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 103bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 104bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 105bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testGetType() 106bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 107bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 108bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 109bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 110bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.getType(ch); 111bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 112bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 113bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 114bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 115bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 116bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 117bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 118bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 119bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 120bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKGetType() 121bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 122bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 123bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 124bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 125bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.getType(ch); 126bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 127bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 128bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 129bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 130bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 131bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 132bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 133bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 134bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 135bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsDefined() 136bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 137bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 138bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 139bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 140bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isDefined(ch); 141bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 142bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 143bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 144bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 145bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 146bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 147bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 148bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 149bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 150bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsDefined() 151bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 152bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 153bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 154bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 155bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isDefined(ch); 156bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 157bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 158bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 159bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 160bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 161bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 162bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 163bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 164bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 165bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsDigit() 166bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 167bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 168bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 169bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 170bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isDigit(ch); 171bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 172bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 173bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 174bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 175bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 176bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 177bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 178bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 179bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 180bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsDigit() 181bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 182bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 183bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 184bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 185bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isDigit(ch); 186bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 187bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 188bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 189bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 190bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 191bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 192bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 193bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 194bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 195bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsIdentifierIgnorable() 196bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 197bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 198bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 199bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 200bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isIdentifierIgnorable(ch); 201bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 202bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 203bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 204bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 205bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 206bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 207bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 208bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 209bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 210bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsIdentifierIgnorable() 211bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 212bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 213bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 214bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 215bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isIdentifierIgnorable(ch); 216bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 217bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 218bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 219bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 220bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 221bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 222bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 223bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 224bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 225bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsISOControl() 226bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 227bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 228bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 229bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 230bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isISOControl(ch); 231bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 232bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 233bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 234bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 235bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 236bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 237bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 238bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 239bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 240bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsISOControl() 241bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 242bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 243bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 244bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 245bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isISOControl(ch); 246bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 247bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 248bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 249bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 250bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 251bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 252bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 253bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 254bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 255bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsLetter() 256bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 257bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 258bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 259bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 260bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isLetter(ch); 261bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 262bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 263bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 264bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 265bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 266bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 267bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 268bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 269bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 270bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsLetter() 271bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 272bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 273bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 274bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 275bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isLetter(ch); 276bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 277bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 278bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 279bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 280bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 281bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 282bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 283bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 284bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 285bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsLetterOrDigit() 286bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 287bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 288bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 289bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 290bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isLetterOrDigit(ch); 291bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 292bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 293bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 294bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 295bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 296bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 297bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 298bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 299bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 300bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsLetterOrDigit() 301bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 302bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 303bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 304bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 305bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isLetterOrDigit(ch); 306bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 307bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 308bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 309bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 310bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 311bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 312bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 313bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 314bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 315bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsLowerCase() 316bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 317bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 318bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 319bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 320bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isLowerCase(ch); 321bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 322bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 323bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 324bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 325bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 326bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 327bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 328bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 329bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 330bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsLowerCase() 331bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 332bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 333bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 334bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 335bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isLowerCase(ch); 336bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 337bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 338bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 339bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 340bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 341bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 342bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 343bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 344bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 345bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsSpaceChar() 346bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 347bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 348bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 349bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 350bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isSpaceChar(ch); 351bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 352bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 353bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 354bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 355bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 356bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 357bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 358bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 359bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 360bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsSpaceChar() 361bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 362bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 363bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 364bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 365bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isSpaceChar(ch); 366bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 367bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 368bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 369bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 370bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 371bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 372bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 373bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 374bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 375bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsTitleCase() 376bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 377bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 378bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 379bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 380bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isTitleCase(ch); 381bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 382bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 383bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 384bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 385bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 386bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 387bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 388bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 389bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 390bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsTitleCase() 391bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 392bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 393bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 394bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 395bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isTitleCase(ch); 396bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 397bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 398bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 399bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 400bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 401bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 402bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 403bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 404bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 405bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsUnicodeIdentifierPart() 406bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 407bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 408bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 409bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 410bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isUnicodeIdentifierPart(ch); 411bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 412bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 413bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 414bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 415bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 416bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 417bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 418bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 419bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 420bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsUnicodeIdentifierPart() 421bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 422bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 423bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 424bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 425bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isUnicodeIdentifierPart(ch); 426bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 427bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 428bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 429bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 430bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 431bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 432bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 433bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 434bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 435bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsUnicodeIdentifierStart() 436bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 437bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 438bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 439bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 440bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isUnicodeIdentifierStart(ch); 441bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 442bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 443bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 444bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 445bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 446bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 447bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 448bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 449bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 450bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsUnicodeIdentifierStart() 451bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 452bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 453bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 454bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 455bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isUnicodeIdentifierStart(ch); 456bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 457bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 458bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 459bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 460bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 461bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 462bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 463bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 464bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 465bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsUpperCase() 466bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 467bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 468bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 469bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 470bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isUpperCase(ch); 471bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 472bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 473bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 474bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 475bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 476bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 477bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 478bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 479bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 480bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsUpperCase() 481bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 482bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 483bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 484bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 485bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isUpperCase(ch); 486bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 487bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 488bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 489bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 490bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 491bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 492bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 493bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 494bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 495bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testIsWhiteSpace() 496bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 497bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 498bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 499bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (int ch = MIN_; ch < MAX_; ch ++) { 500bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert UCharacter.isWhitespace(ch); 501bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 502bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 503bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 504bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 505bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 506bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 507bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 508bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 509bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 510bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert PerfTest.Function testJDKIsWhiteSpace() 511bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert { 512bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return new PerfTest.Function() { 513bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public void call() { 514bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert for (char ch = (char)MIN_; ch < (char)MAX_; ch ++) { 515bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert Character.isWhitespace(ch); 516bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 517bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 518bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 519bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert public long getOperationsPerIteration() { 520bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert return MAX_ - MIN_ + 1; 521bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 522bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert }; 523bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert } 524bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 525bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert // private data member -------------------------------------------------- 526bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert 527bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert /** 528bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * Minimum codepoint to do test. Test is ran from MIN_ to MAX_ 529bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert */ 530bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert private static int MIN_; 531bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert /** 532bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert * Minimum codepoint to do test. Test is ran from MIN_ to MAX_ 533bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert */ 534bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert private static int MAX_; 535bd1cbb618dcaa1ac6ba7c77dece35cb79593a5d7Fredrik Roubert} 536