• Sotuanduso@lemm.ee
      link
      fedilink
      English
      arrow-up
      11
      ·
      7 months ago

      You may think this is O(n^2), but it’s actually O(1), bound above by the number of users on Lemmy.

      • lugal@sopuli.xyz
        link
        fedilink
        arrow-up
        7
        ·
        7 months ago

        More like O(2n) and what do you mean by “this”? The number will increase in O(2n) until it hits the point where it stops. What exactly is bound? The number of posts in total?
        #getyourdefinitionsstraight

        • Kayana@ttrpg.network
          link
          fedilink
          arrow-up
          6
          ·
          7 months ago

          It’s very pedantic, but he does have a point. Similar to how you could view memory usage as O(1) regardless of the algorithm used, just because a computer doesn’t have infinite memory, so it’s always got an upper bound on that.

          Only that’s not helpful at all when comparing algorithms, so we disregard that quirk and assume we’re working with infinite memory.

            • Kayana@ttrpg.network
              link
              fedilink
              arrow-up
              2
              ·
              edit-2
              7 months ago

              But you just completely ignored everything I said in that comment.

              Mathematically, that is precisely how O notation works, only (as I’ve mentioned) we don’t use it like that to get meaningful results. Plus, when looking at time, we can actually use O notation like normal, since computers can indeed calculate something for infinity.

              Still, you’re wrong saying that isn’t how it works in general, which is really easy to see if you look at the actual definition of O(g(n)).

              Oh, and your computer crashing is a thing that could happen, sure, but that actually isn’t taken into account for runtime analysis, because it only happens with a certain chance. If it would happen after precisely three days every time, then you’d be correct and all algorithms would indeed have an upper bound for time too. However it doesn’t, so we can’t define that upper bound as there will always be calculations breaking it.

        • Sotuanduso@lemm.ee
          link
          fedilink
          English
          arrow-up
          2
          ·
          7 months ago

          Sorry, mixed up n2 and 2n. But what I meant was that there’s eventually going to be a point where the limiting factor is the number of people willing to upvote it, which is asymptotically constant (after crossing the threshold of making it onto the front page.)

          Both the number of posts and the width of the posts are limited by a constant in this way, though the latter is a much larger constant. I suppose I was talking about the width of the posts, but it would have been more accurate to say it’s bound above by 2^(the number of users on Lemmy.)

          In short, I do not think these posts are going to reach a 2048-wide en passant, but I don’t think image size is going to be the reason why.

          • lugal@sopuli.xyz
            link
            fedilink
            arrow-up
            2
            ·
            7 months ago

            According to that logic, everything is O(1) because at some point you go out of memory or your computer crashes.

            “How fast is your sorting algorithm?” – “It can’t sort all the atoms in the universe so O(1).”

            That’s not how O notation works. It is about asymptomatics. It is about “What if it doesn’t crash”, “what if infinity”.

            So, again, what exactly is your question if your answer is O(1)?

            • Kogasa@programming.dev
              link
              fedilink
              arrow-up
              2
              ·
              7 months ago

              O notation has a precise definition. A function f : N -> R+ is said to be O(g(x)) (for some g : N -> R) if there exists a constant c so that f(n) <= cg(n) for all sufficiently large n. If f is bounded, then f is O(1).

              • lugal@sopuli.xyz
                link
                fedilink
                arrow-up
                1
                ·
                7 months ago

                If n is in O(1), than any O(f(n)) is O(1) but who says the number of lemmy users is bounded? We will grow and we will continue to grow. When economists calculate with infinite growth, so can we

            • Sotuanduso@lemm.ee
              link
              fedilink
              English
              arrow-up
              1
              ·
              7 months ago

              Yeah, you’re right, I’m not being rigorous here. I’m just co-opting big O notation somewhat inaccurately to express that this isn’t going to get as big as it seems because the number of upvotes isn’t going to increase all that much.

              • lugal@sopuli.xyz
                link
                fedilink
                arrow-up
                1
                ·
                7 months ago

                I guess I have a different intuition. For me, O notation applied normally shows that it will not get far because it rises exponentially or if you count the steps in relation to the number of users, it’s O(log n) which doesn’t go high. No need to apply it inaccurately

    • neo@lemy.lol
      link
      fedilink
      arrow-up
      5
      ·
      7 months ago

      I hate anarchy chess so I welcome the effort to kill the server. >:-] muhahaha