This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-07-22
Channels
- # aws (1)
- # bangalore-clj (3)
- # beginners (103)
- # boot (15)
- # cider (29)
- # cljs-dev (17)
- # cljsrn (43)
- # clojure (156)
- # clojure-gamedev (2)
- # clojure-italy (11)
- # clojure-spec (55)
- # clojure-uk (4)
- # clojurescript (76)
- # data-science (2)
- # datomic (7)
- # defnpodcast (2)
- # emacs (4)
- # leiningen (2)
- # luminus (3)
- # off-topic (11)
- # parinfer (3)
- # pedestal (1)
- # quil (1)
- # re-frame (3)
- # reagent (2)
- # ring-swagger (1)
- # timbre (3)
- # unrepl (10)
- # untangled (1)
- # vim (3)
- # yada (1)
Benvenuti! 🙂
EuroClojure è finita, si rientra a casa, e arriva la solita malinconia post-conferenza
È sempre molto bello rivedere tante facce note e incontrarne tante nuove 🙂
I talks non troppo convincenti in media, eccetto qualche perla molto bella (e.g. il keynote). Ho preso delle note+commenti, che spero di riuscire a sistemare e pubblicare asap
E sono contento di aver reclutato @richiardiandrea nel canale 😄
A proposito, ieri sera grazie a qualche paio di birre abbiamo investigato qualche altra curiosità riguardo alle microperformances: first
è più lenta di nth 0
sui vettori, ma succede l’opposto sulle liste
Repl dump:
;; Vectors
boot.user=> (def a (into [] (range 1000)))
#'boot.user/a
boot.user=> (time (dotimes [i 1000000] (nth a 0))) ;; nth
"Elapsed time: 15.138612 msecs"
nil
boot.user=> (time (dotimes [i 1000000] (first a))) ;; first
"Elapsed time: 75.107362 msecs"
nil
boot.user=> (time (dotimes [i 1000000] (get a 0))) ;; get
"Elapsed time: 31.465566 msecs"
nil
boot.user=> (time (dotimes [i 1000000] (.get a 0))) ;; java interop, reflection
"Elapsed time: 4594.820928 msecs"
nil
boot.user=> (def ^java.util.List a (into [] (range 1000)))
#'boot.user/a
boot.user=> (time (dotimes [i 1000000] (.get a 0))) ;; interop, no reflection
"Elapsed time: 23.497538 msecs"
nil
;; Liste
boot.user=> (def b (into '() (range 1000)))
#'boot.user/b
boot.user=> (time (dotimes [i 1000000] (.get b 0)))
"Elapsed time: 3108.644045 msecs"
nil
boot.user=> (time (dotimes [i 1000000] (nth b 0 )))
"Elapsed time: 197.009824 msecs"
nil
boot.user=> (time (dotimes [i 1000000] (first b)))
"Elapsed time: 22.120821 msecs"
nil
boot.user=>
Moto felice di averti conosciuto @nilrecurring e ottimo report per quel che riguarda le performance, magari @bronsa ci può illuminare sul perché 😀
Per te @nilrecurring ho trovato un cosa che può essere interessante: http://lighttable.com/2017/01/27/light-table-roadmap-2017/