Fork me on GitHub
#clojure-dev
<
2017-06-23
>
hiredman00:06:53

actually, a smaller demo would be something that creates a proxy, runs a method on the proxy that does proxy super, and while the super method is running, does an update-proxy, when the super method return and the call to proxy-super completed it would clobber any changes made via update-proxy

cfleming00:06:06

I vaguely remember a bug related to this, but it wasn’t with proxy-super - I believe it was when proxying a class whose super constructor calls a method on the object - that method is not initialised at that time.

neumann01:06:54

I'm trying to debug code that is spending about 25% of the time sitting in: clojure.core$promise$reify__7005.deref(). Any suggestions?

neumann01:06:09

(At least according to Visual VM sampling.)

neumann01:06:15

This is Clojure 1.8.0

bja01:06:08

isn't derefing a promise expected to block until the promise is delivered?

bja01:06:43

i.e. are you sure you're not spending 25% of your time waiting for the promise to be delivered?

neumann01:06:23

I have a thread-local atom I use reset! to preserve state. When I comment out the reset! line it speeds up. Even if I reset! to a constant it's slow.

neumann01:06:14

Any ideas on how to find which deref is the performance issue?

neumann01:06:28

Hm...I'm seeing hundreds of async-thread-macro-### threads.

hiredman03:06:31

#clojure-dev is for discussion about development of clojure itself, for help with your clojure programs #clojure is a good place to start

neumann03:06:33

Sorry about that.