Whoa; this looks awesome. Thanks for publishing this. On Sat, Dec 30, 2017 at 2:24 PM, Christian Weilbach < whitesp...@polyc0l0r.net> wrote:
> Hi, > > performance is now a lot better, ~3-5x slower than datascript for > queries on the fractal index trees on my machine. This still needs > tuning ofc., but I have tried to make it fast with a lot of profiling > during idle times at 34C3. The fractal tree causes some overhead though. > Inserts are a lot more expensive, but I expect them to be written to > disk anyway. Therefore comparing inserts/deletes with datascript is a > bit pointless, if you do everything in memory then it will always be > more performant. > > So it should be usable for small test projects now. GC is still TODO, > but I would be really happy for feedback! We are developing this as a > toolbox for distributed dataprocessing architectures. > > Best, > Christian > > On 26.12.2017 12:18, Christian Weilbach wrote: > > Hi, > > > > I have finally taken the time yesterday in a good end-of-year tradition > > of ambitious hacks to bring the hitchhiker-tree (1) and datascript (2) > > together. I have only touched the db.cljc namespace in datascript and > > replaced all calls to the in-memory balanced-tree set (btset) with calls > > to the hitchhiker-tree, the rest is vanilla DataScript. All tests pass > > and I can store and load databases sufficiently with the three trees for > > the indices (no datascript serialization used). > > > > I would like to have early feedback, so feel free to play and throw > > ideas around. You need to install my version of the hitchhiker-tree (1) > > first. Atm. it is a drop-in replacement for DataScript, but this is a > > prototype, don't use it for anything serious yet. > > > > Here is an example interaction with the store: > > > > https://github.com/whilo/datascript/blob/hitchhiker_ > tree_support/test/datascript/test/store.cljc > > > > Caveats: > > 1. There is no working GC for the hitchhiker-trees yet. > > 2. Performance penalty against DataScript is in the 20-100x range, but I > > haven't done serious profiling yet. > > 3. There are probably bugs that are not covered by the tests, please > > open an issue. > > > > Goals: > > This is more of an intermediary goal, although it is very useful to have > > a durable datascript around in itself. The hitchhiker-tree is a generic > > persistent durable datastructure that can be efficiently synched and > > hence replication is the goal. Next step is a "web-after-tomorrow" (3) > > architecture similar to datsync, that we are discussing about here: > > > > https://gitter.im/metasoarous/datsync > > https://gitter.im/replikativ/replikativ > > > > In the longer run we can allow multiple writers with different > > conflict-resolution scheme similar to CRDTs and the bloom language > > (dedalus). > > > > > > Happy hacking :), > > Christian > > > > (1) https://github.com/whilo/hitchhiker-tree > > (2) https://github.com/whilo/datascript/tree/hitchhiker_tree_support > > (3) http://tonsky.me/blog/the-web-after-tomorrow/ > > > > > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to clojure@googlegroups.com > Note that posts from new members are moderated - please be patient with > your first post. > To unsubscribe from this group, send email to > clojure+unsubscr...@googlegroups.com > 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 clojure+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com 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 clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.