This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-03-21
Channels
- # announcements (2)
- # asami (8)
- # aws (4)
- # beginners (32)
- # calva (12)
- # cider (72)
- # clj-kondo (16)
- # clojure (11)
- # clojure-germany (2)
- # clojure-italy (4)
- # clojure-serbia (2)
- # clojurescript (26)
- # data-oriented-programming (8)
- # datomic (9)
- # deps-new (17)
- # eastwood (4)
- # emacs (20)
- # fulcro (18)
- # funcool (1)
- # graalvm (8)
- # leiningen (12)
- # lsp (34)
- # malli (25)
- # meander (4)
- # membrane (4)
- # off-topic (153)
- # practicalli (1)
- # releases (2)
- # remote-jobs (3)
- # rewrite-clj (77)
- # ring (5)
- # shadow-cljs (108)
- # spacemacs (12)
- # tools-deps (9)
- # vscode (11)
- # xtdb (4)
this line seems sketchy: https://github.com/juxt/crux/blob/master/crux-core/src/crux/document_store.clj#L38 it only works because (count ids)
is always at least (count (keys cached-id->docs))
, otherwise set/difference
will try to use a seq like a set and explodes
cheers @U797MAJ8M - fix pushed to master 🙏
cool :) so if you know ids
is always at least the size of the rhs, it's likely better to just (reduce disj..)
the thing, the way set/difference is doing it now (or maybe do it better with transients?). that code seems like it may be a hot path on reads, so I'm curious if doing the additional set
conversion would show up on your benchmarks. but I'm no expert, having spent like an hour failing to extend the thing to use an async interface -- that cache is tricky! segfaults galore