Re: 3.0 = Rip Roaring Resource Hog :-(
- To: mathgroup at smc.vnet.net
- Subject: [mg5162] Re: 3.0 = Rip Roaring Resource Hog :-(
- From: Eric Jacopin <jacopin at thomson-lcr.fr>
- Date: Wed, 6 Nov 1996 01:34:12 -0500
- Organization: Thomson-CSF, Laboratoire Central de Recherches, Orsay, France
- Sender: owner-wri-mathgroup at wolfram.com
Mark Evans wrote: > > 3.0 = Rip Roaring Resource Hog :-( > > I have used Mathematica for years and found it exceptionally useful in a > wide variety of situations. It has succeeded where other programs and > compilers have not only failed, but failed miserably. It has allowed me to > do jobs I could not dream of accomplishing without its unique capabilities. > It is generally a pleasant and refreshing experience to work with > Mathematica. > > Yet there are some situations when Mathematica just falls down on its face. > I have encountered several of these in quick succession recently. All of > them relate to the manipulation of real-world data as opposed to small > examples or algebraic expressions. > > It is starting to sink into my brain that Mathematica is extremely wasteful > of system resources. For the first time, I am thinking about moving my > work over to MATLAB. I need a program that knows what machine numbers are! > > I've recently posted some complaints about MMA 3.0's file system > deficiencies. I am informed that WRI is in the process of addressing these > for version 3.1. Hooray for that. > > But consider the following demonstration of what a resource nightmare MMA > 3.0 can be. > > I have a single Windows WAV sound file that is exactly 463,094 bytes long. > This figure is reported by the Windows 95 Properties dialog. That's about > half a megabyte. In principle, any program that reads in this data should > not need more than about 0.5 to 1.0 megs to store the data. > > MATHEMATICA 3.0 TAKES 9 MEGABYTES TO STORE 0.5 MEGABYTES OF DATA. This is > an inefficiency ratio of 18:1. I AM HAVING SERIOUS DOUBTS ABOUT THE > ABILITY OF THIS PROGRAM TO DEAL WITH REAL LABORATORY DATA SETS. > > Here are the byte counts I got from Mathematica 3.0 Final. > > <<Miscellaneous`Audio` > > In[17]:= > filename = "G:\\Telluric\\Data\\Original Data 8\\b1.wav" > > Out[17]= > G:\Telluric\Data\Original Data 8\b1.wav > > In[18]:= > FileByteCount[filename] (* size of file in bytes *) > > Out[18]= > 463094 > > In[19]:= > sound = ReadSoundfile[filename]; (* read it (2 min.) *) > > In[20]:= > ByteCount[sound] (* how big is the data in bytes *) > > Out[20]= > 9261024 > > In[21]:= > N[ByteCount[sound] / 1024] (* how big in kilobytes *) > > Out[21]= > 9043.97 > > In[22]:= > nsound = N[sound]; (* turn integers into machine #'s *) > > In[23]:= > N[ByteCount[nsound] / 1024] (* new size in KB *) > > Out[23]= > 9043.97 > > I tried Share[] and it did not help. So whether the array is composed of > exact integers or machine-precision numbers, it takes 9 megabytes of > storage in Mathematica 3.0. > > Nine megabytes of storage for an uncompressed file that takes 0.5 megs on > disk is out of this world. This is object-orientation gone berserk. Does > MMA 3.0 treat every component of the array as an "object"? > > I recently complained to WRI about the price increases following release of > 3.0. You are looking at $2000 for a copy of Mathematica plus one > application pack. Two thousand dollars for a setup with this kind of > inefficiency is too much money, by far. > > I want to see Mathematica succeed, but I also want to see myself succeed. > If the tool can't do the job, it should not be advertised as an all-purpose > slicer/dicer and priced like one. From the outputs shown above, it seems > that any successful use of the application packs on real data of any > significant size will require access to several hundred megs of RAM. Most > of us don't have that much. > > Please, WRI, please focus all your efforts for 3.1 onto these efficiency > problems. > > Mark Evans > evans at gte.net Well, I got to admit that I *DO* agree with the extremely bad memory management of Mathematica. Indeed, I experienced the same ratio, and even much worse. For instance, I need almost 50 Mb (!!!!) to compute fractal dimension from file with 60k of reals, whereas using C (and, even scheme), I use only 2 Mb for such a thing. I believe Mathematica is good for prototyping and teaching concepts, which is not bad at all, but you should really have this in mind before developing your things any further. -- Eric Jacopin ftp://ftp.ibp.fr/ibp/softs/laforia/pweak/Pweak.html http://www-laforia.ibp.fr/~jacopin