MathGroup Archive 1996

[Date Index] [Thread Index] [Author Index]

Search the Archive

3.0 = Rip Roaring Resource Hog :-(

  • To: mathgroup at smc.vnet.net
  • Subject: [mg5094] 3.0 = Rip Roaring Resource Hog :-(
  • From: Mark Evans <evans at gte.net>
  • Date: Wed, 30 Oct 1996 22:03:42 -0500
  • Organization: None
  • Sender: owner-wri-mathgroup at wolfram.com

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



  • Prev by Date: Re: Are two expressions equal?
  • Next by Date: mathematica 3.0 comments?
  • Previous by thread: About PAUSING in V2.2 on Solaris
  • Next by thread: mathematica 3.0 comments?