Trying jhat now, reference chain here:
--> cavm.h2$load_exp$fn__165@0x2aaab4b04660 (56 bytes) (field matrix:)
--> clojure.lang.LazySeq@0x2aaab4b05388 (48 bytes) (field s:)
--> clojure.lang.Cons@0x2aaab4b0fe08 (48 bytes) (field _more:)
--> clojure.lang.LazySeq@0x2aaab4b10330 (48 bytes) (field s:)
--> clojure.lang.Cons@0x2aaab6543ec0 (48 bytes) (field _more:)
This looks to me like the head is being retained as a parameter to a
function. load_exp signature is like so:
defn load-exp [file timestamp filehash matrix]
But surely passing a seq to a function doesn't retain the head?
Here's the body of the function:
(defn load-exp [file timestamp filehash matrix]
(kdb/transaction
(let [cid (merge-cohort file)
exp (merge-exp file (format-timestamp timestamp) filehash cid)
sids (load-samples cid (:samples (meta matrix)))]
(load-exp-samples exp sids)
(load-exp-matrix exp matrix))))
load-exp-matrix calls (dorun (map)) on matrix. There's one other reference
here, where we pull the metadata. Does any of this retain the head?
On Tuesday, September 10, 2013 2:36:29 PM UTC-7, Brian Craft wrote:
>
> From jmap output it's pretty clear I'm retaining the head of a seq
> somehow, but I have no idea how, or where. Is there any way to find the
> reference, besides staring at code waiting for enlightenment?
>
--
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.