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.