 
 
 
 
 
 
Re: How I can I optimize the following code in order to get very
- To: mathgroup at smc.vnet.net
- Subject: [mg125108] Re: How I can I optimize the following code in order to get very
- From: Szabolcs <szhorvat at gmail.com>
- Date: Wed, 22 Feb 2012 05:28:43 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jhvu3d$7vc$1@smc.vnet.net>
On Tuesday, 21 February 2012 13:10:37 UTC+2, Liwen Zhang  wrote:
> How I can I optimize the following code in order to get very short
> running time?
> 
> Time1 = AbsoluteTime[];
> n = 3000;
> Do[Do[x =
>      Sin (45.0)*ArcSin (0.5)*Sqrt (5.0)*ArcTan (2.5555);, {n}], {n}];
> Time2 = AbsoluteTime[];
> Print[Time2 - Time1];
This program does not do anything except calculate the same thing n*n times.  Since you have no varying parameters in the expression, you can just calculate the value once.
Generally, a good and easy way to speed up programs is compiling them:
http://reference.wolfram.com/mathematica/ref/Compile.html
Here's a detailed list of tips and guidelines on how to use Compile effectively, by Leonid Shifrin:
http://mathematica.stackexchange.com/a/1816/12
Here's another post on general performance tuning in Mathematica, also written by Leonid Shifrin:
http://stackoverflow.com/a/4723969/695132
Here's a more advanced tutorial on using Compile[], from the docs:
http://reference.wolfram.com/mathematica/Compile/tutorial/Overview.html
Finally, you'll find a collection of link to performance tuning tutorials / presentations here:
http://mathematica.stackexchange.com/tags/performance-tuning/info
as well as several discussions on performance tuning here:
http://mathematica.stackexchange.com/questions/tagged/performance-tuning

