Linux runtime performance enhancement
On Linux 64-bit systems, you can specify whether you want the correlator to use the compiled runtime or the interpreted runtime. The compiled runtime is new in Apama 5.0.1.
When you start the correlator, specify --runtime compiled to use the new compiled runtime feature. The interpreted runtime is invoked by default or you can specify --runtime interpreted.
The interpreted runtime compiles EPL into bytecode whereas the compiled runtime compiles EPL into native code that is directly executed by the CPU. For many applications, the compiled runtime provides significantly faster performance than the interpreted runtime. Applications that perform dense numerical calculations are most likely to have the greatest performance improvement when the correlator uses the compiled runtime. Applications that spend most of their time managing listeners and searching for matches among listeners typically show a smaller performance improvement.
Other than performance, the behavior of the two runtimes is the same except
The interpreted runtime allows for the profiler and debugger to be switched on during the execution of EPL. The compiled runtime does not permit this. For example, you cannot switch on the profiler or debugger in the middle of a loop.
The amount of stack space available is different for the two runtimes. This means that recursive functions run out of stack space at a different level of recursion on the two runtimes.