Whether you are a new Jacket programmer or a GPU maestro, you are bound to speed-test Jacket at some point. There are many factors to keep in mind while benchmarking Jacket code - a simple tic-func()-toc won't do. For example, this is some typical benchmarking code:
<pre>% warm up
x = rand(n,'single');
x = grand(n, 'single');
geval(x);
% CPU timing
tic
for r = 1:reps
   x = rand(n,'single');
end
cpu_time = toc;
% GPU timing
gsync, tic
for r = 1:reps
   x = grand(n,'single');
   geval(x);
end
gsync, gpu_time = toc</pre>
With Jacket 1.7, this entire code chunk is now replaced by two lines:
<pre>cpu_time = timeit(@()  rand(n,'single'));
gpu_time = timeit(@() grand(n,'single'));</pre>
<!--more-->

With <a href="http://wiki.accelereyes.com/wiki/index.php/TIMEIT">TIMEIT</a>, you get a fast and easy way to bench functions. This function takes as its input a function handle, that could be a Jacket function you want to benchmark:
<pre>timeit(@() grand(512))</pre>
Or it could be a function of your own:
<pre>A = grand(30);                     
B = grand(30);
timeit(@() (A.*B).^2)</pre>
TIMEIT takes care of all the factors involved in benchmarking GPU code. No longer do you have to worry about warmup: TIMEIT does that before executing GPU functions. Also, it times each function for a sufficient number of iterations by default, so you needn't call timeit() in a loop.

The addition of this feature is bound to make timing Jacket functions much simpler.  With this feature, Jacket programmers can concentrate on optimizing code, rather than writing helper timing functions.