MathGroup Archive 1996

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

Search the Archive

Speed up Mathematica for Windows 95

  • Subject: [mg2967] Speed up Mathematica for Windows 95
  • From: jpk at apex.mpe.FTA-Berlin.de (Jens-Peer Kuska)
  • Date: 17 Jan 1996 05:34:00 -0600
  • Approved: usenet@wri.com
  • Distribution: local
  • Newsgroups: wri.mathgroup
  • Organization: Wolfram Research, Inc.
  • Sender: mj at wri.com

Hi, Windows 95 users of Mathematica

I have just finished a small MathLink program that lets You change 
the process priorities of the Mathematica Kernel and the Frontend
with Mathematica commands. The 32Bit MathLink-Exe, the source code
and a sample notebook can be down loaded via anonymous-ftp from:

www.mpe.FTA-Berlin.de/incoming/MmaWin95/mpri95.zip

the mpri95.zip includes all what You need.
The notebook in the zip-file show how to install the MathLink 
executable. 

To use mpri95.exe You *must* have TCP/IP installed.

The speed up is shown below. Set the frontend priority
to idle makes 

the CALCULATIONS THREE TIMES OR MORE FASTER.

Mail me if You like the program,

Jens

-------------------------------------------------------------
-- Speed test -----------------------------------------------
-------------------------------------------------------------
Install the Windows 32 bit MathLink Program

In[]:=lnk=LinkOpen[LinkMode->Listen,LinkProtocol->"TCP"]

Out[]=LinkObject["1024 at caligula.mpe.fta-berlin.de", 2, 2]

In[]:=Run["e:\\test\\mpri95.exe -linkname " <> First[lnk] <> " -linkmode connect -linkprotocol tcp"];

In[]:= lnk=Install[lnk];


Get the Timing with normal priority, to get comparable results
the MathLink-EXE must be installed.

In[]:= f[x_]:= BesselJ[0,x];
Timing[Nest[f,0.6,2500]][[1]]

Out[]=86.604 Second

In[]:= kdv[q_]:=  D[q,t]  - 1/4  D[q,{x,3}] -3/2 q D[q,x]
q3:= (-5*E^((11*t)/8) - 45*E^(2*x) - 18*E^((11*t)/16 + x) +
       162*E^((3*t)/2 + 2*x) - 188*E^((13*t)/16 + 3*x) +
       162*E^(t/8 + 4*x) - 45*E^((13*t)/8 + 4*x) -
       18*E^((15*t)/16 + 5*x) - 5*E^(t/4 + 6*x))/
      (8*(-E^((11*t)/16) + 3*E^x - 3*E^((13*t)/16 + 2*x) +
         E^(t/8 + 3*x))^2);
 Timing[Simplify[kdv[q3]]]

Out[]={352.775 Second, 0}

Frontend is Idle, Kernel is Normal

In[]:=$SetFrontendPriority[$IdlePriority];


In[]:= f[x_]:= BesselJ[0,x];
Timing[Nest[f,0.6,2500]][[1]]

Out[]= 23.89 Second

In[]:= Timing[Simplify[kdv[q3]]]
Out[]= {97.6 Second, 0}


Frontend is Normal, Kernel is High

$SetFrontendPriority[$NormalPriority];
$SetKernelPriority[$HighPriority];

In[]:= f[x_]:= BesselJ[0,x];
Timing[Nest[f,0.6,2500]][[1]]

Out[]=21.933 Second

In[]:=Timing[Simplify[kdv[q3]]]

Out[]=
{90.914 Second, 0}

Frontend Idle, Kernel High

$SetFrontendPriority[$IdlePriority];
$SetKernelPriority[$HighPriority];

In[]:= f[x_]:= BesselJ[0,x];
Timing[Nest[f,0.6,2500]][[1]]

Out[]=21.462 Second

In[]:= Timing[Simplify[kdv[q3]]]

Out[]={89.257 Second, 0}

Remove the MathLink Program
In[]:=Uninstall[lnk];

I hope the results are use full. A very long calculation may be
best perform with $IdlePriority of the frontend and $HighPriority
of the kernel. For daly use $IdlePriority of the frontend and
$NormalPriority of the kernel may be the best.

Please send comments and bugs to:
jpk at mpe.fta-berlin.de 




  • Prev by Date: Speed up Mathematica for Windows 95
  • Next by Date: Re: Fourier[] malfunction?
  • Previous by thread: Speed up Mathematica for Windows 95
  • Next by thread: Re: Mathematica as a programming language.