Sitecore always recommend a limit of around 100 items per folder. After running some tests on 2 versions of a tree I can see why! Below are a few stats to back that up.
Then running some queries over all the descendant items revealed:
Nested folders (after)
Total: 341
Time to read: 639ms
Flat items (before)
Total: 336
Time to read: 1786ms
Its clearly much faster to access all the items even with just some simple nesting (roughly 80 items per folder) rather than 300+ in one folder.
Nice article, I did some digging on this issue a while back, and much of the reason for this is the way that Sitecore builds the DataSource objects used to drive trees. I found a particularly bad example that took 71 seconds (locally on a decent quad core with ssd). My post on MongoDb as a cache is based on the findings from that experiment, it reduced it down to 11 seconds!.
Hi,
Sitecore recommends to have max 100 children so that your content editor and breadcrumb in page editor doesnt get slower while rendering 100+ items in tree or list, not for getting children, not for listing. Listing will be surely faster same as your stats.