I've long been curious what it's doing with all that space, I know very little about how the software works internally.
This is mostly bloat - inefficient use of resources which takes space and makes software slow and buggy. However, I guess most people think that this is because what the software is doing is incredibly complex and cannot be done any other way.
If you can do so much better why don’t you do it yourself, of course you need to produce a functionally equivalent product, in comparable amount of time and with comparable , and with roughly the same performances.
The reality is that apart from very very few collaborative projects (the Linux kernel springs to mind), or the hyperscalers, most other software projects have just enough resources to work on features and fix the most critical bugs.
Optimising something for size requires dedicating large amount of resources, and also probably worsening performances (the ever present time vs memory trade-off in computer science).
Let’s not forget that Vivado in particular and Xilinx FPGAs are not targeted at hobbists in emerging countries, but at professional engineers and companies, so even the most basic pc will have at least a TB of Storage (or that can be upgraded for 100$ or less, why waste money I ask?
Look at an example yocto, the initial download is few hundred mega, however after a full compile of a non trivial distro the folder will be Several tens of GB, mine even approached 100. Is it bloat and crap?
Absolutely not, the space is occupied with various levels of cache, so your next build will not take 1 and a half hours but just 5 to 10 minutes.
Petalinux for example (which is mostly a repackaged and customised yocto install) download is IIRC 8 gigs.
Is the additional space wasted?
No they just included in the download part of the caches, so even the first builds will not take 1 hour