Hi Joachim,
To me, a crucial point seems to be that I'm trying to look up a large number of distinct entities in two endpoints and join them. In the "real life" case discussed here, about 430.000 "economists" extracted from GND and about 320.000 "persons with GND id" from wikidata. The result of the join are about 30.000 wikidata items, for which the German and English wikipedia site links are required.
The query plan a regular TPF client would come up with, would probably not differ from that of (most) SPARQL federation engines, so they would be similarly slow.
However…
You might know that TPF is an interface that allows for auto-discoverable extensions. Recently, we published an extension of TPF that uses Bloom filters to perform faster joins [1]. The trade-off is that the server needs to perform an extra operation (but if this saves thousands of other requests, that might be worthwhile). The public implementation works, but is still preliminary; however, if there is interest in such cases, we might speed things up. Let us know!
Best,
Ruben
[1] http://linkeddatafragments.org/publications/iswc2015-amf.pdf