This is a normal pattern in application-development.  For example,
Todd Blanchard's HTML validating parser grabs a huge chunk of HTML,
and all the parts are simply referenced by position within that big
String.

On Mon, Jun 2, 2014 at 8:26 AM, Christophe Demarey
<[email protected]> wrote:
>
> Le 30 mai 2014 à 09:39, Philippe Marschall a écrit :
>
>> Hi
>>
>> This is an idea I stole from somebody else. The assumption is that you have 
>> a lot of Strings in the image that are equal. We could therefore remove the 
>> duplicates and make all the objects refer to the same instance.
>
>
> I worked on a String optimisation for a Java virtual machine dedicated to 
> small hardwares.
> A string was represented by an array of bytes (UTF8 or ASCII encoding), a 
> start position, and the number of characters of the string.
> It allows to reuse the internal byte array for different strings but the 
> String object was different for each String.
> With this approach, you are able to save a lot of memory (but with some CPU 
> overhead) and you don't have a problems because you have different String 
> objects for each String.
>
> ex: b1: 'Hello World! It's a sunny day'
>
> 'Hello World! It's a sunny day' : start = 0, count = 29, value b1
> 'Hello' : start = 0, count = 5, value b1
> 'Hello World!' : start = 0, count = 12, value b1
> 'World': start = 6, count = 5, value b1
>
>
> I don't see how it may be applied to Smalltalk and it makes sense.
>
> Christophe.
>

Reply via email to