Author: ebourg Date: Mon Feb 9 12:58:44 2015 New Revision: 1658392 URL: http://svn.apache.org/r1658392 Log: Added another baseline benchmark against StringUtils.split() from commons-lang
Modified: commons/proper/csv/trunk/pom.xml commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVBenchmark.java Modified: commons/proper/csv/trunk/pom.xml URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/pom.xml?rev=1658392&r1=1658391&r2=1658392&view=diff ============================================================================== --- commons/proper/csv/trunk/pom.xml (original) +++ commons/proper/csv/trunk/pom.xml Mon Feb 9 12:58:44 2015 @@ -431,6 +431,12 @@ CSV files of various types. <scope>system</scope> <systemPath>${basedir}/csv-1.0.jar</systemPath> </dependency> + + <dependency> + <groupId>org.apache.commons</groupId> + <artifactId>commons-lang3</artifactId> + <version>3.2.1</version> + </dependency> </dependencies> <properties> Modified: commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVBenchmark.java URL: http://svn.apache.org/viewvc/commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVBenchmark.java?rev=1658392&r1=1658391&r2=1658392&view=diff ============================================================================== --- commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVBenchmark.java (original) +++ commons/proper/csv/trunk/src/test/java/org/apache/commons/csv/CSVBenchmark.java Mon Feb 9 12:58:44 2015 @@ -24,6 +24,7 @@ import java.util.List; import java.util.concurrent.TimeUnit; import com.generationjava.io.CsvReader; +import org.apache.commons.lang3.StringUtils; import org.openjdk.jmh.annotations.Benchmark; import org.openjdk.jmh.annotations.BenchmarkMode; import org.openjdk.jmh.annotations.Fork; @@ -39,8 +40,8 @@ import org.supercsv.prefs.CsvPreference; @BenchmarkMode(Mode.AverageTime) @Fork(value = 1, jvmArgs = "-server") @Threads(1) -@Warmup(iterations = 10) -@Measurement(iterations = 10) +@Warmup(iterations = 5) +@Measurement(iterations = 20) @OutputTimeUnit(TimeUnit.MILLISECONDS) public class CSVBenchmark { @@ -49,7 +50,7 @@ public class CSVBenchmark { } @Benchmark - public int baseline(Blackhole bh) throws Exception { + public int read(Blackhole bh) throws Exception { BufferedReader in = getReader(); int count = 0; String line; @@ -58,6 +59,21 @@ public class CSVBenchmark { } bh.consume(count); + in.close(); + return count; + } + + @Benchmark + public int split(Blackhole bh) throws Exception { + BufferedReader in = getReader(); + int count = 0; + String line; + while ((line = in.readLine()) != null) { + String[] values = StringUtils.split(line, ','); + count += values.length; + } + + bh.consume(count); in.close(); return count; }