mirror of
https://github.com/penpot/penpot.git
synced 2025-01-08 16:00:19 -05:00
97 lines
2.9 KiB
Clojure
97 lines
2.9 KiB
Clojure
(ns bench
|
|
(:require
|
|
[app.common.data :as d]
|
|
[app.common.data.macros :as dm]
|
|
[app.common.geom.point :as gpt]
|
|
[app.common.geom.matrix :as gmt]
|
|
[app.common.geom.shapes.transforms :as gst]
|
|
[app.common.record :as cr]
|
|
[app.common.geom.rect :as grc]
|
|
[app.common.geom.rect_impl :as grci]
|
|
[app.common.types.modifiers :as ctm]
|
|
[app.common.types.shape :as cts]
|
|
[app.util.perf :as perf]))
|
|
|
|
(defn random
|
|
[]
|
|
(js/Math.random))
|
|
|
|
(defn force-gc
|
|
[]
|
|
(js/gc))
|
|
|
|
;; (defn bench-modifiers
|
|
;; []
|
|
;; (println "")
|
|
;; (println "===> BENCH MODIFIERS <===")
|
|
;; (let [modifiers (-> (ctm/empty)
|
|
;; (ctm/move (gpt/point 100 200))
|
|
;; (ctm/resize (gpt/point 100 200) (gpt/point 2.0 0.5))
|
|
;; (ctm/move (gpt/point -100 -200))
|
|
;; (ctm/resize (gpt/point 100 200) (gpt/point 2.0 0.5))
|
|
;; (ctm/rotation (gpt/point 0 0) -100)
|
|
;; (ctm/resize (gpt/point 100 200) (gpt/point 2.0 0.5)))]
|
|
;; (perf/benchmark
|
|
;; :gc force-gc
|
|
;; :iterations 50000
|
|
;; :name "modifiers->transform:old"
|
|
;; :run-fn #(ctm/modifiers->transform-old modifiers))
|
|
|
|
;; (perf/benchmark
|
|
;; :gc force-gc
|
|
;; :iterations 50000
|
|
;; :name "modifiers->transform:new"
|
|
;; :run-fn #(ctm/modifiers->transform modifiers))))
|
|
|
|
|
|
;; (defn bench-apply-transform
|
|
;; []
|
|
;; (println "")
|
|
;; (println "===> BENCH APPLY TRANFORM <===")
|
|
;; (let [modifiers (-> (ctm/empty)
|
|
;; (ctm/move (gpt/point 100 200))
|
|
;; (ctm/resize (gpt/point 100 200) (gpt/point 2.0 0.5))
|
|
;; (ctm/move (gpt/point -100 -200))
|
|
;; (ctm/resize (gpt/point 100 200) (gpt/point 2.0 0.5))
|
|
;; (ctm/rotation (gpt/point 0 0) -100)
|
|
;; (ctm/resize (gpt/point 100 200) (gpt/point 2.0 0.5)))
|
|
;; transform (ctm/modifiers->transform modifiers)
|
|
|
|
;; shape (cts/setup-shape {:type :rect
|
|
;; :x 0
|
|
;; :y 0
|
|
;; :width 10
|
|
;; :height 10})]
|
|
|
|
;; ;; (app.common.pprint/pprint shape)
|
|
|
|
;; (perf/benchmark
|
|
;; :gc force-gc
|
|
;; :iterations 400
|
|
;; :name "apply-transform:old"
|
|
;; :run-fn #(gst/apply-transform shape modifiers))
|
|
|
|
;; (perf/benchmark
|
|
;; :gc force-gc
|
|
;; :iterations 400
|
|
;; :name "apply-transform:new"
|
|
;; :run-fn #(gst/apply-transform' shape modifiers))
|
|
;; ))
|
|
|
|
|
|
(defn ^:dev/after-load after-load
|
|
[]
|
|
;; (bench-apply-transform)
|
|
;; (let [o (grc/make-rect 1 1 10 10)]
|
|
;; (prn o)
|
|
;; (prn (-> o
|
|
;; (cr/assoc! :x 40)
|
|
;; (grc/update-rect! :size)))
|
|
;; )
|
|
)
|
|
|
|
(defn main
|
|
[& params]
|
|
;; (bench-apply-transform)
|
|
;; (bench-apply-transform)
|
|
nil)
|