The attached java code needs to be optimized to run faster. The full Eclipse project with test-data is posted here:
[login to view URL]
(this link is for convenience only; a copy of the file should be posted in the Private Message area before you accept the project)
Looking inside the benchmark/ folder (in the zip file linked above) you'll see the application currently takes 4 minutes to run, this is on an Intel i7 4770 CPU @ 3.4 Ghz (this is an extremely fast CPU; a more standard CPU takes 20 to 30 minutes to run). And in the included [login to view URL] profiler output you'll see this:
rank self accum count trace method
1 63.98% 63.98% 3027 304872 [login to view URL]
It shows 64% of all run time is spent inside the method MvelConstraint.evaluate. So this gives some area of where to look. I did some stepping through the debugger and it seems like pre-compilation of MVEL code down to Java is not occurring, which should be an easy optimization.
In order for your solution to be accepted, it must be at least 2x faster than the original code, on my machine. If you are not confident you can achieve 2x improvement, please try it before you bid. Freelancer prohibits uploading a solution before the project is awarded, but you are permitted to keep the solution to yourself.