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)); } }