Github user spmallette commented on the pull request:
https://github.com/apache/incubator-tinkerpop/pull/307#issuecomment-218128585
This is an interesting change. I was surprised to see that much difference
between `compile()` and `eval()`. `eval()` ultimately calls compile but does
cache the compile script for future use. I would have thought that would have
narrowed the gap you managed to get between the two calls. There's a fair bit
of code in `eval()` that gets executed with or without the cache as compared to
`compile` so perhaps that has something to do with it. As the execution here
is about usage of the same script over and over there is little need for
`eval()` so this change makes sense to me.
I will only note that this forces the `ScriptEngine` we use to for
`ScriptRecordReader` to implement `Compileable`. Not all implementations do
that and it is not a required interface to the best of my recollection. That
probably doesn't matter too much as we've currently hardcoded the groovy script
engine in here.
Ran `mvn clean install` to success.
VOTE +1
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---