Drastically Reducing Out-of-Memory Errors in Apache Spark at Pinterest -- Listen Share Felix Loesing | Software Engineer In 2025, we set out to drastically reduce out-of-memory errors (OOMs) and cut resource usage in our Spark applications by automatically identifying tasks with…
Discord is transitioning its Windows desktop application from a 32-bit to a 64-bit architecture to improve performance and long-term stability. While the 32-bit version originally allowed for universal compatibility across diverse hardware with a single build, the growing demands of the application frequently push against 32-bit memory limits. By migrating to 64-bit, Discord ensures it can leverage modern hardware more effectively and remain compatible with the evolving ecosystem of its underlying software libraries.
### Initial Strategy and Compatibility
* Discord originally launched as a web app in 2015 before moving to the desktop using the Electron web wrapper.
* The decision to build a 32-bit executable for Windows was based on portability, as it allowed the app to run on both 32-bit and 64-bit processors through Microsoft's backwards compatibility layers.
* Using a single 32-bit version simplified development during the application’s early stages while ensuring it worked on the widest possible range of machines.
### Memory Addressing Challenges
* While 32-bit applications generally use less memory than their 64-bit counterparts, they are subject to a hard restriction on total memory usage.
* Even when running on a 64-bit machine, Discord has encountered these architectural limits, leading to performance errors and application crashes.
* Moving to a 64-bit architecture is the industry-standard solution for overcoming these memory bottlenecks and providing a more stable environment for resource-intensive features like the In-Game Overlay.
### Ecosystem and Future-Proofing
* Discord is built on various core libraries, including Electron and WebRTC, which have transitioned to 64-bit as their default architecture.
* As 64-bit becomes the global standard, 32-bit versions of these libraries receive fewer refinements, bug fixes, and security updates.
* Staying on 32-bit would expose users to potential inefficiencies and unaddressed bugs as the community of developers maintaining 32-bit dependencies continues to shrink.
Adopting 64-bit architecture allows Discord to align with modern development standards, ensuring the application remains resilient and performant as its foundational technologies continue to advance.