Improve vectoring, heap management and throughput of the query engine and pipeline operators.
1. Rationalize the various kinds of vectored / chunked iterator mechanisms.
2. Simplify to remove the IAsynchronousIterator construct. This was developed back in the day when we used asynchronous iterators to move data between nodes.
3. Efficiently represent solutions flowing through the query engine using a technique similar to that developed for vectoring the HTree . In particular, solutions were encoded as IVs and a separate cache was maintained to map IVs to materialized BigdataValues. However, this effort will need to go further and probably use a lower level access to the encoded IV data for efficient operations WITHOUT deserializing solutions and without creating huge numbers of iterators for the IBindingSet lists.
4. Use the same vectoring mechanism to efficient represent data for wire transfers.
@see https://sourceforge.net/apps/trac/bigdata/ticket/395 (HTree hash join performance)