<Swing Dev> [9] Review request for 8169922 SwingMark/TextArea: 2-7% regression on Linux, Mac, Windows in 9-b143
Phil Race
philip.race at oracle.com
Thu Dec 15 23:36:58 UTC 2016
I just noticed that you spell the new methods with a single d :eg :
getFPMethodOverriden
Like the variables that were there before it should be getFPMethodOverridden
and checkFPMethodOverridden
Also, although rather unlikely to be a problem in practice, since there
is nothing in the swing rules to prevent constructing a Swing component on
a random thread, before adding it to the hierarchy, and the shared Map
is populated
at construction time, it seems like we need a ConcurrentHashMap ..
-phil.
On 12/15/2016 09:06 AM, Alexandr Scherbatiy wrote:
>
> Hello,
>
> Could you review the updated fix:
> http://cr.openjdk.java.net/~alexsch/8169922/webrev.01
>
> - the HashMap is stored in SoftRefence
> - the typo in getMethodArguments() is fixed
> - classes FPMethodItem and FPMethodArgs are defined in the PlainView
> class.
>
> Thanks,
> Alexandr.
>
> On 12/14/2016 8:30 PM, Sergey Bylokhov wrote:
>> Hi, Alexander.
>> Should not the storage be based on soft references? In the current
>> solution we will store the references to the checked classes forever
>> in the static map.
>>
>>> 13 дек. 2016 г., в 18:41, Alexandr Scherbatiy
>>> <alexandr.scherbatiy at oracle.com> написал(а):
>>>
>>>
>>> Hello,
>>>
>>> Could you review the fix:
>>> bug: https://bugs.openjdk.java.net/browse/JDK-8169922
>>> webrev: http://cr.openjdk.java.net/~alexsch/8169922/webrev.00
>>>
>>> The fix JDK-8156217 checks presence of the overridden methods with
>>> floating point arguments.
>>> The proposed fix caches results of found overridden methods with
>>> floating point arguments.
>>>
>>> I run the SwingSet2 with the custom test which intensively creates
>>> JTextField, JPasswordField, JTextArea, and JEditorPane.
>>>
>>> The results of the test running with the following JDK are:
>>> 1. Methods with int arguments are always called without the
>>> methods overridden check: 45822 // before the fix JDK-8156217
>>> 2. Methods with floating point arguments are always called without
>>> the methods overridden check: 46175
>>> performance decreasing: 100 * (46175 - 45822) / 45822 = 0.77%
>>> 3. Methods with floating point arguments are always called with
>>> the methods overridden check: 48836 // fix JDK-8156217
>>> performance decreasing: 100 * (48836 - 45822) / 45822 = 6.58%
>>> 4. Methods with floating point arguments are always called and the
>>> methods overridden checks are cached: 46592 // current fix
>>> performance decreasing: 100 * (46592 - 45822) / 45822 = 1.68%
>>>
>>> Thanks,
>>> Alexandr.
>>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20161215/41269011/attachment.html>
More information about the swing-dev
mailing list