JDK-8252936 : Optimize removal of listeners from ExpressionHelper.Generic
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: base
  • Affected Version: 8,9,openjfx11,openjfx15
  • Priority: P3
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2020-09-08
  • Updated: 2021-10-02
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
tbdUnresolved
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
ExpressionHelper.Generic is a utility class that is used in the implementation of bindings. When bindings are created and disposed listeners are added and removed from ExpressionHelper.Generic. This is done using an array list, leading to poor performance of List.remove when the list grows too large. Using a set would improve performance. The solution would need to ensure that the performance and memory doesn't suffer for a small number of listeners.

Comments
This is one of 4 discrete performance issues split out from JDK-8185886. It is under review here: https://github.com/openjdk/jfx/pull/108
08-09-2020