Как я могу увидеть количество откатов в моей STM в Clojure?
Как я могу увидеть количество откатов в моей STM в Clojure?
Ответ 1
Вы не можете... если вы не хотите обмануть:
(defmacro spy-dosync [& body]
`(let [retries# (atom -1)
result# (dosync
(swap! retries# inc)
[email protected])]
(println "retries count:" @retries#)
result#))
а затем замените dosync на spy-dosync.
Ответ 2
Если вы чувствуете себя странно, вы можете взломать источник Clojure и перестроить (
Ответ 3
Существует STM-стресс test, написанный Крисом Хаузером, который может быть полезен