kuzeko / graph-databases-testsuite

Docker Images, installation scripts, and testing & benchmarking suite for Graph Databases
https://graphbenchmark.com
MIT License
36 stars 9 forks source link

Shall we move away from Groovy #10

Open kuzeko opened 6 years ago

kuzeko commented 6 years ago

Maybe using some other variant to use gremlin may be a better option for development and testing issues?

http://tinkerpop.apache.org/docs/current/reference/#gremlin-variants

MartinBrugnara commented 5 years ago

I would really love to consider gremlin-python

WolfgangFahl commented 5 years ago

see http://wiki.bitplan.com/index.php/Gremlin_python for a tutorial on how to do this. I hope we can share some experiences.

kuzeko commented 5 years ago

Thanks @WolfgangFahl , we are looking into this, but it seems that any option other than native Java will add abstraction costs and hence risk to impact the reliability of the measures of the framework.

What's your take?

WolfgangFahl commented 5 years ago

In the tutorial i am still fighting with the integration part for the Gremlin Language Variants. I think it would be interesting to see whether there is a performance penalty in using GLVs. Given your experience in using different databases i hope to see viable setups. Also the size of the test databases matter. Ideally I'd love to see most of the test being done using docker containers to be able to reliably share the setup. On the other hand docker volume handling can be very slow so there is also a penalty.

kuzeko commented 4 years ago

Hi @WolfgangFahl , I'm not sure I follow what you mean. I think there is a way to not incur in penalties by using external volumes (or something like that, I keep forgetting the correct terminology here)

WolfgangFahl commented 4 years ago

see e.g. https://github.com/docker/for-mac/issues/77 - the issue is only some 3 years old now in still open :-(

kuzeko commented 4 years ago

Ah, but that is just for Mac OS

On Linux, bind-mounting a directory, like many Docker features, simply selectively exposes host resources directly to a container. Consequently, access to bind mounts carries little-to-no overhead compared to filesystem access in a regular process.

As state here: https://www.docker.com/blog/user-guided-caching-in-docker-for-mac/