• Performance Analysis:
      Sometimes the answer is simple:
      Sometimes you just need to change the options you are using from the macro:
      • On the last page we saw an example where the speed was being driven by the call to Math.max(double,double) in Logarithm.SS(..).
      • If you look back at the macro you will see that FFT has been given the /LOG switch.
      • A quick check of the explain file for FFT shows the following switches:
        /DBF     Compute dB Log output using fast exponent
                 overlay method (good to +-.5 dB)
        /LOG     Output 20log of power spectral density
        
      • In this case there are two options: the high-precision one (/LOG) and the fast one (/DBF).
      Sometimes you just need to change the methods you are using in a primitive:
      • Example: The Table.putAll(..) method in Table has the following warning message:
        This method is slower than using merge(Keyable)
        when given a KeyVector or a Table in KV mode.
        
      Sometimes the answer is not simple:
      Sometimes a faster algorithm is required.
      Sometimes the computation just can't be done any quicker.