You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Load testing by @adarqui and further examination of the codebase has revealed that simply entering a category and rendering the topic listing causes NodeBB to iterate into each and every topic and parse its posts _completely_.
In other words, simply by going into a category, NodeBB is doing the equivalent work as if you had gone into every single topic at the same time.
Code tracing has revealed the following pattern:
load category -> get topics -> for each topic, get a teaser
getTeaser calls get_latest_undeleted_pid (which, by the way, should be camelCased), which calls getPostsByTid, which loads and renders every single post in order to find which post has been deleted. Yikes.
This should cut down the load time significantly.
The text was updated successfully, but these errors were encountered:
At some point in the past, the teaser text was stored along with topic data. Not sure why that got changed. In any case the new design removes the teaser text altogether, so nothing to worry about for now!
Load testing by @adarqui and further examination of the codebase has revealed that simply entering a category and rendering the topic listing causes NodeBB to iterate into each and every topic and parse its posts _completely_.
In other words, simply by going into a category, NodeBB is doing the equivalent work as if you had gone into every single topic at the same time.
Code tracing has revealed the following pattern:
getTeaser
callsget_latest_undeleted_pid
(which, by the way, should be camelCased), which callsgetPostsByTid
, which loads and renders every single post in order to find which post has been deleted. Yikes.This should cut down the load time significantly.
The text was updated successfully, but these errors were encountered: