title: How to run Clojure code faster from the command line?
body: <p>I need a way to run <code>Clojure</code> code faster. I use <code>SciTE</code> for almost all languages including <code>Clojure</code> which means that you have to run <code>Clojure</code> pretty much the same way you run it from the command line. I've created some batch file that runs the <code>Clojure</code> file on hitting <code>&lt;F5&gt;</code>:</p>
  
  <pre><code>@java -cp C:\clojure-1.5.1\clojure-1.5.1.jar clojure.main %*
  </code></pre>
  
  <p>My main gripe is that running a <code>Clojure</code> file takes almost 2 seconds to run, which is unacceptable. I want the code to run(compile faster?) as fast as in <code>Clooj</code> and at the same time have a <code>python</code> or <code>Lisp</code> file in another tab for experimentations and other stuff something that <code>SciTE</code> can provide.<br>
  <strong>I want to know how <code>Clooj</code> can run/evaluate the whole file in less than a second</strong> so that I can reproduce the same in <code>SciTE</code> and not have to switch between the two when for example testing if some code can run unmodified in <code>Common Lisp</code>. It would be awesome if there was a way to evaluate code from the command line like <code>clisp -q -x "(print 'under-a-second)"</code>.</p>
  
  <p>My main objective is not to move away from <code>SciTE</code>(<code>Clojure</code>-<code>Lisp</code> code comparison) and still be able to run code faster(I'm talking about startup, not optimization). </p>
  
  <p><strong>UPDATE:</strong> </p>
  
  <p>The Clojure compiler can evaluate code from the command line(found it in <code>main.clj</code> in the jar file), this way:  </p>
  
  <pre><code>java -cp clojure-1.5.1.jar clojure.main -e "(print 'hello)"  
  </code></pre>
  
  <p>The bad news is that it compiles the expressions which take on average 2 seconds like the previous one.  </p>