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 37055 - Startup time of winsys build is about 50% longer than build from trunk
Summary: Startup time of winsys build is about 50% longer than build from trunk
Status: VERIFIED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Window System (show other bugs)
Version: 3.x
Hardware: All All
: P1 blocker (vote)
Assignee: Peter Zavadsky
URL:
Keywords: PERFORMANCE
Depends on:
Blocks:
 
Reported: 2003-11-05 15:20 UTC by Marian Mirilovic
Modified: 2008-12-22 18:00 UTC (History)
4 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
ide.log file with performance logs from WINSYS build (268.08 KB, text/plain)
2003-11-05 15:22 UTC, Marian Mirilovic
Details
ide.log file with performance logs from TRUNK build (266.18 KB, text/plain)
2003-11-05 15:23 UTC, Marian Mirilovic
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marian Mirilovic 2003-11-05 15:20:21 UTC
I have measured startup time by our performance
tests from qa module (startup time and memory
consumption) on Sol 8, UltraSparc60, RAM=1GB,
JDK1.4.2_02

Results for [nb winsys](031104)
first start     50612  49634
second start    42339  38230
third start     40514  37501


results for [nb dev](200311041900)
first start     32307  32443
second start    26320  26820
third start     27591  25523


As you can see build from winsys branch is about
50% longer than the build from trunk (built on
sources from same date).


By the way it seems like memory consumtion lowers
~122MB(trunk) vs. ~96MB(winsys) .
Comment 1 Marian Mirilovic 2003-11-05 15:22:53 UTC
Created attachment 12074 [details]
ide.log file with performance logs from WINSYS build
Comment 2 Marian Mirilovic 2003-11-05 15:23:47 UTC
Created attachment 12075 [details]
ide.log file with performance logs from TRUNK build
Comment 3 Peter Zavadsky 2003-11-07 07:29:05 UTC
Please provide the method you used for the measuring.

Using the same method for trunk and branch doesn't mean you are
measuring comparable things.
Comment 4 Marian Mirilovic 2003-11-07 09:35:16 UTC
It seems like Peter is right, but "feel" of the startup is the same,
so reassigne back.
Comment 5 Peter Zavadsky 2003-11-07 09:52:33 UTC
OK, first I solve the thing, currently we load all TopComponent on
startup, even when not opened... then we will see whether it was the
main problem.
Comment 6 Petr Nejedly 2003-11-07 14:59:55 UTC
Marian, there must be something really screwed with your enviroment,
as you got different results even in _completly_ unrelated places that
virtually can't be influenced by the WS changes, like splash screen
show time and even top-logging initialization. Moreover the changes
shouldn't that much influence (drastically reduce) used memory, so I
suspect you had problems with free memory (or the lack thereof).

Now, I've tried it on my machine (OK, different architecture, notebook
P4@2GHz) and I got different results, with well-limited scope of
changes in the log. I performed log.startup as well as manual
wall-time measurement. The start log measurements are similar to yours
- 6.6s vs 9.7s, but the difference in real time between starting the
application and seeing the main window
is way different: 10.8s vs 12.3 (14%)

Explanation: I realized (when printing the log to the console)
that there is very big delay between last log entry (Preparation
finished) and the time when I really see the main window.
The old WS used a lot of deferred performers and similar beasts that
were actually exected as hooks asynchronously th the main (measuring)
thread, even long after the main thread finished.
This is why I resorted to using stopwatch...

Now the real differences in logged parts:
*) load lookup cache finished, took 614ms vs 1001ms
  - this seems to me more like some fix-only-in-trunk thing
*) *debugger* (i.e. webdebug, dcore, djpda) ModuleInstalls
  - this may be caused by some ws changes, 950 vs. 1200ms total
*) Main window opened dT=1234 vs 3526ms
  - different strategy, don't necessarily mean any change
    for user.

Comment 7 Peter Zavadsky 2003-11-10 14:12:41 UTC
Fixed in branch [winsys_29836]

Now there should be loaded only opened TopComponents during startup.

core/windows/../Central.java 1.1.2.115
                ModeImpl.java 1.1.2.51
                PersistenceHanlder.java 1.1.2.51
                TopComponentGroupImpl.java 1.1.2.10
                WindowManagerImpl.java 1.1.2.112
                model/DefaultModeModel.java 1.1.2.25
                      DefaultModel.java 1.1.2.54
                      DefaultTopComponentGroupModel.java 1.1.2.8
                      ModeModel.java 1.1.2.21
                      Model.java 1.1.2.45
                      TopComponentGroupModel.java 1.1.2.7
                      TopComponentSubModel.java 1.1.2.11
Comment 8 Marian Mirilovic 2003-11-27 16:08:17 UTC
verified in [nb_dev](200311261900)

Tonda is working on the patch for NB3.5 now, but he had did some
measurement and it seems like we are faster, good job guys ;)