The current "tranaction manager" in Gremlin Server is just like Rexster's and it's not very smart. It makes no distinction about what graphs were actually affected when it issues its auto-commits/rollbacks at the end of a sessionless request. For those with a number of different Graph instances configured in Gremlin Server, that's a lot of extra empty commits if the intent is to just mutate a single graph in the set. I'm not sure what that time amounts to, but it seems sensible that if we could only commit when needed then it would be better than lots of extra commits for nothing.
Provide a server-side setting that puts Gremlin Server in some form of "strict" mode (the default) where users must supply one legal set of aliases in order for the script to be executed. Use that alias to determine what graph to commit on.
Consider using a namespaced approach as well where a single alias could be defined as graphName.traversalName which would further validate that the server is committing the right thing.