This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2020-09-24
Channels
- # announcements (6)
- # architecture (9)
- # aws (2)
- # babashka (49)
- # beginners (160)
- # boot (19)
- # calva (9)
- # cider (16)
- # clj-kondo (17)
- # cljfx (9)
- # clojure (143)
- # clojure-australia (5)
- # clojure-berlin (1)
- # clojure-czech (3)
- # clojure-europe (64)
- # clojure-france (1)
- # clojure-italy (12)
- # clojure-nl (4)
- # clojure-spec (6)
- # clojure-uk (47)
- # clojurescript (27)
- # code-reviews (5)
- # conjure (45)
- # cursive (47)
- # datascript (2)
- # datomic (21)
- # events (1)
- # fulcro (9)
- # graalvm (4)
- # graphql (2)
- # jackdaw (22)
- # jobs (3)
- # kaocha (6)
- # london-clojurians (1)
- # luminus (4)
- # malli (19)
- # meander (136)
- # pathom (4)
- # pedestal (2)
- # re-frame (15)
- # reitit (2)
- # remote-jobs (2)
- # rum (12)
- # sci (1)
- # shadow-cljs (100)
- # spacemacs (10)
- # sql (1)
- # tools-deps (30)
- # vrac (1)
- # xtdb (30)
@alexmiller I don't see any meaningful changes when using clojure.pprint AOT-ed:
$ mvn clean
$ mvn compile
$ rlwrap java -cp target/classes:$(clojure -Spath) clojure.main
(def sw (java.io.StringWriter.))
;; current master:
user=> (time (dotimes [i 10000] (require '[clojure.pprint :refer [write]] :reload)))
"Elapsed time: 2307.649138 msecs"
user=> (time (dotimes [i 100000] (write {} :stream sw)))
"Elapsed time: 1542.609558 msecs"
nil
;; pprint_base.clj, write-option-table, keywords -> vars, avoiding find-var in table-ize
user=> (time (dotimes [i 10000] (require '[clojure.pprint :refer [write]] :reload)))
"Elapsed time: 2334.667132 msecs"
user=> (time (dotimes [i 100000] (write {} :stream sw)))
"Elapsed time: 1541.441623 msecs"
nil