[Newbies] Efficiently writing to a file
bert at freudenbergs.de
Tue Apr 10 22:01:27 UTC 2007
On Apr 10, 2007, at 23:50 , Ian Oversby wrote:
> On 10/04/07, Bert Freudenberg <bert at freudenbergs.de> wrote:
>> On Apr 10, 2007, at 23:22 , Ian Oversby wrote:
>> > Okay, I tried this and it still seems a bit slow:
>> > | myFile ios |
>> > ios := ReadWriteStream on: ''.
>> > Transcript show: 'Populate Buffer: ',
>> > (Time millisecondsToRun: [
>> > 1 to: 10000 do: [
>> > :x | ios nextPutAll: ((x asString) ,
>> String crlf)
>> > ]]) asString , ' millseconds' ; cr.
>> > Is this the correct way to use the stream?
>> Why not write
>> 1 to: 10000 do: [:x | ios print: x; cr]
>> - Bert -
> I don't know the difference between print: and nextPutAll:,
Select "print:", press Cmd-m.
> but cr
> didn't put the correct line ending for Windows, and it still seems
> equally slow.
Well, that's about as fast as you get without specific optimizations.
Most probably Perl uses a C function for formatting numbers, Squeak
does not. If this is mission-critical for your app it can be
optimized, but in general we choose flexibility over raw speed.
- Bert -
More information about the Beginners