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 ▪ ...