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