]> source.dussan.org Git - vaadin-framework.git/commit
Improve performance of getMeasureTargetsJsArray (#16973).
authorFabian Lange <lange.fabian@gmail.com>
Mon, 2 Mar 2015 12:28:15 +0000 (13:28 +0100)
committerVaadin Code Review <review@vaadin.com>
Wed, 11 Mar 2015 08:20:14 +0000 (08:20 +0000)
commitb2db17740aa8e7b33b208c73559c1d5d3461c192
tree70aa48781c37391b33134f998d42d93c4457bfcf
parent155ffa7560e6445557ad2d04d2f83411c391debb
Improve performance of getMeasureTargetsJsArray (#16973).

This change optimizes the method
LayoutDependenyTree.getMeasureTargetsJsArray.

The previous code dumps both MeasureQueues and then iterates over the
vertical one and then checks if it is present in the horizontal one.
If it is not present it pushes the element to the array (which usually
invokes an arraycopy in js).

The new code adds both Queues to a new FastStringSet which does deal
with duplicates nicely.
While this is not much faster than the dumps, it avoids the array
allocations and the separate iteration for duplicate checking.

Change-Id: I2f643a2d0b32e4c2517efff16c196387f38f0d8a
client/src/com/vaadin/client/ui/layout/LayoutDependencyTree.java