It is often the question, how to perform a task, and what excactly is the difference. It is known, that loops are slower than table operations, and matrix is even faster than table operation.
I made a script that lets JMP calculate the duration of square column generation, dependent on table rows and method. The result is below:
- table method is 10 times faster than to touch each cell (for each row ...)
- matrix calculation is 5 times faster than table method, but a bit more elaborate
In the script below you can replace the square operation by your own computation to compare the performance.

// compares the performance of
// Table calculation
// for each row
// and Matrix calculation
// and writes the result to a table
Names Default To Here( 1 );
perf_test = Function( {rows, type},
// create new table
cdt = As Table( (1 :: rows)`, <<COLUMN names=""></COLUMN>