5 ms·
Just what is inside modern software? Why is Windows 95 Word tiny but office 365 Word needs gigabytes of RAM? What is happening there? Putting 100K of integers
by Bancakes 5y ago
Just what is inside modern software? Why is Windows 95 Word tiny but office 365 Word needs gigabytes of RAM?
What is happening there? Putting 100K of integers in a linked list gives you +100K of overhead. Putting 100K of text in Word gives you 100M overhead. Ridiculous.
- drainyard 5y agoA lot of modern programmers don't practice non pessimization. Back of the envelope: what is feasibly the best this should perform? So you end up with things that take up way more resources tham necessary because anyone has at least 8GB of RAM these days. Back when there were more extreme hardware constraints you couldn't ship if your program was going to take up all your RAM in a few minutes. I'm guessing this and that it has a lot more features (bot necessarily necessary features) these days so automatically a lot more engineers which means a lot more inexperienced engineers because there are only so many experienced ones.
- musicale 5y agoOffice is what, 80M lines of code? Impossible for any human to understand. I expect it is only added to because 1) nobody understands what would happen if you removed something and 2) if you intentionally or inadvertently remove some obscure feature then it breaks the workflow for people who inexplicably depended on that feature.
- andrekandre 5y agoi think in addition to what you say, there are probably also the issues of just running a business... new releases need new features → bloat managers need promotions → hire more devs → more bloat devs need promotions/evaluations → refactorings/abstractions → extra bloat corporate dictums/strategies (add .net this and that) → bloat city people leave → knowledge is lost → old code gets worked around/stuck → bloat --- just a crazy supposition, but i'd guess programs/apps that stay under the radar stay small and maintainable, programs and apps that are popular suffer from a smothering of resources/people that inevitably bloat it up (just look at itunes for another example)
- deleted 5y ago[deleted]
- II2II 5y agoIt is ridiculous, yet a linked list of integers is not equivalent to 100K of text in a word processor. That 100K of text in a word processor has a context. For example, people expect word processing documents to be paginated. Pagination implies an understanding of how the entire document is formatted. There is also an expectation to be able to position the cursor or select text with a mouse, which means the software has to have more detailed information about how the visible portion of the document is formatted to map screen coordinates to characters. Then there is the memory used to render the visible portion of the document. If you're optimizing for speed instead of memory (which probably explains part of the difference from Word 95 and Word 365), all of that context is going to add up to a significant chunk of memory. In contrast, that linked list of integers has no context. It is simply a data structure where we have no idea of how the surrounding code will impact memory usage. Well, we could probably make a few guesses based upon the data structure being used. Nodes are most likely added or removed from the head or the tail of the list, and any traversal of the list is likely to be done in a single direction. That's enough to suggest that it isn't being used in a word processor. Heck, even the data types being compared is problematic. 100k of text implies 100,000 characters. If each character is stored as a byte and each pointer as 4 bytes, that 100k of text is now 500k in a linked list (make that 900k on 64 bit systems). If you're using UTF-16, which is likely for Word, that becomes 600k and 1M. Any word processor that takes a naive approach or is optimized for performance instead of memory is going to consume a lot of memory.
- deleted 5y ago[deleted]
- hiptobecubic 5y agoYou're not wrong, but you're missing a pretty fundamental point here, which is that all of the features you listed have been around since before computers measured things in gigabytes.
- Bancakes 5y agoI enjoyed reading what you posted but I think the fact that most people use 365 Word for the same reasons as '95 Word, means there is no usecase-guided optimisations by microsoft. I find that 95 Word runs faster on W95 than 365 Word runs faster on Windows 11.