You are reading a single comment by @mashton and its replies. Click here to read the full conversation.
  • Take this post (5457) as an example. It is a reply, but I didn't quote you.

    So, if you hovered over the "in reply to" link on this post, you would see a tooltip of your post (5456).

  • Ah.

    This is far more complex than you realise.

    Your post isn't 5457 to me, it is 5368. For I have ignored mdcc_tester who I believe has posted a fair bit in this thread.

    The logic to calculate which page a post is on is quite expensive... we remove, per user viewing it, the posts that are deleted, moderated, by those ignored, etc. In fact... I'm on page 215, I don't know what page you are on.

    The cost is such that we don't do it... we provide a link, the "in reply to" link. That is the only time that we bear the cost of working out what page to find a post on.

    We don't actually know the post number as 5457 (or whatever)... all we actually do is get you to the right page, multiply by 25 (posts per page) and then increment a counter on that from the first post on a page to the last on the page.

    If you think about it that's neat... we only ever need to work on the 25 posts that we're going to display. A SQL SELECT statement that only needs to work on 25 rows. But to do what you need I'd need to calculate the above for each of the 25 posts that can appear on a page. Effectively, the cost of rendering a page will be multiplied by up to 25.

    Fun, eh?

    The joys of a heavily permissioned and yet performant system for displaying long threads (can you imagine the work that happens on the Spotted thread?).

About

Avatar for mashton @mashton started