Yeah, I've been searching for a collision for like 3 years now, not a single one.

I would think that Electrum would be far less efficient than a purpose-made application that simply has a set datastructure designed for fast contains() operations containing all addresses with non-dust amounts (by searching the chain) attached to an iterated key generator would increase your efficiency (still extremely futile and not likely at all to find any collisions). Remember that people actually use the Electrum servers for real transactions they need to send and receive.
Out of curiosity what kind of hash rate have you been getting over that 3 years? and how many addresses have you scanned so far? Also you say youve been looking for non dust addresses, does this mean youve found some with very small amounts?
thanks
I average about 2 addresses a second due to having to check the balance against my Insight server, some times more depending on response time.
Scanned so far, billions, I haven't kept track.
I am looking for any address that has a totalReceived greater than 0.0, I haven't found a single one.
I probably won't ever find any this way due to the amount of possible addresses.
I have, however, found thousands of BTC addresses and keys by turning passwords into BTC addresses, brainwallets.
With the exception of brainwallets, generating a random address and checking the totalReceived or balance the odds are not favorable, at all.
So why do I do it? For fun, duh. And I am a persistent fuck, lol.