[OpenJDK Rasterizer] RFR: Marlin renderer #2

Jim Graham james.graham at oracle.com
Thu Jun 11 09:17:38 UTC 2015


Hi Laurent,

The reason I ask is that it would be against all odds that you'd be able 
to detect loading those 2 variables into temp local variables given how 
complex a given rendering operation is.

I could imagine that loading a field into a local variable in the inner 
loop of the crossings loops might be noticeable, but not for the case of 
2 calculations in a once per op setup/teardown method.

I'm not saying that we should never do shadow fields in local variables, 
just that we should only do that for cases that affect performance as it 
can make the code less readable if it's not going to make a difference 
and also you run the slight risk in some cases of updating the local and 
not saving it back to the field (usually it's done right when such a 
shadow local is introduced, but in some later bug fix some other 
engineer decides that they can add a shortcut through the code without 
realizing they are short-cutting past a "shadow to field" sync point and 
it introduces a bug - thus I reserve a technique like that only for 
important cases - in particular loops executed a number of times...)

			...jim

On 6/11/15 12:00 AM, Laurent Bourgès wrote:
> Jim,
>
>>> Fixed but I kept the local variable as it has a measurable impact (760ms
>>> vs 800ms) with a medium complex map (135 000 shapes).
>>
>>
>> Please confirm that I am reading this correctly.
>>
>> You reverted the 2 variable loads at lines 1258,1259 in Renderer.java and made no other changes and saw a 5% performance drop on the total runtime of a benchmark that renders 135,000 shapes?
>
> I only run the benchmark once on each variant and results have some
> variability even MapBench has several warmup phases...
>
> However, each map is rendered by 4 threads for 25 iterations on this
> test = 3 minutes at 100% cpu on my laptop.
>
> I have the impression it is a bit slower; I will take time to perform 3
> runs per variant and compare the best of 3 to have a better estimate.
>
> Laurent
>


More information about the graphics-rasterizer-dev mailing list