So, the Script Editor is a really powerful tool for both reading and writing your scripts. You can also evaluate just one line of code or a selection of code to verify the behavior as you develop your script. And you can hover over a variable name to determine its current contents. You can also use the JMP Log to examine the results of evaluation or any error messages. The Debugger is a separate environment that's used to incrementally run your script in a way that you can control the evaluation and observe computations and object behavior to confirm your code or identify a problem and its source. In the Debugger, you can set breakpoints to pause evaluation, step into a function or included file, step over all expressions, or step out to the next breakpoint or to the end. You can also profile the execution for timing, and observe global, local, and watch variables, namespaces, and the call stack and breakpoints. Now, most scripts evaluate pretty quickly, but if the evaluation seems slow, there are some JSL functions that provide information about the time. The Tick Seconds function provides the number of ticks since JMP was started, where a tick is of a second. So you can call this function before and after a part of your script in order to time that section of the script. The difference between the second and first result is how many ticks passed while this code was evaluating. The HP Time function can be used in the same way, but it returns a high precision value for time that's accurate to a microsecond. You can also time your script using the same separate environment that provides the Debugger. This is called the Profiler, and you can use it to see how much time is spent executing specific lines or how many times a line is executed.