convex icon indicating copy to clipboard operation
convex copied to clipboard

Refstats for internal `Ref` refactoring

Open helins opened this issue 2 years ago • 4 comments

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}

helins avatar Mar 01 '23 16:03 helins