package curveJudge import groovy.text.SimpleTemplateEngine /** * Created by Jxy on 2019/8/26 17:16 * */ class EngineTest { static void main(String[] args) { def shell = new GroovyShell() def engine = new SimpleTemplateEngine() def map = [ 'eg1' : 1, 'eg2' : 1, 'eg3' : 1, 'eg5' : 1, 'eg6' : 1, 'eg7' : 1, 'eg8' : 1, 'eg9' : 1, 'eg10': 1, 'eg11': 1, 'eg12': 1, 'eg14': 1, 'eg13': 1, 'eg15': 1, 'eg16': 1, 'eg17': 1, 'eg18': 1, 'eg19': 1, 'eg20': 1, 'eg21': 1, 'eg22': 1, 'eg23': 1, 'eg24': 1, 'eg25': 1, 'eg26': 1, 'eg27': 1, 'eg28': 1, 'eg29': 1, 'eg30': 1, 'eg31': 1, 'eg32': 1, 'eg33': 1, 'eg34': 1, 'eg35': 1, 'eg36': 1, 'eg37': 1, 'eg38': 1, 'eg39': 1, 'eg40': 1, 'eg41': 1, 'eg42': 1, 'eg43': 1, 'eg44': 1, 'eg45': 1, ] def a = System.currentTimeMillis() String str = '($eg1+$eg10)*6' def string1 = engine.createTemplate(str).make(map).toString() println "执行结果:${-> shell.evaluate(string1)}" def b = System.currentTimeMillis() println "---->执行 1 次需要毫秒数: ${b - a}" def str1 for (int i in 1..10) { str1 = '($eg44+$eg3)*2' def string2 = engine.createTemplate(str1).make(map).toString() println "${i}执行结果:${-> shell.evaluate(string2)}" } def c = System.currentTimeMillis() println "执行 10 次需要毫秒数: ${c - b}" String str2 = '($eg1+$eg10)*6' def string3 = engine.createTemplate(str2).make(map).toString() println "执行结果:${-> shell.evaluate(string3)}" def d = System.currentTimeMillis() println "---->在执行 1 次需要毫秒数: ${d - c}" def str3 for (int i in 1..100) { str3 = '($eg44+$eg3)*2' def string4 = engine.createTemplate(str3).make(map).toString() println "${i}执行结果:${-> shell.evaluate(string4)}" } def e = System.currentTimeMillis() println "执行 100 次需要毫秒数: ${e - d}" } }