This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 121913 - explorer+nodes performance improvements
Summary: explorer+nodes performance improvements
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Explorer (show other bugs)
Version: 6.x
Hardware: All All
: P3 blocker (vote)
Assignee: t_h
URL: http://wiki.netbeans.org/FitnessViaLa...
Keywords: API_REVIEW, PERFORMANCE, PLAN
: 114195 (view as bug list)
Depends on:
Blocks: 108501
  Show dependency tree
 
Reported: 2007-11-14 14:42 UTC by Alexander Simon
Modified: 2008-12-22 11:07 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Expanding nodes takes a lot of time. (1.90 KB, text/plain)
2007-11-14 14:43 UTC, Alexander Simon
Details
Finding node takes a lot of time. (3.37 KB, text/plain)
2007-11-14 14:44 UTC, Alexander Simon
Details
Setting new content takes a lot of time. (3.54 KB, text/plain)
2007-11-14 14:45 UTC, Alexander Simon
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Simon 2007-11-14 14:42:07 UTC
BeanTreeView has a low perfomance becouse sequential search in collections are used.
See attached stack trace for operations.
Comment 1 Alexander Simon 2007-11-14 14:43:30 UTC
Created attachment 52973 [details]
Expanding nodes takes a lot of time.
Comment 2 Alexander Simon 2007-11-14 14:44:27 UTC
Created attachment 52974 [details]
Finding node takes a lot of time.
Comment 3 Alexander Simon 2007-11-14 14:45:03 UTC
Created attachment 52975 [details]
Setting new content takes a lot of time.
Comment 4 Petr Nejedly 2007-11-16 12:16:44 UTC
Well, 2 of 3 cases are actually JTree problems. Still, it is strange JTree keeps using VariableHeightLayoutCache, where
TreeView.ExplorerTree sets fixed cell height.

Generally, as long as the time is O(N), it shouldn't be a big deal. If you see O(N^2), it is certainly a big problem.
How many nodes do you have?
Comment 5 Alexander Simon 2007-11-16 12:36:50 UTC
Bug is show stopper for Open Solaris project.
Default namespace has about 250K nodes (variables, structs and functions).
Comment 6 Petr Nejedly 2007-11-16 12:47:52 UTC
250k nodes?
TreeView (or any nodes-based view) is very far from being _that_ scallable.
On the other hand, how practical is a list-like* visualization of so many items for the user?

*) Do I understand it correctly that you're trying to display so many entries at once, i.e. in a flat tree or very few
higher-level nodes?

Comment 7 Alexander Simon 2007-11-16 13:25:17 UTC
Open Solaris has at least 150K top level nodes in the default namespace.
Yes, user expand namespace with 150K top level nodes.
Of course, some of nodes has children nodes (structs, enums, classes).
How practical? I do know how user uses class view,
but it is an industrial standard for IDE that support c/c++.
Comment 8 Antonin Nebuzelsky 2008-02-07 16:04:52 UTC
Reassigning to new module owner Tomas Holy.
Comment 9 Lukas Hasik 2008-05-15 00:36:35 UTC
changing this issue into planning issue for 6.5. Please, change the TM
Comment 10 Jaroslav Tulach 2008-07-09 12:04:57 UTC
I guess it is time to ask for review. Given the quick turn around between this announcement and integration, I think 
we'd rather call standard review tomorrow. Reviewers: jtulach, jglick, pnejedly, jlahoda. Review conf call: Thu Jul 
10, 15.00CET. I'll send the details later. OK?
Comment 11 Jaroslav Tulach 2008-07-10 23:19:21 UTC
Approved with TCRs. Will be integrated tomorrow. Here is the result of review:
http://wiki.netbeans.org/FitnessViaLaziness?version=16
Comment 12 Jesse Glick 2008-07-18 17:06:20 UTC
Any reason this is not marked FIXED yet?
Comment 13 Jaroslav Tulach 2008-07-22 08:28:28 UTC
5e5017fc9e1d
Comment 14 t_h 2008-10-20 09:39:17 UTC
*** Issue 114195 has been marked as a duplicate of this issue. ***