mirror of https://github.com/status-im/timbre.git
Housekeeping: profiling & freqs
This commit is contained in:
parent
ce9ea0ac76
commit
807cb40e0f
|
@ -69,9 +69,8 @@
|
|||
sorted-fvs (sorted-fvals form-stats)]
|
||||
(str fname " "
|
||||
(str/join " "
|
||||
;; TODO mapv Clojure 1.4+
|
||||
(vec (map (fn [v] (vector v (get form-stats v 0)))
|
||||
sorted-fvs)))))))))
|
||||
(mapv (fn [v] (vector v (get form-stats v 0)))
|
||||
sorted-fvs))))))))
|
||||
|
||||
(comment (format-fdata {:name1 {:a 10 :b 4 :c 20}
|
||||
:name2 {33 8 12 2 false 6}}))
|
||||
|
|
|
@ -66,20 +66,21 @@
|
|||
For performance, stats are calculated once only after all data have been
|
||||
collected."
|
||||
[pdata]
|
||||
(reduce (fn [m [pname times]] ; TODO reduce-kv for Clojure 1.4+
|
||||
(let [count (count times)
|
||||
time (reduce + times)
|
||||
mean (long (/ time count))
|
||||
mad (long (/ (reduce + (map #(Math/abs (long (- % mean)))
|
||||
times)) ; Mean absolute deviation
|
||||
count))]
|
||||
(assoc m pname {:count count
|
||||
:min (apply min times)
|
||||
:max (apply max times)
|
||||
:mean mean
|
||||
:mad mad
|
||||
:time time})))
|
||||
{} pdata))
|
||||
(reduce-kv
|
||||
(fn [m pname times]
|
||||
(let [count (max 1 (count times))
|
||||
time (reduce + times)
|
||||
mean (long (/ time count))
|
||||
mad (long (/ (reduce + (map #(Math/abs (long (- % mean)))
|
||||
times)) ; Mean absolute deviation
|
||||
count))]
|
||||
(assoc m pname {:count count
|
||||
:min (apply min times)
|
||||
:max (apply max times)
|
||||
:mean mean
|
||||
:mad mad
|
||||
:time time})))
|
||||
{} (or pdata {})))
|
||||
|
||||
(defn format-pdata
|
||||
[stats & [sort-field]]
|
||||
|
|
Loading…
Reference in New Issue