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