3 ms·
10MB to tell me the weather from a remote server... Let's remember that the sprawling world of Legend of Zelda SNES (a Link to the Past), including all graphic
by glimshe 2mo ago
10MB to tell me the weather from a remote server...
Let's remember that the sprawling world of Legend of Zelda SNES (a Link to the Past), including all graphics, music, code and dialogue was 1MB.
- beloch 2mo agoWhat else might that weather app be doing to justify the memory footprint? MS might suck at memory efficiency, but you can't claim they'd ever miss an opportunity to monetize their users. How can a weather app make MS money? MS has asked themselves this, so maybe we should too.
- usea 2mo agoYou're right that it's a matter of incentives, but it's because of cost not revenue. It's bloated not because of a sneaky plan to include revenue generation. It's cheaper to make it bloated because quality is costly. They can externalize costs to users and nobody cares.
- TitaRusell 2mo agoI play videogames. As soon as it became technically feasible to patch games we began to see videogames come out with first day patches. When you take away the constraints the slop emerges. You could not make mistakes in software when it was all printed on CDROMs and DVDs.
- smelendez 2mo agoI remember playing The Elder Scrolls: Daggerfall in the 1990s. It came on CD and was very buggy, and I would periodically call Bethesda and they would send me the newest patches on a floppy disk.
- inigyou 2mo ago1MB is about the lowest memory usage you can get on Windows 7, because of reasonable tradeoffs made in the operating system to things like buffer and stack sizes. The OS creates a few threads for you, those threads have stacks and they didn't optimize the allocation size of those stacks - they used a currently reasonable default.
- vlovich123 2mo agoDepends on the app/framework but typically phantom threads don’t get started. Also, those stacks aren’t materialized until you write something - they’re all CoW’ed pages from a sentinel 0-filled page the kernel keeps around just for this purpose.
- dwattttt 2mo agoIt's been a while, but I believe Windows initialises an internal thread pool & parallelises (some parts of) process start / module loading
- vlovich123 2mo agoYou’re right. I hadn’t realized that Windows creates a hidden thread pool under the hood for parallelized DLL loading.
- ack_complete 2mo agoThe stacks are allocated gradually, but there's a minimum few committed pages for each thread and there can be a lot of threads. The graphics driver alone will typically spawn a thread per CPU core unless you specifically disable threading optimizations, and that's separate from the thread pool.