Mathematica Professional 8.0

Performance

Mathematica combines reliability performance with superior, raw computational speed using state-of-the-art methods, some of which are only feasible in an integrated numeric-symbolic system.

Fast, modern algorithms

The latest algorithms developed around the world and in-house at Wolfram Research are built into Mathematica functions, along with the automation to invoke them when appropriate.

Systemwide adaptive scalability

Numerical or graphical algorithms have to sample points to evaluate functions. Sample too many and you sacrifice performance; too few and you get inaccurate results. Unlike most other systems, Mathematica automatically adapts the sampling rate to the function's behavior at each stage in a calculation, optimizing performance for a given algorithm.

Systemwide adaptive scalability

Just-in-time compilation

Mathematica automatically applies its internal compiler to optimize numerical computations when this can improve total start-to-finish time. The process is transparent: you get higher performance without changing your input.

When carrying out large repetitive numerical computations, either requested by the user directly--for example creating a table--or implicitly--solving a differential equation numerically--Mathematica automatically generates optimized byte code to speed up the computations, a process known as just-in-time compilation.

The instructions created are chosen to be close to those found in the machine code of a typical computer, and can thus be executed quickly. For large expressions, compilation can speed up execution by a factor of 20 or more. Many Mathematica functions, for example NIntegrate, use compilation by default, while others, for examplethe Table command, invoke compilation dynamically, based on the type and complexity of the expression evaluated and the number of evaluations requested.

Optimized array handling

Different forms of arrays (e.g., sparse, machine-precision number, etc.) are represented internally in a variety of ways to optimize processing speed and memory usage. The full set of Mathematica commands are available for working with all forms of arrays.

Autovectorizing

Mathematica applies operations automatically to an entire vector, matrix, or array rather than just a single element--enhancing performance and ease-of-use.

Autovectorizing is the capability of an operation to apply automatically to an entire vector, matrix or array--rather than just a single element. Autovectorizing operations are common in Mathematica--both for built-in capabilities and as an attribute for user specified functions. Operating on all the data at once reduces the number of top-level calls to Mathematica, replacing them with optimized internal routines. This optimization includes the use of CPU-specific vector capabilities where available. A further benefit of autovectorizing is cleaner, easier-to-read problem specification.

Hardware-optimized numerical performance

Mathematica is consistently the first-to-market technical software with complete implementation for new hardware, OSes, and chipsets, often beating other systems by months or years. Ports are individually optimized to give you the best performance for your platform.

Hardware-optimized numerical performance

Parallelize across the grid

With gridMathematica, parallelize not only your numerical computations, but symbolic too.

Parallelize across the grid

Self-checking precision control

Mathematica verifies and controls the precision of numerical calculations as it performs them, ensuring much greater consistency of results than previously possible. You have the choice to specify input, output, or working precision; Mathematica will give outputs corresponding to the justifiable precision.

Always use the best algorithm

Mathematica consistently matches the best performing algorithm to your problem both because it contains a broad range of algorithms, and because Mathematica automates and optimizes selection between algorithms (even mid-calculation). Systemwide automatic algorithm selection is unique to Mathematica and eliminates a major source of poor speed and reliability performance in other systems.

 

Minimised start-to-finish time

Rather than purely optimizing computational performance, Mathematica cuts down total start-to-finish time through integrating all stages in the workflow from high-level symbolic problem specification through prototyping to simulation, reliability analysis, and deployment of results.

Minimised Start to finish time

Rate this page
Comment