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)
Time to read: 639ms
Flat items (before)
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.