| package com.googlecode.aviator; |
| |
| import java.text.NumberFormat; |
| import java.util.HashMap; |
| import java.util.Map; |
| |
| import junit.framework.TestCase; |
| |
| public class SimpleELPerformanceTest extends TestCase { |
| public void test_perf() throws Exception { |
| |
| Map<String, Object> ctx = new HashMap<String, Object>(); |
| ctx.put("a", 3); |
| ctx.put("b", 4); |
| ctx.put("c", 5); |
| |
| // AviatorEvaluator.setTrace(true); |
| for (int i = 0; i < 10; ++i) { |
| perf(ctx); |
| } |
| } |
| |
| private void perf(Map<String, Object> ctx) { |
| Expression exp = AviatorEvaluator.compile("(a+b)*c"); |
| long startMillis = System.currentTimeMillis(); |
| |
| final int COUNT = 1000 * 1000; |
| for (int i = 0; i < COUNT; ++i) { |
| exp.execute(ctx); |
| } |
| |
| long millis = System.currentTimeMillis() - startMillis; |
| |
| System.out.println("time : " |
| + NumberFormat.getInstance().format(millis)); |
| } |
| } |