Marko A. Rodriguez created TINKERPOP-1233: ---------------------------------------------
Summary: Gremlin-Benchmark wish list. Key: TINKERPOP-1233 URL: https://issues.apache.org/jira/browse/TINKERPOP-1233 Project: TinkerPop Issue Type: Improvement Components: benchmark Affects Versions: 3.2.0-incubating Reporter: Marko A. Rodriguez [~twilmes] has developed {{gremlin-benchmark}} which is slated for 3.2.0 (TINKERPOP-1016). This is really good as now we can ensure the Gremlin traversal machine only speeds up with each release. Here is a collection of things I would like to be able to do with {{gremlin-benchmark}}. ---- *Benchmarks in the Strategy Tests* {code} // ensure that traversalA is at least 1.5 times faster than traversalB assertTrue(Benchmark.compare(traversalA,traversalB) > 1.50d) {code} With this, I can have an {{OptimizationStrategy}} applied to {{traversalA}} and not to {{traversalB}} and prove via "mvn clean install" that the strategy is in fact "worth it." I bet there are other good static methods we could create. Hell, why not just have a {{BenchmarkAsserts}} that we can statically import like JUnit {{Asserts}}. Then its just: {code} assertFaster(traversalA,traversalB,1.50d) assertSmaller(traversalA,traversalB) // memory usage or object creation? assertTime(traversal, 1000, TimeUnits.MILLISECONDS) // has to complete in 1 second? ... ? {code} Its a little scary as not all computers are the same, but it would be nice to know that we have tests for space and time costs. ---- *Benchmarks saved locally over the course of a release* This is tricky, but it would be cool if local folders (not to GitHub) were created like this: {code} tinkerpop3/gremlin-benchmark/benchmarks/g_V_out_out_12:23:66UT23.txt {code} Then a test case could ensure that all newer runs of that benchmark are faster than older ones. If its, lets say, 10%+ slower, {{Exception}} and test fails. ?? What else can we do? Can we know whether a certain area of code is faster? For instance, strategy application or requirements aggregation? If we can introspect like that, that would be stellar. -- This message was sent by Atlassian JIRA (v6.3.4#6332)