RFR: 8058230: Improve java.sql toString formatting
Phil Race
philip.race at oracle.com
Fri Sep 12 19:21:24 UTC 2014
Hi,
http://hg.openjdk.java.net/jdk9/dev/jdk/rev/267950e85a3b
The above changeset for this fix apparently broke the images build.
ERROR: Failed module access verification
CheckModules.gmk:38: recipe for target 'checkdeps' failed
make[3]: Leaving directory '/opt/jprt/T/P1/173827.xxx/s/make'
Main.gmk:301: recipe for target 'verify-modules' failed
fcntl(): Bad file descriptor
inaccessible reference: java.sql.Date (java.sql) ->
sun.misc.JavaLangAccess (java.base)
inaccessible reference: java.sql.Date (java.sql) ->
sun.misc.SharedSecrets (java.base)
inaccessible reference: java.sql.Time (java.sql) ->
sun.misc.JavaLangAccess (java.base)
inaccessible reference: java.sql.Time (java.sql) ->
sun.misc.SharedSecrets (java.base)
inaccessible reference: java.sql.Timestamp (java.sql) ->
sun.misc.JavaLangAccess (java.base)
inaccessible reference: java.sql.Timestamp (java.sql) ->
sun.misc.SharedSecrets (java.base)
-phil.
On 9/11/2014 8:32 AM, Lance Andersen wrote:
> Hi Claes,
>
> I think this is OK, however, would like to see if others feel if formatDecimalInt should be located elsewhere so that we just make this change once.
>
> Best,
> Lance
> On Sep 11, 2014, at 10:44 AM, Claes Redestad <claes.redestad at oracle.com> wrote:
>
>> 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();
>> }
>>
>> }
>
>
> Lance Andersen| Principal Member of Technical Staff | +1.781.442.2037
> Oracle Java Engineering
> 1 Network Drive
> Burlington, MA 01803
> Lance.Andersen at oracle.com
>
>
>
More information about the core-libs-dev
mailing list