Return Value Optimization for AQL
While in search for further AQL query optimizations last week, we found that intermediate AQL query results were copied one time too often in some cases.
Precisely, the data that a query’s
ReturnNode will return to the caller was copied into the
ReturnNode’s own register. With
ReturnNode’s never modifying their input data, this demanded for something that is called return-value optimization in compilers.
2.6 will now optimize away these copies in many cases, and my blog post Return Value Optimization for AQL shows performance benefits of 10-25% that can be expected due to the optimization.
Get the latest tutorials, blog posts and news: