If the size of the bloom filter would be 50% of the current one used by ADCH++, the amount of false positive would be increased from 0,4% to ~10%. If the filter size would be 25% of the original one, the amount of false positives is almost 60% already. If 10% can be considered as an acceptable level of false positives, how much would the split filter help?
Some calculations on partial filters: increasing the number of shared files by 10% would mean that the percentage of false positives increases from 0,4% to 0,7%. An increase of 25% would mean 1,3% of false positives, and respectively 50% is 3% and doubling the share means 10% of false positives. How many users do really double their shared files during a single session? Sure it’s more likely to happen if the original share is really small (<1000 files?), but neither the filter size should be a problem then. Possibly the hub could have a minimum size for a filter so it could request a bit larger filters for such users… or even a completely new filter when the share grows that fast. I have no idea about the users in LAN hubs.
Out of curiosity: how many users there are in those hubs, what’s the internet connection speed (the LAN side and the hub) and how much bandwidth is the hub using?
All ADC hubs meant for sharing I’m staying in are hosted on 10 Mbit connection by minimum (12 hubs ranging from 30 to 1000 users, total of ~5000 users). I also did a really quick analyze on the commands broadcasted in the hubs I’m in with bloom filter disabled from my own client. TTH searches accounted less than 10% of the total amount of the command count (BINF accounted more than 80% of the commands). When calculating from the total bytes received, the percentage of TTH searches was 16,5%. I’m not sure how much difference does it make, but more than 90% of the users in those hubs are using AirDC 2.30 or newer, which should significantly reduce the number of TTH searches (I haven’t collected any statistics about this though).