platform-core-home/documents/3.1/large_scale_issues.html

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1, Tue Nov 30 19:12:21 2004 UTC revision 1.2, Tue Nov 30 19:22:28 2004 UTC
# Line 27  Line 27 
27  Identify principal areas of memory consumption and explore opportunities to  Identify principal areas of memory consumption and explore opportunities to
28  reduce current footprint.  reduce current footprint.
29  <ul>  <ul>
30  <li><img src="images/ok.gif"  height="10" width="10" border="0">  <li><img src="../../images/ok.gif"  height="10" width="10" border="0">
31          Extension registry footprint.  Eclipse maintains the registry of plug-ins, extensions,          Extension registry footprint.  Eclipse maintains the registry of plug-ins, extensions,
32          and extension points in memory.  As the number of plug-ins and extensions          and extension points in memory.  As the number of plug-ins and extensions
33          grows, so does this footprint.  Convert the registry to a cache structure that          grows, so does this footprint.  Convert the registry to a cache structure that
34          stores infrequently referenced portions on disk and brings extensions into memory          stores infrequently referenced portions on disk and brings extensions into memory
35          in a lazy and transient manner.          in a lazy and transient manner.
36  </li>  </li>
37  <li><img src="images/glass.gif"  height="10" width="10" border="0">  <li><img src="../../images/glass.gif"  height="10" width="10" border="0">
38          Workspace tree footprint.  The workspace is represented in memory as a tree          Workspace tree footprint.  The workspace is represented in memory as a tree
39          containing various data such as resource names, attributes, markers, etc.          containing various data such as resource names, attributes, markers, etc.
40          Explore reducing the amount of data stored in memory for each resource, and          Explore reducing the amount of data stored in memory for each resource, and
41          other optimizations such as uniquification of strings.          other optimizations such as uniquification of strings.
42  <li><img src="images/glass.gif"  height="10" width="10" border="0">  <li><img src="../../images/glass.gif"  height="10" width="10" border="0">
43          Team/CVS metadata footprint.  The CVS plug-ins store significant information          Team/CVS metadata footprint.  The CVS plug-ins store significant information
44          in memory about the synchronization and "dirty" state of each resource. Explore          in memory about the synchronization and "dirty" state of each resource. Explore
45          reducing the footprint of this data or using lazy caching to only bring this information          reducing the footprint of this data or using lazy caching to only bring this information
46          into memory when needed.          into memory when needed.
47  <li><img src="images/glass.gif"  height="10" width="10" border="0">  <li><img src="../../images/glass.gif"  height="10" width="10" border="0">
48          Message bundles. Most plug-ins store translated strings in <tt>ResourceBundle</tt>          Message bundles. Most plug-ins store translated strings in <tt>ResourceBundle</tt>
49          objects.  These bundles are not space-efficient, and often use lengthy string-based          objects.  These bundles are not space-efficient, and often use lengthy string-based
50          keys for message lookup.  Explore a more efficient representation, integer-based keys,          keys for message lookup.  Explore a more efficient representation, integer-based keys,
# Line 59  Line 59 
59  much slower in such environments.  Explore optimization of I/O-bound operations,  much slower in such environments.  Explore optimization of I/O-bound operations,
60  and moving lengthy operations into a background thread.  and moving lengthy operations into a background thread.
61  <ul>  <ul>
62  <li><img src="images/ok.gif"  height="10" width="10" border="0">  <li><img src="../../images/ok.gif"  height="10" width="10" border="0">
63          Project creation. Creating a project at a file system location that contains          Project creation. Creating a project at a file system location that contains
64          a large number of existing files and folders requires significant I/O to discover          a large number of existing files and folders requires significant I/O to discover
65          all the files and to gather local information such as time stamps. This project          all the files and to gather local information such as time stamps. This project
66          discovery can be moved into a background thread.          discovery can be moved into a background thread.
67  </li>  </li>
68  <li><img src="images/progress.gif" height="5" width="14" border="0">  <li><img src="../../images/progress.gif" height="5" width="14" border="0">
69          Resource copy, move, and delete.  Most operations that act on trees of resources          Resource copy, move, and delete.  Most operations that act on trees of resources
70          still cannot be run in the background.  When these operations take a long time,          still cannot be run in the background.  When these operations take a long time,
71          the user is forced to wait until they complete. These should be converted to "user" jobs          the user is forced to wait until they complete. These should be converted to "user" jobs
# Line 107  Line 107 
107          be made easier.  Similarly, it should be possible to import a ZIP containing multiple          be made easier.  Similarly, it should be possible to import a ZIP containing multiple
108          projects.          projects.
109  </li>  </li>
110  <li><img src="images/progress.gif" height="5" width="14" border="0">  <li><img src="../../images/progress.gif" height="5" width="14" border="0">
111          Rename project on import          Rename project on import
112          (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40493">40493</a>).          (bug <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=40493">40493</a>).
113          The "import existing project" wizard doesn't allow you to import a project but          The "import existing project" wizard doesn't allow you to import a project but
# Line 119  Line 119 
119  </ul>  </ul>
120  </p>  </p>
121  <h3>4. Support for non-incremental builders</h3>  <h3>4. Support for non-incremental builders</h3>
122  <p><img src="images/glass.gif"  height="10" width="10" border="0">  <p><img src="../../images/glass.gif"  height="10" width="10" border="0">
123          The workspace builder infrastructure is designed primarily with efficient          The workspace builder infrastructure is designed primarily with efficient
124          incremental compilers in mind.  Auto-build is turned on by default, and this          incremental compilers in mind.  Auto-build is turned on by default, and this
125          is only realistic for fast builders.  The workspace should have support          is only realistic for fast builders.  The workspace should have support
# Line 165  Line 165 
165                          </font></font></b></td>                          </font></font></b></td>
166                  </tr>                  </tr>
167                  <tr>                  <tr>
168                          <td valign="top"><img src="images/progress.gif" height="5" width="14" border="0"></td>                          <td valign="top"><img src="../../images/progress.gif" height="5" width="14" border="0"></td>
169                          <td width="50%">item is under development.</td>                          <td width="50%">item is under development.</td>
170                          <td valign="top"><img src="images/glass.gif"  height="10" width="10" border="0"></td>                          <td valign="top"><img src="../../images/glass.gif"  height="10" width="10" border="0"></td>
171                          <td width="50%">item is under investigation.</td>                          <td width="50%">item is under investigation.</td>
172                  </tr>                  </tr>
173                  <tr>                  <tr>
174                          <td valign="top"><img src="images/ok.gif"  height="10" width="10" border="0"></td>                          <td valign="top"><img src="../../images/ok.gif"  height="10" width="10" border="0"></td>
175                          <td width="50%">item is finished.</td>                          <td width="50%">item is finished.</td>
176                          <td valign="top">( )</td>                          <td valign="top">( )</td>
177                          <td width="50%">item is time permitted.</td>                          <td width="50%">item is time permitted.</td>
# Line 179  Line 179 
179                  <tr>                  <tr>
180                          <td valign="top"><font class="indexsub" color="#8080ff">[&gt;3.1]</font></td>                          <td valign="top"><font class="indexsub" color="#8080ff">[&gt;3.1]</font></td>
181                          <td width="50%">item is deferred.</td>                          <td width="50%">item is deferred.</td>
182                          <td valign="top"><font class="indexsub"><img border="0" src="images/new.gif"></font></td>                          <td valign="top"><font class="indexsub"><img border="0" src="../../images/new.gif"></font></td>
183                          <td width="50%">new</td>                          <td width="50%">new</td>
184                  </tr>                  </tr>
185          </tbody>          </tbody>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.2