Tuning & Debugging

The Wolfram Language's highly optimized architecture makes it easy to create programs that are both elegant and efficient. Its symbolic character lets you immediately run and test even the smallest program fragments. And it provides full-scale software engineering support, from arbitrarily detailed compilation control to novel high-level symbolic analysis.

ReferenceReference

Monitor dynamically monitor values during a computation

StepMonitor, EvaluationMonitor monitor built-in algorithms

Sow, Reap accumulate lists of values from within a computation

EvaluationData give detailed data on the evaluation of an expression

Print print any expression or graphic

PrintTemporary print temporary output, cleaning up at the end of a computation

Dialog enter a subsession at any stage in a computation

Evaluation Debugger start interactive debugger

Assertions

Assert give an assertion to be checked when code is executed

$AssertFunction function to apply when assertions fail

Execution Tracing »

Trace  ▪  TracePrint  ▪  Stack  ▪  ...

Messages »

On switch on a single message or a group of messages

Off  ▪  Message  ▪  Check  ▪  Quiet  ▪  ...

Time »

TimeConstrained constrain CPU time for a computation

Timing, AbsoluteTiming CPU and absolute timing

N  ▪  Compile  ▪  Dispatch  ▪  Hash  ▪  DumpSave  ▪  ...

Memory »

Clear clear values

MemoryConstrained constrain memory usage in a computation

ByteCount  ▪  MemoryInUse  ▪  Share  ▪  Short  ▪  Compress  ▪  $HistoryLength  ▪  ...

Program Tuning

Method specify particular methods for algorithmic functions to use

PerformanceGoal specify whether to optimize for quality, speed, etc.

ExampleData data for test examples

Parallelization »

Parallelize automatically parallelize computations across available processors

Dynamic Interactivity Tuning

TrackedSymbols  ▪  SynchronousUpdating  ▪  UpdateInterval

Low-Level System Optimization »

SystemOptions  ▪  ClearSystemCache  ▪  SystemInformation  ▪  ...

Systematic Testing & Verification

VerificationTest test whether a given input generates a specified output

TestReport generate a test report by running a collection of tests

Code Manipulation »

GraphPlot lay out a symbolic call graph

Inactive  ▪  Inactivate  ▪  Activate  ▪  ...

Symbol Namespace »

Names  ▪  Remove  ▪  Unique  ▪  ...