This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-07-12
Channels
- # aleph (1)
- # beginners (81)
- # boot (20)
- # cider (46)
- # cljs-dev (6)
- # cljsjs (6)
- # cljsrn (8)
- # clojars (2)
- # clojure (104)
- # clojure-berlin (3)
- # clojure-italy (4)
- # clojure-losangeles (2)
- # clojure-nl (16)
- # clojure-spec (16)
- # clojure-uk (28)
- # clojurescript (88)
- # core-logic (31)
- # cursive (8)
- # data-science (3)
- # datascript (1)
- # datomic (95)
- # docs (1)
- # emacs (6)
- # figwheel-main (24)
- # fulcro (106)
- # graphql (5)
- # hyperfiddle (2)
- # midje (2)
- # nrepl (1)
- # off-topic (14)
- # om-next (1)
- # parinfer (2)
- # pedestal (26)
- # portkey (2)
- # re-frame (11)
- # reagent (27)
- # ring (6)
- # rum (4)
- # shadow-cljs (33)
- # spacemacs (10)
- # specter (53)
- # tools-deps (17)
- # vim (31)
Is it possible to replace pldb in core logic with something like lmdb and if so how do I go about doing so
I did see this - https://github.com/clojure/core.logic/wiki/Extending-core.logic-(Datomic-example)
I would say our “large” is 100-1000MB, which is definitely a lot less than your “large”
At some point an actual database is better. I don’t think that example is current, and if I recall it wasn’t actually a very good example
I probably can’t help too much though. I wrote pldb, but our use of core.logic and pldb has been stable for many years now, so it’s not code I touch on a day to day basis anymore. And since core.logic is under the clojure CA and dev process, I haven’t been terribly motivated to actively contribute
I think the size bloat could be due to indexing as you pointed out - maybe I can play around with it and see if it reduces further
If you don’t need them, then remove them. But if you do, you’ll just be trading memory for CPU
Also I've realized that clojure data structures by default occupy quite a bit of memory when operated on - unless we use transient
so - I will also try if I serialize the db to disk and read back from it - if that reduces the size
I’m fairly certain the pldb code does not do that, but it might. It’s been a loong time 🙂
using it for a clinical decision support tool - and as such it's knowledge base is pretty large
https://gist.github.com/terjesb/3181018 might be a good place to start if you want to use core.logic without storing things in memory