|
[Date Index]
[Thread Index]
[Author Index]
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?
|