RFR: 8058230: Improve java.sql toString formatting
Claes Redestad
claes.redestad at oracle.com
Thu Sep 11 14:44:05 UTC 2014
Hi,
requesting reviews for this patch which optimizes
java.sql.Date/Time/Timestamp::toString
by avoiding some unnecessary object allocations. java.sql.Date had
similar optimizations
applied which this patch improves upon.
bug: https://bugs.openjdk.java.net/browse/JDK-8058230
webrev: http://cr.openjdk.java.net/~redestad/8058230/webrev.00/
Testing: jtreg jdk/test/java/sql with and without 8057826 tests
Before/after performance running a minimal JMH micro[1]:
Benchmark Mode Samples Score Score error
Units
t.DateBench.dateToString thrpt 20 30225.628 623.887
ops/ms
t.DateBench.dateToString thrpt 20 38350.173 1349.432
ops/ms # 1.3x
t.DateBench.timeToString thrpt 20 11793.338 232.121
ops/ms
t.DateBench.timeToString thrpt 20 47048.344 1969.939
ops/ms # 4.0x
t.DateBench.timestampToString thrpt 20 2529.601 45.990
ops/ms
t.DateBench.timestampToString thrpt 20 14143.612 407.351
ops/ms # 5.6x
/Claes
[1]
package test;
import org.openjdk.jmh.annotations.*;
@State(Scope.Thread)
public class DateBench {
public java.sql.Time time = java.sql.Time.valueOf("15:15:25");
@Benchmark
public String timeToString() {
return time.toString();
}
public java.sql.Date date = java.sql.Date.valueOf("2013-01-01");
@Benchmark
public String dateToString() {
return date.toString();
}
public Timestamp timestamp = Timestamp.valueOf("1999-12-13
15:15:25.645634");
@Benchmark
public String timestampToString() {
return timestamp.toString();
}
}
More information about the core-libs-dev
mailing list