RFR: JDK-8293776 : Adds CSS 4 and 8 digits hex coded Color [v15]
Phil Race
prr at openjdk.org
Thu Aug 17 18:04:32 UTC 2023
On Wed, 16 Aug 2023 09:55:40 GMT, ScientificWare <duke at openjdk.org> wrote:
>> This is referenced in Java Bug Database as
>> - [JDK-8293776 : Adds CSS 4 and 8 digits hex coded Color](https://bugs.java.com/bugdatabase/view_bug?bug_id=8293776)
>>
>> This is tracked in JBS as
>> - [JDK-8293776 : Adds CSS 4 and 8 digits hex coded Color](https://bugs.openjdk.java.net/browse/JDK-8293776)
>>
>> Adds the 4 and 8 digits color hex notations to CSS.java, as described in :
>> CSS Color Module Level 4
>> W3C Candidate Recommendation Snapshot, 5 July 2022
>> [6.2 The RGB Hexadecimal Notations: `#RRGGBB`](https://www.w3.org/TR/css-color-4/#hex-notation)
>>
>> Designed from : [ScientificWare JDK-8293776 : Adds CSS 4 and 8 digits hex coded Color](https://github.com/scientificware/jdk/issues/13)
>
> ScientificWare has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 30 commits:
>
> - Merge branch 'openjdk:master' into scientificware-patch-003-CSS-add_4_8_digits_hex_coded_color
> - Merge branch 'master'
>
> CSS.java :
> Removes assigning values inside the if-condition
> Extracts the assignments into separate line.
>
> Hex3468DigitsColor.java :
> Adds a message to result in case of failure only
> - Updates copyright date.
>
> Updates copyright date to 2023.
> - Updates copyright date.
>
> Updates copyright date to 2023.
> - Update imports
>
> Remove java.util.Pattern and add java.util.Map imports
> - Performance improvement
>
> Performance results came from my repository I mentioned in the header.
>
> The code before this PR ran in 230ms.
> Our previous codes ran in 1 200ms to 1800 ms with String + formatted + %n$s usage.
> They ran in 350ms to 380ms with String + formatted + %s usage.
> And in 100ms to 110ms if we replace String + format with a string concatenation.
> Now the code below gives the same results in 36ms and with all our expected behaviors. Since we control notation length we
> can bypass some controls,
> directly generate the color value,
> without generate a new string,
> and reject a wrong number format without generate any exception.
> - Corrects a value in a message.
>
> A message is added to the result in case of failure only. The updated code does not output the actual value. The tested color is #f12a instead of #f00a.
> - Simplifications of the test.
>
> Removes individual color tests and only compares the RGB value.
> - Renames an identifier.
>
> Suggested change, not to use `l` as an identifier because it could be confused with `1`.
> This part of code could change and be replaced by bits right rotation after performance tests.
> - Corrects Licence Header.
>
> Removes Classpath exception.
> - ... and 20 more: https://git.openjdk.org/jdk/compare/b80001de...0dbd8f0f
Back in Feb I wrote
> As noted there, this PR likely needs to be withdrawn and absorbed into https://github.com/openjdk/jdk/pull/9825
Nothing has changed on that front, so I don't know why you re-opened this.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/10317#issuecomment-1682731619
More information about the client-libs-dev
mailing list