The process of deciding on which machine to buy or build can be overwhelming, given all the combinations of options available to consumers. Here it is discussed how the major components of a computer usually influence how Wolfram products perform.
While the considerations of this article apply in general, it may be difficult to predict how Wolfram Language code will run on a particular machine. The best way to test the performance of a piece of code on a particular machine is to actually try it.
Wolfram Language is supported on recent releases of Windows, macOS and certain Linux distributions. The user interface is largely identical across these platforms, aside from differences arising as a result of the operating system’s design. Wolfram desktop products are optimized for their supported operating systems, so performance on each is also similar.
Central Processing Unit (CPU)
A more powerful CPU will generally give performance improvements everywhere in your system. This includes Wolfram products, other applications and the operating system itself.
The actual performance improvements from a more powerful CPU also depend on the workload. The largest gains in Wolfram Language can be seen in functionality that takes advantage of multiple threads, such as various numerical computation functions, image processing functions or parallelized compiled functions.
The kernel uses highly optimized multithreaded libraries such as Intel MKL and IPP, which are tuned for optimal performance and take advantage of advanced CPU features when available. This is important for vectorized machine arithmetic and numerical linear algebra (BLAS, …) routines, which are fundamental building blocks for many computational tasks.
Wolfram Language’s parallel computing suite does not necessarily benefit from hyper-threading, although certain kernel functionality will take advantage of it when it provides a speedup.
Graphics Processing Unit (GPU)
Wolfram products do not require a dedicated GPU; however, having one will increase performance in many areas. Certain application areas, such as CUDALink and GPU-based neural network training, require CUDA-enabled NVIDIA GPUs with a minimum compute capability.
A more powerful GPU is expected to significantly improve rendering and interacting with almost all 3D graphics and image capabilities. Interactions such as panning, zooming, rotating or resizing are expected to be quicker and smoother with a more powerful GPU. As 3D content becomes more complex, the benefits of a better GPU become more prominent; with a weaker GPU, the system will increasingly experience lag as the load becomes heavier.
In Wolfram Language 12.2, CUDALink evaluations and GPU-based neural networks training are no longer supported on macOS, as Apple has stopped supporting CUDA since macOS 10.14 Mojave.
System Memory (RAM)
The amount of system memory (RAM) required can vary by use case. Generally, working with larger datasets or creating more complex visualizations, among other applications, will benefit from more RAM.
Wolfram products’ system requirements pages list the minimum RAM requirement for their various releases, although more is recommended for almost all applications.
Modern hard drives are generally large enough to support installing Wolfram Language. The system requirements pages have the minimum disk space requirement for their various releases.
The primary hard drive spec that affects the Wolfram System is the drive’s read/write speed. Higher speeds lead to faster loading on startup, as well as how fast the Wolfram System can load or save files.
To improve the performance of disk-intensive operations, as well as the startup time of your Wolfram System, you may want to consider a solid-state drive (SSD). Reliable comparisons between HDDs and SSDs are readily available online, and their respective pros and cons generally apply to how the drive interacts with your Wolfram System as well.
The Wolfram Language contains the WolframMark package for benchmarking its performance on your computer. This contains a suite of numeric and symbolic computations, and generates a comparative report:
Also, Wolfram Language contains timing functions that can be useful in comparing your code across machines.
Whether you have a question about billing, activation or something more technical, we are ready to help you.
1-800-WOLFRAM (+1-217-398-0700 for international callers)
8am–5pm US Central Time
- Product registration or activation
- Pre-sales information and ordering
- Help with installation and first launch
Advanced Technical Support (for eligible customers)
8am–5pm US Central Time
8:30–10am & 11am–5pm US Central Time
- Priority technical support
- Product assistance from Wolfram experts
- Help with Wolfram Language programming
- Advanced installation support