Re: lein uberjar much faster as lein run

2014-04-22 Thread Jony Hudson
I recall reading that `lein run` uses JVM options optimised for startup 
time, not performance - as it's intended for use in development, not 
production. I can't seem to find where I read that though ...


Jony

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: lein uberjar much faster as lein run

2014-04-22 Thread Lee Spector

On Apr 22, 2014, at 10:01 AM, Jony Hudson jonyepsi...@gmail.com wrote:

 I recall reading that `lein run` uses JVM options optimised for startup time, 
 not performance - as it's intended for use in development, not production. I 
 can't seem to find where I read that though ...

Somebody with actual knowledge of what's under the hood will undoubtedly be 
able to say more (and maybe correct me :-), but I've been led to believe that 
if you want things to run fast (at the expense of possibly longer startup time) 
with lein run then you actually want to use lein with-profile production 
run. 

FWIW (not much) I'd prefer that that be the default, or that there be a 
somewhat more obvious/memorable syntax (lein fast run?). 

In our limited testing  lein with-profile production run did indeed make a 
big difference, sometimes producing a ~2x speedup. This isn't as big as the 
difference that Cecil's getting with the uberjar though... and if we could get 
the ~5x speedup that he seems to be getting from uberjar then that would be 
fantastic. I guess we ought to just try that, but I'd appreciate any insights 
that knowledgable people here could provide on this.

 -Lee

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: lein uberjar much faster as lein run

2014-04-22 Thread Cecil Westerhof
2014-04-22 16:50 GMT+02:00 Lee Spector lspec...@hampshire.edu:


 On Apr 22, 2014, at 10:01 AM, Jony Hudson jonyepsi...@gmail.com wrote:

  I recall reading that `lein run` uses JVM options optimised for startup
 time, not performance - as it's intended for use in development, not
 production. I can't seem to find where I read that though ...

 Somebody with actual knowledge of what's under the hood will undoubtedly
 be able to say more (and maybe correct me :-), but I've been led to believe
 that if you want things to run fast (at the expense of possibly longer
 startup time) with lein run then you actually want to use lein
 with-profile production run.

 FWIW (not much) I'd prefer that that be the default, or that there be a
 somewhat more obvious/memorable syntax (lein fast run?).

 In our limited testing  lein with-profile production run did indeed make
 a big difference, sometimes producing a ~2x speedup. This isn't as big as
 the difference that Cecil's getting with the uberjar though... and if we
 could get the ~5x speedup that he seems to be getting from uberjar then
 that would be fantastic. I guess we ought to just try that, but I'd
 appreciate any insights that knowledgable people here could provide on this.


​That gives:
 1 threads took   11811 milliseconds
 2 threads took6015 milliseconds
 4 threads took3155 milliseconds
 6 threads took2567 milliseconds
 7 threads took2356 milliseconds
 8 threads took2218 milliseconds
​

​
So that is comparable to uberjar. I will use this in the future. Thanks.

-- 
Cecil Westerhof

-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: lein uberjar much faster as lein run

2014-04-22 Thread Gary Trakhman
https://github.com/technomancy/leiningen/blob/master/leiningen-core/src/leiningen/core/project.clj#L415

TieredCompilation is the relevant one.



On Tue, Apr 22, 2014 at 10:01 AM, Jony Hudson jonyepsi...@gmail.com wrote:

 I recall reading that `lein run` uses JVM options optimised for startup
 time, not performance - as it's intended for use in development, not
 production. I can't seem to find where I read that though ...


 Jony

 --
 You received this message because you are subscribed to the Google
 Groups Clojure group.
 To post to this group, send email to clojure@googlegroups.com
 Note that posts from new members are moderated - please be patient with
 your first post.
 To unsubscribe from this group, send email to
 clojure+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/clojure?hl=en
 ---
 You received this message because you are subscribed to the Google Groups
 Clojure group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to clojure+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/d/optout.


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: lein uberjar much faster as lein run

2014-04-22 Thread Alex Miller
By default, lein run will use tiered compilation, which starts faster, but 
is not as fast. 

https://github.com/technomancy/leiningen/wiki/Faster

On Tuesday, April 22, 2014 9:01:34 AM UTC-5, Jony Hudson wrote:

 I recall reading that `lein run` uses JVM options optimised for startup 
 time, not performance - as it's intended for use in development, not 
 production. I can't seem to find where I read that though ...


 Jony


-- 
You received this message because you are subscribed to the Google
Groups Clojure group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
Clojure group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.