   (merge
      base-conv-update-graph
      {:mat (plmb/fnk [rating-mat]
-             "swap nils for zeros - most things need the 0s, but repness needs the nils"
-             (time2 "mat"
-               (greedy
+             ; swap nils for zeros - most things need the 0s, but repness needs the nils"
+             (greedy
                (map (fn [row] (map #(if (nil? %) 0 %) row))
-                 (get-matrix rating-mat)))))
+                 (get-matrix rating-mat))))
 
       :pca (plmb/fnk [conv mat opts']
-             (time2 "pca"
-               (wrapped-pca mat (:n-comps opts')
-                            :start-vectors (get-in conv [:pca :comps])
-                            :iters (:pca-iters opts'))))
+             (wrapped-pca mat (:n-comps opts')
+                          :start-vectors (get-in conv [:pca :comps])
+                          :iters (:pca-iters opts')))
 
       :proj (plmb/fnk [mat pca]
-              (time2 "proj" (pca-project mat pca)))
+              (pca-project mat pca))
 
       :base-clusters
             (plmb/fnk [conv rating-mat proj in-conv opts']
-              (time2 "base-clusters"
-                (greedy
+              (greedy
                 (let [proj-mat
                         (named-matrix (rownames rating-mat) ["x" "y"] proj)
                       in-conv-mat (rowname-subset proj-mat in-conv)]

                      pca          ((partial-pca mat pca rand-indices) pca)]
                  (if (= iter 0)
                    (recur pca (dec iter))
                    pca))))))}))


(def small-conv-update (graph/eager-compile small-conv-update-graph))

                              (if last-clusterings
                                (last-clusterings k)
                                last-clusterings))
                          :cluster-iters (:group-iters opts')))])
                  (range 2 (inc (max-k-fn base-clusters-proj (:max-k opts')))))))

      ; Compute silhouette values for the various clusterings
