[External] : Re: Experiment: Node properties
Christopher Schnick
crschnick at xpipe.io
Fri Feb 6 21:41:35 UTC 2026
I used the no instrumentation branch with the IntelliJ profiler. Didn't
see any performance issues.
If you are adding enough nodes while also having a lot of stylesheets to
arrive at a heap size of ~600MB, there is a performance impact in
general even without using this branch.
On 06/02/2026 16:01, Andy Goryachev wrote:
> This is an interesting result, thanks for testing! It sort of matches
> my result - not quite 10%, but then again it's not a complete set of
> properties/classes. I wonder if doing this trick for Region and
> Labeled should release even more memory.
>
> Did you run the branch with no instrumentation and used VisualVM? Did
> you notice any impact on performance?
>
> Thanks!
> -andy
>
>
>
>
> *From: *Christopher Schnick <crschnick at xpipe.io>
> *Date: *Thursday, February 5, 2026 at 20:29
> *To: *Andy Goryachev <andy.goryachev at oracle.com>
> *Cc: *OpenJFX <openjfx-dev at openjdk.org>
> *Subject: *[External] : Re: Experiment: Node properties
>
> I tested it with our application that creates a lot of nodes, and the
> heap was reduced by around 25-50MB on a ~600MB heap. But that was with
> putting as much nodes as possible on the screen.
>
> So yeah it's definitely nice to have if it doesn't introduce a lot of
> other complexity and potential issues.
>
> On 05/02/2026 21:29, Andy Goryachev wrote:
>
> To take it further, decreasing the cost of rarely used properties
> in the Node class (or the Node class hierarchy should this idea
> gains traction) would make it possible to add more convenience
> properties such as boundsOnScreen, owningWindow, etc.
>
> -andy
>
>
>
> *From: *openjfx-dev <openjfx-dev-retn at openjdk.org> on behalf of
> Andy Goryachev <andy.goryachev at oracle.com>
> *Date: *Wednesday, February 4, 2026 at 13:17
> *To: *OpenJFX <openjfx-dev at openjdk.org>
> *Subject: *Experiment: Node properties
>
> I would like to share the results of a little experiment involving
> optimization of storage of Node properties. The basic idea is to
> create a compact fast map-like container to hold the rarely
> instantiated properties in order to reduce the application memory
> footprint.
>
> The savings are not overwhelming, but not exactly zero. I would
> imagine this optimization might be more interesting in any
> resource constrained environment such as Android / iOS /
> RaspberryPi. Please refer to [0] for the details.
>
> I encourage you to try it with your application, to see whether
> you notice any change in memory consumption and/or performance.
> Let me know what you think!
>
> Cheers,
> -andy
>
>
> *References*
>
> [0]
> https://github.com/andy-goryachev-oracle/Test/blob/main/doc/Experiments/NodeProperties.md
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20260206/1584a7d0/attachment.htm>
More information about the openjfx-dev
mailing list