I am well aware that I am not a member of edev, which is due to my complete lack of perl experience.  However, this came to me in a flash yesterday and I wanted to get it out there.  If it makes no sense or it's sacreligious for a non-edevite to do this or something, feel free to kill it.
 

I recently noticed that if you're voting on a 100k node, the engine downloads all 100k of information when you pull the page up, and downloads all 100k of information again after you vote on writeups within the node and hit the "submit" button.

Why?

For people scouring the DB for nodes to vote on, this doubles the time it takes to go from one node to the next.  For people who vote on roughly half the nodes they come across, it's still be a 25% slowdown.

Why not keep a copy of the current node information locally, so that there need be no SQL query after voting?  All that really needs to change is replacing are the relevant vote boxes with the actual reputations of the nodes that were voted on.

Soujirou points out that if you wait a long time between initially loading the page and then voting on it, the reputations might have changed.  This is a very good point.

  • One solution would be to grab just the reputation information from the DB--this is a 5k download instead of 100k, if my estimates are in the ballpark.
  • Another would be to ignore the minor changes in rep that might have occured, on the theory that if the noder really wants to see the up-to-the-minute reputation of all the writeups, they can always refresh the page manually.


Again, I don't know if this is a known issue or not, but I felt it couldn't hurt to throw it out there.  Comments welcome and appreciated.

Log in or register to write something here or to contact authors.