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.

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to