Hi jkschneider, Epic, simple pull request. Merged. Thank you. Can you provide the results of your benchmark (pre- and post-FastNoSuchElementException)?
If you want to be a hero, you could focus on making TraverserSet as fast as humanly possible. That would go a long way for both OLTP and especially in OLAP where TraverserSet is ultimately the message being propagated. Thanks again, Marko. http://markorodriguez.com On Apr 7, 2015, at 11:43 AM, jkschneider <[email protected]> wrote: > GitHub user jkschneider opened a pull request: > > https://github.com/apache/incubator-tinkerpop/pull/47 > > Use FastNoSuchElementException on TraverserSet.remove() > > A JMH microbenchmark on a TP3 traversal that hit thousands of vertices > showed the use of exceptions for flow control in `TraverserSet` as a hotspot. > Using `FastNoSuchElementException` dramatically improved the performance of > the benchmark. > > Thanks to @danielthomas for identifying the root issue and providing an > initial patch. > > You can merge this pull request into a Git repository by running: > > $ git pull https://github.com/jkschneider/incubator-tinkerpop > traverser-set-perf > > Alternatively you can review and apply these changes as the patch at: > > https://github.com/apache/incubator-tinkerpop/pull/47.patch > > To close this pull request, make a commit to your master/trunk branch > with (at least) the following in the commit message: > > This closes #47 > > ---- > commit 21c304dc3fa5bbe1c7a3713455efa59d8bf7bc12 > Author: Jon Schneider <[email protected]> > Date: 2015-04-07T03:39:27Z > > Use FastNoSuchElementException on TraverserSet.remove() > > ---- > > > --- > 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. > ---
