CONSTRUCT queries should be reduced further. Currently only consecutive duplicates are removed, however, larger construct clauses repeat a pattern (over and over).
The MultiProjectionIterator should not repeat projections that were also produced from the previous nested BindingSet.
This does not have a big impact when the repository is embedded, but when the repository is remote and the result is serialized by the Sesame Server the duplicates have a noticeable impact on performance. A common construct query I have been using was serialized to 47K over HTTP using RDF/XML, by reducing the number of duplicates this could be reduced to 9.1K.
Supplied patch was applied and then modified to reduce processing overhead. MultiProjectionIterator now compares results with the previous result from the same projection instead of with the previous results of all projections, but this probably works in most cases.