This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-03-09
Channels
- # alda (5)
- # aleph (10)
- # bangalore-clj (1)
- # beginners (168)
- # cider (68)
- # cljs-dev (263)
- # clojars (4)
- # clojure (66)
- # clojure-brasil (25)
- # clojure-china (1)
- # clojure-dusseldorf (1)
- # clojure-greece (4)
- # clojure-italy (3)
- # clojure-russia (4)
- # clojure-spec (12)
- # clojure-uk (16)
- # clojurescript (36)
- # community-development (12)
- # cursive (9)
- # data-science (1)
- # datascript (8)
- # datomic (20)
- # defnpodcast (6)
- # emacs (2)
- # figwheel (2)
- # fulcro (51)
- # graphql (62)
- # immutant (14)
- # keyboards (1)
- # lein-figwheel (10)
- # leiningen (5)
- # lumo (15)
- # off-topic (4)
- # onyx (3)
- # pedestal (4)
- # portkey (13)
- # protorepl (1)
- # re-frame (8)
- # reagent (2)
- # reitit (4)
- # shadow-cljs (71)
- # spacemacs (7)
- # specter (33)
- # sql (9)
- # unrepl (75)
- # vim (7)
hey guys, does anybody know why doesnt datascript have :vaet
index? I am facing quite some performance problems because of lack of back-reference index 😞
hey @U0CM1QURZ generally that is good enough but I am trying to get the most out of datascript. At the end I went with a solution like you describe, using :db/index true
and index-range
search with some transducers. The thing is that that was not obvious since the :vaet
index doesnt exists, querying for back-references can take 20 times more time than the previous approach
Would it be easy for you to share (e.g repo or gist) what you're doing?
That is, what your slow query looks like and how you made it faster using :db/index true
and index-range
?
I dont have anymore the query anymore since it was a quick comparison but I do have the current code and schema. Here is the code to get the back-references: https://github.com/hiposfer/kamal/blob/datascript/src/hiposfer/kamal/libs/tool.clj#L52. And here is the schema https://github.com/hiposfer/kamal/blob/datascript/src/hiposfer/kamal/services/routing/core.clj#L22
as you can see I am indexing the :node/successors
such that I can do index-range
on them and get only the values that I am interested in. My guess would be that having a vaet
index would avoid that since quick hack since finding those backreferences would be trivial
Thanks for chiming in @bbss and @atticmaverick. IIRC, @petrus was having some issues with what is now the master branch that prompted us to suggest he try checking out some of our "work in progress", which admittedly has been quite in flux, to put it gently. However, I'm happy to announce that after chatting with @mail524 to get a sense of the progress and road ahead (he's been leading development on this project for the last several months), it's looking like we'll be able to release (and merge to master) a stable iteration of this work soon, and are specifically aiming to do so by the beginning of April. This release should greatly simplify a number of issues around client/server api symmetry, generally make things much easier to set up, and put us on firmer ground for moving ahead towards our longer term goals. I look forward to sharing the details with you all soon. Till then, stay tuned!