this post was submitted on 21 Jun 2023
75 points (100.0% liked)

Lemmy

496 readers
2 users here now

Everything about Lemmy; bugs, gripes, praises, and advocacy.

For discussion about the lemmy.ml instance, go to !meta@lemmy.ml.

founded 4 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Martineski@lemmy.fmhy.ml 1 points 1 year ago* (last edited 1 year ago) (2 children)

I just did some math and assumed there are 700 (some instances are blocking other instances) instances and 12 000 communities. 700*12 000 = 8 400 000, users across the platform need to copy url of community and paste it into search this many times to make the platform fully federate with everything. Numbers were taken from here: https://lemmyverse.net/

[–] mycus@kbin.social 1 points 1 year ago (1 children)

wait, so if you federate with another instance through one community, you won't get to see the rest of the feeds from that instance?

would subscribing to the domain directly (like kbin allows, maybe lemmy could in the future) reduce the number of actions to 700 squared?

[–] Martineski@lemmy.fmhy.ml 0 points 1 year ago* (last edited 1 year ago) (1 children)

Sorry! My bad, numbers are incorrrect but I'm not sure how to calculate correct numbers lol. Wouldn't it be 700x699 or 699x699 because instance wouldn't have to federate with itself?

[–] mycus@kbin.social 1 points 1 year ago* (last edited 1 year ago)

oh yeah, it is n * (n - 1)

bc ~700 bots need to do ~700 minus 1 actions

a continue inside an if statement checking if the bot domain is the same as the subscribing one would suffice


edit: or use a search algorithm to pop the domain from the stack before starting the loop, that would be more efficient

edit2: even better: assuming all bot names are the same, you just iterate over the stack (constant), and pop each domain (new stack minus popped domain) and feed it to the 2nd loop.

edit3: SCRATCH EVERYTHING. The bot names don't even have to be the same, you just iterate over a constant stack of botname@domain entries and pop the iteration from it... feed the new stack to the second loop (nested) and done. Why did I take so long to reach this?

[–] fozzie@lemmy.mumbled.xyz 1 points 1 year ago (1 children)

this number is only completely relevant for someone on an instance all by themselves or with no communities at all. And discounts instances that are or will de-federate either partially or fully. It also assumes some need to be a part of all 12,000 communities. I think tools like you linked solve this issue anyway. I personally believe to a certain extent every community being federated to every instance kind of defeats the purpose of federalization.

[–] Martineski@lemmy.fmhy.ml 1 points 1 year ago (1 children)

But that's not my point though? The point is to federate with all sublemmies of FEDERATED instances. The problem is that when you federate other instance it doesn't federate sublemmies of that instance automatically which limits interactions between instances by a HUGE amount

[–] fozzie@lemmy.mumbled.xyz 1 points 1 year ago

It's a risk reward question then. That would 100% slowdown the initial federation if it needed to pull in every community and even if that was accepted, should every instance constantly poll any instance it knows about for new communities? Also you aren't guaranteed to need all those instances anyway and then that's just a waste of space and processing power. Correct, it limits interactions but only to what's necessary which allows instances to be ran on lower powered hardware, allowing more people to join in. With the possibility of third party tools I don't see much of an upside of building that into lemmy.