Skip to content

M20180111-0505

@trancexpress trancexpress tagged this 04 Jan 15:16
The Package Explorer View has two options which are very slow for large
package structures. Those are the hierarchical resp. flat representation
of packages.

This is the case, since the Java model structure does not match the
hierarchical structure presented in the view. The view computes the
package hierarchy on its own. The view does so by going over all
packages in a package root, for its every operation. This results in
e.g. refresh operations which are quadratic in the number of packages of
a project. For package numbers above 1000, refreshes can freeze the UI
for minutes.

With this change the PackageExplorerContentProvider computes the
hierarchical structure of packages once and caches it. The cache is
cleaned on every Java model change. This reduces the complexity of
operations that run on the view, including refreshing. The  UI freeze
duration is reduced to a few seconds, down from minutes.

Change-Id: Ib28aa66d5718a879491b9076f2d78c3c7e4e73b6
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
Assets 2
Loading