convex
convex copied to clipboard
Refstats for internal `Ref` refactoring
Some ref stats for inspiration with the internal refactoring mentioned at today's meeting.
Using a genesis state:
(def s (convex.cvm/state (convex.cvm/ctx)))
(def r (ACell/createPersisted s))
;; r: {:direct 34839, :embedded 33858, :persisted 33406, :soft 11, :stored 33406, :total 34850}
(def r2 (ACell/createPersisted (.getValue r)))
;; r: {:direct 33858, :embedded 33858, :persisted 1, :soft 992, :stored 1, :total 34850}
;; r2: {:direct 33858, :embedded 33858, :persisted 992, :soft 992, :stored 992, :total 34850}
Using a large vector of Longs:
(def v (convex.cell/vector (map convex.cell/long (range 1000000))))
(def r (ACell/createPersisted v))
;; r: {:direct 1066669, :embedded 1062501, :persisted 1066668, :soft 0, :stored 1066668, :total 1066669}
(def r2 (ACell/createPersisted (.getValue r)))
;; r: {:direct 1062501, :embedded 1062501, :persisted 1, :soft 4168, :stored 1, :total 1066669}
;; r2: {:direct 1062501, :embedded 1062501, :persisted 4168, :soft 4168, :stored 4168, :total 1066669}
Using a small vector:
(def v (convex.cell/* [:a :b :c]))
(def r (ACell/createPersisted v))
;; r: {:direct 4, :embedded 4, :persisted 3, :soft 0, :stored 3, :total 4}
(def r2 (ACell/createPersisted (.getValue r)))
;; r: {:direct 4, :embedded 4, :persisted 4, :soft 0, :stored 4, :total 4}
;; r2: {:direct 4, :embedded 4, :persisted 4, :soft 0, :stored 4, :total 4}