With the given constraints (very few), the best you can get is O(n) by sequentially comparing the two data sets.

You can speed up the amount of comparisons that are being done via multi-threading...