The limitation of the elements printing is currently given by gtDisplayString through the method streamContents:limitedTo:. It is limited to 1000.

 

So the required length for the printing is set by gtDisplayString through the limitation.

 

Cheers,

Vincent

 

De : moose-dev-bounces@iam.unibe.ch [mailto:moose-dev-bounces@iam.unibe.ch] De la part de Tudor Girba
Envoyé : samedi 13 juin 2015 14:52
À : Moose-related development
Objet : [Moose-dev] Re: inspector lag on pharo 5.1

 

Thanks. Now, we still need the trimming in the gtDisplayString. Could you extend the printing to take it into account?

 

Cheers,

Doru

 

On Sat, Jun 13, 2015 at 12:25 AM, Vincent BLONDEAU <vincent.blondeau@polytech-lille.net> wrote:

 

 

De : moose-dev-bounces@iam.unibe.ch [mailto:moose-dev-bounces@iam.unibe.ch] De la part de Stephan Eggermont
Envoyé : samedi 13 juin 2015 00:09
À : moose-dev@iam.unibe.ch
Objet : [Moose-dev] Re: inspector lag on pharo 5.1

 

 

On 12/06/15 23:40, Vincent BLONDEAU wrote:

There is a lag which is due to the printing of the MooseGroupRuntimeStorage items.

In Collection>>gtDisplayOn:, the stream in argument is not used to print the contents of the collection. So the whole collection is printed whereas only a part of the contents has to be printed.

 

The current implementation is:

“s nextPutAll: ((String streamContents: [ :stream | self printElementsOn: stream ]) truncateWithElipsisTo: 42).”

And it should simply be:

“self printElementsOn: s”


Isn't it faster to use streamContents:limitedTo:45, and then replace the last three characters by dots
without copying the string if the string size is 45?

In fact, streamContents:limitedTo: is already called just before gtDisplayOn:. So the stream given to this method is already limited (not to 45 but 1000).

Vincent

Stephan


_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev



 

--

www.tudorgirba.com

 

"Every thing has its own flow"