Mathematica'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
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
— start interactive debugger
Assert — give an assertion to be checked when code is executed
On — switch on a single message or a group of messages
TimeConstrained — constrain CPU time for a computation
Timing,
AbsoluteTiming — CPU and absolute timing
MemoryConstrained — constrain memory usage in a computation
Method — specify particular methods for algorithmic functions to use
PerformanceGoal — specify whether to optimize for quality, speed, etc.
ExampleData — data for test examples
Parallelize — automatically parallelize computations across available processors
Dynamic Interactivity Tuning
GraphPlot — lay out a symbolic call graph