Thanks nicolas
I would like to have much more time to devote to pharo. But I'm(sick  
right now) and have a lot of mess
around (home....)
I will let mike give you some comments. My knowledge about UTf-8 is  
too limited and the way squeak handles it
is even weaker (with leading char and other beasts).

Stef

On May 10, 2009, at 2:28 AM, Nicolas Cellier wrote:

> Well, this is latin1-centric, but could speed-up a majority of us,
> since most code is written in English.
>
> The idea is to use Andreas fast conversions  
> ByteString>>#squeakToUtf8 ...
> However creating an intermediary Stream then an intermediary String is
> not necessary...
>
> So we'll have to replace this with dispatching techniques.
> Moreover, the technique can be generalized to other encodings.
> More more over, the lineEndConventions can be handled by the very  
> same trick.
>
> To achieve this, we install a latin1Map and latin1Encodings as class
> instance variables in TextConverter to generalize Andreas'
> squeakToUtf8 trick.
>
> Then we copy these in instance variables. This is to enable
> lineEndConventions mapping.
>
> Then we care to #installLineEndConventionInConverter in
> MultiByteFileStream to initialize TextConverter variables.
>
> Then we use following dispatching:
>
> MultiByteFileStream nextPutAll:
> -> TextConverter nextPutAll:
>
> And use a hack for ByteString in TextConverter nextPutAll:
> (dispatching on String would be overkill by now).
>
> To measure how it can enhance things, I put a hack
> in Debugger class>>#openOn:context:label:contents:fullView:
>               Preferences logDebuggerStackToFile
>                               ifTrue: [MessageTally spyOn: [Smalltalk
>                                               logError: title
>                                               inContext: context
>                                               to: 'SqueakDebug.log']]
>
> Then did a 0/0
> FasterLatin1Conversion reduce tallies from  - 11452 tallies, 11586
> msec. to  - 3625 tallies, 3718 msec.
> Still a little bit long for a Debugger to open, but already better.
>
> Nicolas
> <FasterLatin1Conversion-Part1.1.cs><FasterLatin1Conversion- 
> Part2.1.cs><FasterLatin1Conversion- 
> Part3.1.cs><FasterLatin1Conversion- 
> Part4.1.cs>_______________________________________________
> Pharo-project mailing list
> [email protected]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to