Home News (12/11/08)new Start Here Getting Started Downloads Documentation Tutorials (12/07/08)new Tablets Structure Deployment Web Studio OpenL Basics Constrainernew Change Log References LGPL License Motivational Reading OpenL Apologia |
Table of Contents
,
Decision Table Performance Optimization
Benchmarks and PerformanceWe have already discussed how to create and run tests in OpenL Studio. Providing Unit Tests will give you some assurance that your engine will behave the way you want it. But how fast will it perform. The processing speed is an important attribute of system's overall quality. There is no use of the smartest rule engine that produces results in 10 min when the data changes every 10 sec. While other vendors advertise their performance on some benchmarks that may or may not have anything to do with your particular implementation, we give the benchmarks to you. The first step in any performance improvement is to know your performance. If your engine already performs fast enough, why spend time on it's improvement? On another hand, if it is too slow, may be some other technology should be considered or some more advanced deployment techniques with load balancing should be used. The advantage to have performance knowledge at the early stages of the project is that you can take some steps in advance, for example, redesign some classes, and the earlier these steps are done the cheaper is their cost. In OpenL Tablets, everything that can be run can be benchmarked too. The benchmark icon Displaying and Comparing Benchmark ResultsThe benchmark results are displayed in a table. The Benchmark View keeps all the benchmark results during session life and gives you the option to compare selected results:
As you can see, all the benchmark results here consist of results of the test runs. Because OpenL Tablets knows the structure of the Test Run, it is able to display an average time per Unit Run. In case of other methods it will show the same time for Runs/sec and Units/sec. If you want to perform the tests with the finer granularity you will need to explore org.openl.benchmark package APIs. The comparison table shows the relative performance (per unit) of the different runs. You can compare any set of benchmarks. You can even use it to compare the performance of different rule engines - make sure you make them public especially if OpenL is on top! |