| 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, |
| 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 |
| 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 |
| 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 |
| 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> |
| 179 |
<tr> |
<tr> |
| 180 |
<td valign="top"><font class="indexsub" color="#8080ff">[>3.1]</font></td> |
<td valign="top"><font class="indexsub" color="#8080ff">[>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> |