0
Fork 0
mirror of https://github.com/penpot/penpot.git synced 2025-01-26 08:29:42 -05:00

Improve performance of enumerate data helper.

This commit is contained in:
Andrey Antukh 2021-03-15 08:38:01 +01:00
parent 84b7a2de0b
commit f7d0383919

View file

@ -42,7 +42,6 @@
([a b & rest] ([a b & rest]
(reduce deep-merge a (cons b rest)))) (reduce deep-merge a (cons b rest))))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Data Structures Manipulation ;; Data Structures Manipulation
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -70,14 +69,14 @@
(defn enumerate (defn enumerate
([items] (enumerate items 0)) ([items] (enumerate items 0))
([items start] ([items start]
(loop [idx start (loop [idx start
items items items items
res []] res (transient [])]
(if (empty? items) (if (empty? items)
res (persistent! res)
(recur (inc idx) (recur (inc idx)
(rest items) (rest items)
(conj res [idx (first items)])))))) (conj! res [idx (first items)]))))))
(defn seek (defn seek
([pred coll] ([pred coll]