          (vec))))
 
 (comment
-  (benchmark :stats   [:pack-time]
-             :methods [:mikron :protobuf :nippy]
-             :schema  ::benchmark.schema/snapshot2)
+  (benchmark :stats   [:size]
+             ;:methods [:mikron :protobuf :nippy]
+             :schema  ::benchmark.schema/snapshot)
   nil)


#?(:clj ;; colfer
   (defmethod unpack :colfer [_ schema ^bytes binary]
     (.unmarshal (case schema
                   ::benchmark.schema/quartet   (Quartet.)
                   ::benchmark.schema/snapshot  (Snapshot.)
                   ::benchmark.schema/snapshot2 (Snapshot.))
                 binary 0)))

;; Post process


#?(:clj ;; colfer
   (defmethod pack :colfer ^bytes [_ schema data]
     (let [count (case schema
                   ::benchmark.schema/quartet   (.marshal ^Quartet data ^bytes colfer-buffer 0)
                   ::benchmark.schema/snapshot  (.marshal ^Snapshot data ^bytes colfer-buffer 0)
                   ::benchmark.schema/snapshot2 (.marshal ^Snapshot data ^bytes colfer-buffer 0))]
       (Arrays/copyOf ^bytes colfer-buffer count))))

;; Unpackers

