aboutsummaryrefslogtreecommitdiff
path: root/src/examples/CharacterBenchmark.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/examples/CharacterBenchmark.java')
-rw-r--r--src/examples/CharacterBenchmark.java300
1 files changed, 0 insertions, 300 deletions
diff --git a/src/examples/CharacterBenchmark.java b/src/examples/CharacterBenchmark.java
deleted file mode 100644
index 1e013af..0000000
--- a/src/examples/CharacterBenchmark.java
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * Copyright (C) 2009 Google Inc.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package examples;
-
-import com.google.caliper.Param;
-import com.google.caliper.Runner;
-import com.google.caliper.SimpleBenchmark;
-
-/**
- * Tests various Character methods, intended for testing multiple
- * implementations against each other.
- */
-public class CharacterBenchmark extends SimpleBenchmark {
-
- @Param private CharacterSet characterSet;
-
- @Param private Overload overload;
-
- private char[] chars;
-
- @Override protected void setUp() throws Exception {
- this.chars = characterSet.chars;
- }
-
- public enum Overload { CHAR, INT }
-
- public enum CharacterSet {
- ASCII(128),
- UNICODE(65536);
- final char[] chars;
- CharacterSet(int size) {
- this.chars = new char[65536];
- for (int i = 0; i < 65536; ++i) {
- chars[i] = (char) (i % size);
- }
- }
- }
-
- // A fake benchmark to give us a baseline.
- public boolean timeIsSpace(int reps) {
- boolean dummy = false;
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- dummy ^= ((char) ch == ' ');
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- dummy ^= (ch == ' ');
- }
- }
- }
- return dummy;
- }
-
- public void timeDigit(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.digit(chars[ch], 10);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.digit((int) chars[ch], 10);
- }
- }
- }
- }
-
- public void timeGetNumericValue(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.getNumericValue(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.getNumericValue((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsDigit(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isDigit(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isDigit((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsIdentifierIgnorable(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isIdentifierIgnorable(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isIdentifierIgnorable((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsJavaIdentifierPart(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isJavaIdentifierPart(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isJavaIdentifierPart((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsJavaIdentifierStart(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isJavaIdentifierStart(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isJavaIdentifierStart((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsLetter(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isLetter(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isLetter((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsLetterOrDigit(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isLetterOrDigit(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isLetterOrDigit((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsLowerCase(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isLowerCase(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isLowerCase((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsSpaceChar(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isSpaceChar(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isSpaceChar((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsUpperCase(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isUpperCase(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isUpperCase((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeIsWhitespace(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isWhitespace(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.isWhitespace((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeToLowerCase(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.toLowerCase(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.toLowerCase((int) chars[ch]);
- }
- }
- }
- }
-
- public void timeToUpperCase(int reps) {
- if (overload == Overload.CHAR) {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.toUpperCase(chars[ch]);
- }
- }
- } else {
- for (int i = 0; i < reps; ++i) {
- for (int ch = 0; ch < 65536; ++ch) {
- Character.toUpperCase((int) chars[ch]);
- }
- }
- }
- }
-
- // TODO: remove this from all examples when IDE plugins are ready
- public static void main(String[] args) throws Exception {
- Runner.main(CharacterBenchmark.class, args);
- }
-}