On Friday, December 8, 2017 at 7:54:23 PM UTC-6, Bost wrote:
>
> Hi, first of all: thanks for the 1.9.0! 
> And now issue: it looks like the 1.9.0 is slower than 1.8.0. Is there 
> any --turbo switch to flip? 
>

I think to be a better comparison, I would do clj -Spath to grab your 
classpath and in both cases start with "java -cp <classpath> ..." to get an 
apples to apples comparison. The clj script is fast compared to Clojure 
startup but it is checking and comparing files time for multiple files to 
determine whether it can use the cached classpath. 

Second I don't think you're doing enough work or enough timings here to 
necessarily get past the JVM hotspot compilation overhead and see times 
that are worth comparing. If you want to benchmark the time for the reduce, 
I would add criterium and exclude the startup time. My expectation would be 
that the times are pretty similar as little has changed that should affect 
what you're doing here.

Startup time through clojure.main (which you're doing in both cases) does 
currently have a side effect of loading spec and the core specs which adds 
about 0.1-0.2 s. Startup time on AOT'ed code NOT going through clojure.main 
can usually avoid these.

 

>
> Bost 
>
>
> time java -jar 
> /home/bost/.m2/repository/org/clojure/clojure/1.8.0/clojure-1.8.0.jar 
> -e '(defn Σ [n] (reduce + (range (inc n)))) (println (Σ (* 1000 
> 1000)))' 
> #'user/Σ 
> 500000500000 
> 1.31user 0.04system 0:00.65elapsed 205%CPU (0avgtext+0avgdata 
> 101872maxresident)k 
> 0inputs+64outputs (0major+21822minor)pagefaults 0swaps 
>
> time clj -e '(defn Σ [n] (reduce + (range (inc n)))) (println (Σ (* 
> 1000 1000)))' 
> #'user/Σ 
> 500000500000 
> 2.03user 0.05system 0:00.92elapsed 226%CPU (0avgtext+0avgdata 
> 108284maxresident)k 
> 0inputs+64outputs (0major+25522minor)pagefaults 0swaps 
>
>
>
> time java -jar 
> /home/bost/.m2/repository/org/clojure/clojure/1.8.0/clojure-1.8.0.jar 
> -e '(defn Σ [n] (reduce + (range (inc n)))) (println (Σ (* 1000 1000 
> 10)))' 
> #'user/Σ 
> 50000005000000 
> 1.72user 0.08system 0:00.88elapsed 204%CPU (0avgtext+0avgdata 
> 199204maxresident)k 
> 0inputs+64outputs (0major+46108minor)pagefaults 0swaps 
>
> time clj -e '(defn Σ [n] (reduce + (range (inc n)))) (println (Σ (* 
> 1000 1000 10)))' 
> #'user/Σ 
> 50000005000000 
> 2.63user 0.09system 0:01.27elapsed 214%CPU (0avgtext+0avgdata 
> 210056maxresident)k 
> 0inputs+64outputs (0major+50405minor)pagefaults 0swaps 
>
>
>
> time java -jar 
> /home/bost/.m2/repository/org/clojure/clojure/1.8.0/clojure-1.8.0.jar 
> -e '(defn Σ [n] (reduce + (range (inc n)))) (println (Σ (* 1000 1000 
> 100)))' 
> #'user/Σ 
> 5000000050000000 
> 2.17user 0.23system 0:01.59elapsed 151%CPU (0avgtext+0avgdata 
> 729756maxresident)k 
> 0inputs+64outputs (0major+178749minor)pagefaults 0swaps 
>
> time clj -e '(defn Σ [n] (reduce + (range (inc n)))) (println (Σ (* 
> 1000 1000 100)))' 
> #'user/Σ 
> 5000000050000000 
> 2.95user 0.28system 0:01.87elapsed 172%CPU (0avgtext+0avgdata 
> 739368maxresident)k 
> 0inputs+64outputs (0major+182736minor)pagefaults 0swaps 
>
>
>
> time java -jar 
> /home/bost/.m2/repository/org/clojure/clojure/1.8.0/clojure-1.8.0.jar 
> -e '(defn Σ [n] (reduce + (range (inc n)))) (println (Σ (* 1000 1000 
> 1000)))' 
> #'user/Σ 
> 500000000500000000 
> 9.34user 0.27system 0:08.75elapsed 109%CPU (0avgtext+0avgdata 
> 744520maxresident)k 
> 0inputs+64outputs (0major+183953minor)pagefaults 0swaps 
>
> time clj -e '(defn Σ [n] (reduce + (range (inc n)))) (println (Σ (* 
> 1000 1000 1000)))' 
> #'user/Σ 
> 500000000500000000 
> 10.52user 0.25system 0:09.29elapsed 115%CPU (0avgtext+0avgdata 
> 752244maxresident)k 
> 0inputs+104outputs (0major+189351minor)pagefaults 0swaps 
>
>
> 2017-12-08 23:17 GMT+01:00 Jose Figueroa Martinez <col...@gmail.com>: 
> > Excelent news! Thank you all for your effort. 
> > 
> > It feels like christmas but earlier :-D 
> > 
> > "We wish you a merry christmas and a happy new Clojure!" 
> > 
> > José FM 
> > 
> > 
> > El viernes, 8 de diciembre de 2017, 13:35:39 (UTC-6), Alex Miller 
> escribió: 
> >> 
> >> Clojure 1.9 is now available! 
> >> 
> >> 
> >> Clojure 1.9 introduces two major new features: integration with spec 
> and 
> >> command line tools. 
> >> 
> >> 
> >> spec (rationale, guide) is a library for describing the structure of 
> data 
> >> and functions with support for: 
> >> 
> >> Validation 
> >> Error reporting 
> >> Destructuring 
> >> Instrumentation 
> >> Test-data generation 
> >> Generative test generation 
> >> Documentation 
> >> 
> >> Clojure integrates spec via two new libraries (still in alpha): 
> >> 
> >> spec.alpha - spec implementation 
> >> core.specs.alpha - specifications for Clojure itself 
> >> 
> >> This modularization facilitates refinement of spec separate from the 
> >> Clojure release cycle. 
> >> 
> >> The command line tools (guide, reference) provide: 
> >> 
> >> Quick and easy install 
> >> Clojure REPL and runner 
> >> Use of Maven and local dependencies 
> >> A functional API for classpath management (tools.deps.alpha) 
> >> 
> >> The installer is available for Mac developers in brew, for Linux users 
> in 
> >> a script, and for more platforms in the future. 
> >> 
> >> For more information, see the complete list of all changes in Clojure 
> 1.9 
> >> for more details. 
> >> 
> >> 
> >> Contributors 
> >> 
> >> 
> >> Thanks to all of the community members who contributed to Clojure 1.9 
> >> (first time contributors in bold): 
> >> 
> >> Adam Clements 
> >> Andy Fingerhut 
> >> Brandon Bloom 
> >> Cameron Desautels 
> >> Chad Taylor 
> >> Chris Houser 
> >> David Bürgin 
> >> Eli Lindsey 
> >> Gerrit Jansen Van Vuuren 
> >> Ghadi Shayban 
> >> Greg Leppert 
> >> Jason Whitlark 
> >> Johan Mena 
> >> Jozef Wagner 
> >> Lee Yen-Chin 
> >> Matthew Boston 
> >> Michael Blume 
> >> Michał Marczyk 
> >> Nicola Mometto 
> >> Ruslan Al-Fakikh 
> >> Steffen Dienst 
> >> Steve Miner 
> >> Yegor Timoshenko 
> >> Zhuang XiaoDan 
> > 
> > -- 
> > 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.

Reply via email to