[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[eclipse-incubator-e4-dev] Avoiding Bloat
|
Boris wrote:
> I
have written a blog post about the bloat topic:
Great posting!
It inspired me to think about another potential reason
for bloat:
duplication of graphics, images and NLS
Strings
We do have ISharedImages, but more often than not a
plugin
is forced to duplicate some image or resource String
because
the original owner of that image or String is
(rightfully) hiding
that resource and doesn't want to expose it as
API.
But isn't that a development-time /
installation-time restriction
only? Why do we need to bother the plugins at runtime
with
duplicates of the same Strings and images getting
loaded
into Memory, in multiple ImageRegistries etc... I'd not
be
surprised if we could get rid of a good deal of the
"Running out
of PermGen Space" issue with a
different approach to loading
Images and Strings at runtime.
I'm thinking about a SINGLE ImageRegistry /
StringRegistry
(could also be a database), from which
plugins can acquire
an image/String by means of a Key (that could be an
int
number, for instance). At the time a bundle is
installed, all
its images / Strings are placed into the common
Database.
Clients get a Key in return, which they can use at
runtime
to retrieve their data. Identical data is
collapsed.
Sounds interesting? Or am I missing something?
Uninstalling
a bundle would certainly not be easy, and I
guess that the
String and Image database would likely be an add-only
thing
to avoid lifecycle issues.
I think we should work on the Wiki pages, adding
additional
ideas for reducing Bloat as we find them. I'm
just struggling
to find time for that...
Cheers,
--
Martin Oberhuber, Senior Member of Technical
Staff, Wind River
Target Management Project
Lead, DSDP PMC Member