[Newbies] Efficiently writing to a file
Bert Freudenberg
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
mailing list