Refactor CORE-54
1 vote

Add an ISet.IsCompatibleWith() method

Created by Rob Vesse on 8/1/2011 9:29 AM Last Updated by Rob Vesse on 2/3/2012 5:41 PM
%
 (hrs)
Logged: 0  (hrs)

 Description

Rather than doing set compatibility calculation purely in Multiset implementations provided a method on the ISet interface which supports this feature.  This allows the implementation to be easily improved without having to change code in multiple places.

 

Potentially current set compatibility calculations could be speeded up by inclusion of fast hash code (i.e. integer) equality comparisons since set compatibility is always done on node equality which can often be costly to compute. Obviously once the initial refactor is done then this change could be attempted and benchmarked

    Rob Vesse (Friday, February 03, 2012 5:41 PM) #

Used in the new fast join algorithm and works great

    Rob Vesse (Friday, October 14, 2011 4:22 PM) #

Decided to further bump this to 0.6.0 as want to work on more major internal changes around SPARQL evaluation and general data structures in the 0.6.0 work

    Rob Vesse (Sunday, August 14, 2011 11:27 AM) #

The mechanisms for this are in place but it did cause a SPARQL evaluation regression so has been bumped to the 0.5.1 release

    Rob Vesse (Thursday, August 11, 2011 12:30 PM) #

Add some unit tests which test this directly, check it does not regress SPARQL evaluation - may need to check this in combination with checking the logic of the JoinedSet class which is currently disabled because one of these had caused a serious regression