On Thu, 19 Feb 2026 17:18:02 GMT, Andy Goryachev <[email protected]> wrote:

>>> some measurements of the improvement in parsing performance
>> 
>> I've run a JMH benchmark where I call `Color.web("rgb(x%, y%, z%)")` with 
>> random values. The strings are precomputed to make sure that I don't measure 
>> the string concatenation. Here are the results:
>> 
>> Benchmark                              Mode  Cnt     Score   Error   Units
>> ColorParsingPerfTest.parseColor(old)  thrpt    5   619,957 ± 5,670   ops/s
>> ColorParsingPerfTest.parseColor(new)  thrpt    5  1545,581 ± 13,451  ops/s
>> 
>> 
>>> more tests to demonstrate the correct behavior, esp. near transition points
>> 
>> Good point, I've added more tests especially around subnormals and limits.
>> 
>>> updated PR description (and possibly JBS as well) mentioning the new 
>>> algorithm
>> 
>> I've mentioned the algorithm in the PR description.
>> 
>>> document the changes in behavior (a whitespace handling is one, are there 
>>> other changes?)
>>> do the behavior differences cross the threshold for this to require a CSR?
>> 
>> `Color.web()` parses CSS numbers, so the current behavior is out of spec. 
>> This just brings it in line with the specification, which doesn't require a 
>> CSR.
>
> it looks like there is about 2x performance improvement for the method.  this 
> is good, the question is - how many times the method is called in a typical 
> application, and what is the actual impact of it?
> 
> granted, there are many more moving parts and uncertainties that depend on 
> the concrete application, my question is whether the actual improvement is 
> 0.1%, or 1%, or 10% ?

That would depend on the application. I don't really get the line of inquiry 
here. This change is:
1. Twice as fast, measured with a micro-benchmark
2. More correct with regard to the specification

If that's not enough to warrant inclusion, then so be it. But no one here will 
conduct studies with different kinds of applications, architectures, CSS usage 
patterns, and various definitions of performance.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/2069#discussion_r2829271328

Reply via email to