-
Notifications
You must be signed in to change notification settings - Fork 67
Closed
Description
The CLJS Bean library provides a faster alternative to js->clj, and this can be used in io/file-attributes for a substantial speedup:
Before:
cljs.user=> (require '[planck.io :as io] '[planck.core :refer [file-seq]])
nil
cljs.user=> (let [files (doall (file-seq "/Users/mfikes/Documents"))]
#_=> (time (transduce (comp (map io/file-attributes) (map :reference-count)) + files)))
"Elapsed time: 31.728287 msecs"
1432
After:
cljs.user=> (require '[planck.io :as io] '[planck.core :refer [file-seq]])
nil
cljs.user=> (let [files (doall (file-seq "/Users/mfikes/Documents"))]
#_=> (time (transduce (comp (map io/file-attributes) (map :reference-count)) + files)))
"Elapsed time: 13.202166 msecs"
1432
Metadata
Metadata
Assignees
Labels
No labels