bayofmany / peapod

A new object-graph-wrapper for the Tinkerpop 3 graph stack.
Apache License 2.0
40 stars 8 forks source link

Just some comments, didnt know how else to reach you guys. #1

Closed freemo closed 9 years ago

freemo commented 9 years ago

Hey, I was reading your readme and just wanted to offer some insight on Ferma and also offer to collaborate in anyway you guys would like.

1) We should have a tinkerpop3 compatible release shortly after TP3 itself is released. 2) all of our classes are statically compiled using bytebuddy, though this does happen once at start up only. 3) All reflection and typing can be turned off on a per-graph basis, or even on a per-query basis. We use *Explicit named methods where people want to mix and match type resolution with non-typed. So it is possible to get fast lookups while still having powerful, slower, options at your disposal, depending on the needs.

The one thing I think you guys are bringing that is unique, and potentially powerful, is the DSL idea. Unfortunately my own projects have a very specific need for the type of typing provided in Ferma so I wouldnt be able to abandon Ferma to work on peapod instead, but if you'd be interested in combining our projects in some way let me know. It would be cool to see a DSL in action along side Ferma's other features. Either way, good luck on the project!

freemo commented 9 years ago

@wsalembi Here check this out for more info: http://wiki.syncleus.com/index.php/Ferma:Comparing_the_Alternatives

bayofmany commented 9 years ago

@freemo Thanks for your feedback. I updated my home page. Would be glad to see a comparison with Peapod on your overview page. I did some tests minimal locally, but comparison is not obvious because the performance of Tinkergraph V3 is not always the same as Tinkergraph V2.

freemo commented 9 years ago

@bayofmany If youd like to add a pull request to the Ferma-benchmark project I'd be happy to include it in the benchmarks. Also if you can give a breakdown of which features you support and don't I'd be happy to add that as well.

What I'd be curious about is perhaps combining our two projects/goals. The main difference between our projects is that ours compiles the classes at runtime (once, so there is little overhead), yours seems to compile them at compile time. So one thing we are thinking of adding is the ability to do the same in Ferma. Basically you can either use Ferma as-is or you can also generate the classes at compile time equivalent to peapod. so I'm curious if you'd have any interest in merging our efforts.