import javax.script.*;
import java.util.Date;

public class Main2 {
  public static void main(String[] args) throws Exception {
     ScriptEngineManager m = new ScriptEngineManager();
     ScriptEngine e = m.getEngineByName("nashorn");
     CompiledScript cs = ((Compilable)e).compile("var a = 1");
     Bindings bindings = e.createBindings();
 
     ScriptContext ctxt = e.getContext(); 
     SimpleScriptContext tempctxt = new SimpleScriptContext();
     tempctxt.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
     tempctxt.setBindings(ctxt.getBindings(ScriptContext.GLOBAL_SCOPE),
                  ScriptContext.GLOBAL_SCOPE);
     tempctxt.setWriter(ctxt.getWriter());
     tempctxt.setReader(ctxt.getReader());
     tempctxt.setErrorWriter(ctxt.getErrorWriter());

     long dt = new Date().getTime();
     for (int i = 0; i < 100000; i++) {
         //cs.eval();
         cs.eval(tempctxt);
     }

     System.out.println(new Date().getTime() - dt);
  }
}
