Writing a large Collection of integers to a file fast

Zulq Alam me at zulq.net
Mon Jan 28 12:38:53 UTC 2008


David T. Lewis wrote:
> 
> The #reversed is not unnecessary. Other algorithms are of course
> possible, but this one is not wrong.
> 

It is the creation of an intermediate string that is unnecessary. The 
#printOn:base: is passed a stream on which it can print directly.

I mentioned the reverse because it was another (the third) iteration of 
the integers digits (create, reverse and print). In fact, a negative 
number requires another iteration.

> 
> It would be best not to open a new Mantis entry unless there actually
> is a new issue to be resolved.
> 

There is a "tweak" severity that suits this I think.

The change yields an ~ 18% improvement when hooked up to 
#printStringBase: in this benchmark:

TimeProfileBrowser spyOn:
	[-1000000 to: 1000000 do: [:i | i asString]]

There are also significantly less objects produced.

This may be very little in practicality but the only way to know that is 
to measure it.

Regards,
Zulq.




More information about the Squeak-dev mailing list