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.

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

Echo display an intermediate expression from a computation

EchoFunction display an intermediate expression after applying a function

EchoLabel display an intermediate expression with a label

EchoTiming display the timing for an intermediate computation

EchoEvaluation display an intermediate expression before and after evaluation

QuietEcho disable printing from Echo and related functions

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

Dialog enter a subsession at any stage in a computation

$ProgressReporting specify default progress reporting for system functions

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

RepeatedTiming average timing based on repeated evaluation

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

TimeRemaining time before a time constraint in a running program

Network Connectivity

$NetworkConnected  ▪  PingTime  ▪  HostLookup

NetworkPacketTrace record network activity during an evaluation

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

DataStructure  ▪  FunctionCompile

Parallelization »

Parallelize automatically parallelize computations across available processors

Dynamic Interactivity Tuning

TrackedSymbols  ▪  SynchronousUpdating  ▪  UpdateInterval

Low-Level System Optimization »

SystemOptions  ▪  ClearSystemCache  ▪  SystemInformation  ▪  ...

Systematic Testing & Verification »

TestCreate create a test with input and expected output

TestReport generate a test report by running a collection of tests

Randomization Control »

BlockRandom  ▪  RandomSeeding  ▪  RandomGeneratorState  ▪  $RandomGeneratorState

Capturing Display Output

CurrentNotebookImage  ▪  CurrentScreenImage  ▪  Rasterize

Web Testing »

WebImage  ▪  WebExecute  ▪  StartWebSession  ▪  ...

Code Manipulation »

GraphPlot lay out a symbolic call graph

Inactive  ▪  Inactivate  ▪  Activate  ▪  ...

Symbol Namespace »

Names  ▪  Remove  ▪  Unique  ▪  ...