StringToRealBenchmark.java revision 5a7833b406bb2716b057d3ed923f22f1f86b2a20
14f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta/* 2e83b0cadc67882c1ba7f430d16dab80c9b3a0228Dan Handley * Copyright (C) 2011 Google Inc. 34f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * 44f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * Licensed under the Apache License, Version 2.0 (the "License"); 54f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * you may not use this file except in compliance with the License. 64f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * You may obtain a copy of the License at 74f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * 84f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * http://www.apache.org/licenses/LICENSE-2.0 94f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * 104f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * Unless required by applicable law or agreed to in writing, software 114f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * distributed under the License is distributed on an "AS IS" BASIS, 124f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * See the License for the specific language governing permissions and 144f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta * limitations under the License. 154f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta */ 164f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta 174f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Guptapackage benchmarks.regression; 184f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta 194f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Guptaimport com.google.caliper.Param; 204f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Guptaimport com.google.caliper.Runner; 214f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Guptaimport com.google.caliper.SimpleBenchmark; 224f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta 234f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Guptapublic class StringToRealBenchmark extends SimpleBenchmark { 244f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta 254f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta @Param({ 264f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta "NaN", 274f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta "-1", 284f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta "0", 294f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta "1", 304f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta "1.2", 3197043ac98e13a726dbf8b3b41654dca759e3da2cDan Handley "-123.45", 3297043ac98e13a726dbf8b3b41654dca759e3da2cDan Handley "-123.45e8", 3397043ac98e13a726dbf8b3b41654dca759e3da2cDan Handley "-123.45e36" 344f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta }) String string; 354f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta 364f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta public void timeFloat_parseFloat(int reps) { 374f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta for (int rep = 0; rep < reps; ++rep) { 384f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta Float.parseFloat(string); 394f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta } 404f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta } 414f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta 424f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta public void timeDouble_parseDouble(int reps) { 434f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta for (int rep = 0; rep < reps; ++rep) { 444f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta Double.parseDouble(string); 4507f4e078b6871e5c74f6cb38f2726a2cfcb2b746Achin Gupta } 464f6ad66ae9fcc8bcb3b0fcee10b7ab1ffcaf1a5Achin Gupta } 4707f4e078b6871e5c74f6cb38f2726a2cfcb2b746Achin Gupta} 4807f4e078b6871e5c74f6cb38f2726a2cfcb2b746Achin Gupta