[Newbies] Efficiently writing to a file
Ian Oversby
oversby at googlemail.com
Tue Apr 10 22:13:31 UTC 2007
On 10/04/07, Bert Freudenberg <bert at freudenbergs.de> wrote:
>
> 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.
Okay, thanks. That clarifies things a lot.
Cheers for your help Bert,
Ian
More information about the Beginners
mailing list