*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