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 64911 - updater.jar in core directory slows down class loading
Summary: updater.jar in core directory slows down class loading
Status: RESOLVED FIXED
Alias: None
Product: platform
Classification: Unclassified
Component: Autoupdate (show other bugs)
Version: 5.x
Hardware: All All
: P3 blocker (vote)
Assignee: Jiri Rechtacek
URL:
Keywords: PERFORMANCE
Depends on:
Blocks: 64046
  Show dependency tree
 
Reported: 2005-09-22 16:59 UTC by _ rkubacki
Modified: 2005-10-03 17:49 UTC (History)
3 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
a proposed patch (3.78 KB, patch)
2005-09-26 12:34 UTC, Jiri Rechtacek
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description _ rkubacki 2005-09-22 16:59:06 UTC
When loading classes from NetBeans modules the parent classloaders are queried
first. One of these classloaders is BootClassLoader containing all JARs from
core, core/patches, core/locale and it means that also updater.jar is added so
we always query it whether it contains some resource although only AU depends on it.

There is no reason to have it there and AU module should load it as a module
extension and we need to find a way how to locate it in launcher.
Comment 1 _ rkubacki 2005-09-23 08:24:40 UTC
Adding Jarda to cc: as he commented out excluding of updater.jar from
BootClassLoader resources when he had implemeneted cluster separation.
Comment 2 Jaroslav Tulach 2005-09-26 08:51:44 UTC
Imho there is no reason for the updater to be in core/*. Imho we should make 
it a separate module org-netbeans-modules-autoupdate-updater.jar that regular 
autoupdate would depend on (using friend dependency) and launcher would refer 
to this. 
 
Btw. the work in issue 64046 expects (or it would help) if all JAR core/* were 
modules. So moving this module is in general interest imho. 
Comment 3 Jiri Rechtacek 2005-09-26 12:34:20 UTC
Created attachment 25176 [details]
a proposed patch
Comment 4 _ rkubacki 2005-09-29 15:17:07 UTC
I see a bit better numbers for simple cases of startup (0.5-2%) and a bit worse
for complex one. Here I am not sure how it can be worse. However the difference
is not too big to confirm (t-test support small improvement in simple start,
complex start has too varying numbers). I prefer to make this change. Of course
we have to update launchers too.

Comment 5 Jiri Rechtacek 2005-10-03 14:15:38 UTC
Checking in autoupdate/build.xml;
/cvs/autoupdate/build.xml,v  <--  build.xml
new revision: 1.57; previous revision: 1.56
done
Checking in autoupdate/libsrc/org/netbeans/updater/Localization.java;
/cvs/autoupdate/libsrc/org/netbeans/updater/Localization.java,v  <-- 
Localization.java
new revision: 1.8; previous revision: 1.7
done
Checking in autoupdate/nbproject/project.properties;
/cvs/autoupdate/nbproject/project.properties,v  <--  project.properties
new revision: 1.10; previous revision: 1.9
done
Checking in autoupdate/nbproject/project.xml;
/cvs/autoupdate/nbproject/project.xml,v  <--  project.xml
new revision: 1.17; previous revision: 1.16
done
Checking in ide/branding/build.xml;
/cvs/ide/branding/build.xml,v  <--  build.xml
new revision: 1.20; previous revision: 1.19
done
Checking in ide/golden/files-layout.txt;
/cvs/ide/golden/files-layout.txt,v  <--  files-layout.txt
new revision: 1.105; previous revision: 1.104
done
Checking in core/launcher/os2/nbexec.cmd;
/cvs/core/launcher/os2/nbexec.cmd,v  <--  nbexec.cmd
new revision: 1.9; previous revision: 1.8
done
Checking in core/launcher/unix/nbexec;
/cvs/core/launcher/unix/nbexec,v  <--  nbexec
new revision: 1.26; previous revision: 1.25
done
Checking in core/launcher/windows/nbexec.exe;
/cvs/core/launcher/windows/nbexec.exe,v  <--  nbexec.exe
new revision: 1.18; previous revision: 1.17
done
Comment 6 Jan Chalupa 2005-10-03 17:49:06 UTC
Updating Windows launcher source (the respective change already included in the
binary integrated by Jirka as part of the previous commit).

Checking in nbexec.cpp;
/cvs/core/launcher/windows/nbexec.cpp,v  <--  nbexec.cpp
new revision: 1.19; previous revision: 1.18