File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change 333
333
334
334
(def DEMUNGE_PATTERN nil )
335
335
336
+ (defn system-time
337
+ " Returns highest resolution time offered by host in milliseconds."
338
+ []
339
+ (cond
340
+ (exists? js/performance) (.now js/performance)
341
+ (exists? js/process) (let [t (.hrtime js/process)]
342
+ (/ (+ (* (aget t 0 ) 1e9 ) (aget t 1 )) 1e6 ))
343
+ :else (.getTime (js/Date. ))))
344
+
336
345
; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; arrays ;;;;;;;;;;;;;;;;
337
346
338
347
(defn ^array make-array
Original file line number Diff line number Diff line change 2505
2505
(core/defmacro time
2506
2506
" Evaluates expr and prints the time it took. Returns the value of expr."
2507
2507
[expr]
2508
- `(let [start# (.getTime ( js/Date. ) )
2508
+ `(let [start# (system-time )
2509
2509
ret# ~expr]
2510
- (prn (cljs.core/str " Elapsed time: " (- (.getTime (js/Date. )) start#) " msecs" ))
2510
+ (prn (cljs.core/str " Elapsed time: "
2511
+ (.toFixed (- (system-time ) start#) 6 )
2512
+ " msecs" ))
2511
2513
ret#))
2512
2514
2513
2515
(core/defmacro simple-benchmark
You can’t perform that action at this time.
0 commit comments