Re:Speed of writing in Mathematica 3.01
- To: mathgroup@smc.vnet.net
- Subject: [mg11860] Re:Speed of writing in Mathematica 3.01
- From: Andrzej Kozlowski <andrzej@tuins.ac.jp>
- Date: Fri, 3 Apr 1998 03:45:22 -0500
In article <6fd5ag$6aq@smc.vnet.net>, bridges@en.com (James Bridges)
wrote:
> Am I doing something wrong or is it supposed to take orders of magnitude
> longer than is reasonable to write out a simple ASCII file from
> Mathematica? Consider this simple test:
>
> In[7]:=
> a=Table [i,{i,1,1001}];
>
> In[8]:=
> Timing[
> filename="Macintosh HD:test.ascii";
> output=OpenWrite[filename];
> Do[
> Write[output,a[[i]]];
> ,{i,1,1001}];
> Close[output];
> ]
>
> Out[8]=
> {23.4 Second,Null}
>
> 23 seconds to write 1001 integers?! On a 233MHz G3! Everything else is
> whiff-bam fast, but writing is glacial. Now this is a simplified
> example of what I need to do but it contains one of the factors, namely
> that I have to individually write out elements of a list, hence the Do
> loop. Any hints?
> > James Bridges
>
Here is one fast way do this sort of thing:
In[3]:=
fast=OpenWrite["test"]
Out[3]=
OutputStream["test",8]
In[4]:=
Write[fast,Table[n,{n,1,1000}]]//Timing Out[4]=
{0.0833333 Second,Null}
In[5]:=
Close[fast]
Out[5]=
"test"
(PowerMac G3 266 MHz)
Andrzej Kozlowski