Stata
Products Purchase Support Company
Search
   >> Home >> Resources & support >> FAQs >> Kind of machine to run Stata

What kind of machine should I purchase to make Stata run the most effectively?

Title   Kind of machine to run Stata
Author Mark Esman
Date July 2004; updated April 2005; updated March 2006

Many users often ask, “What kind of machine should I purchase to make Stata run most effectively?” That is a very general question, and the answer really depends on many different things.

If it is within your budget to purchase a dual-core, multicore, or multiprocessor machine, Stata/MP can take advantage of these computer systems and allow “threads” of computations to be split across multiple processors. This can dramatically increase the speed of many Stata commands. Many of the modern multicore processors on the market today are of the 64-bit variety and will allow Stata to take advantage of physical memory over 2 gigabytes allowing very large datasets to be loaded into memory. Click here for more information on compatible hardware architectures.

Stata prefers to load the entire dataset that it is using into physical RAM memory. This is handled by the operating system, and some OS's are better at memory management than others. If the operating system cannot allocate enough memory to load the dataset into contiguous blocks of physical RAM, it may swap some of this memory space to the hard disk. This will slow Stata's operations down tremendously, so it is important to have enough memory installed on the machine to allow the entire dataset and any operating system overhead resources to be allocated to physical RAM. The type of processor and OS can affect memory allocation, depending on whether the CPU is 32 or 64-bit, but this can be a subject unto itself. We recommend that, if you are currently using or plan on using datasets in the neighborhood of 1.5 gigabytes or larger, you consider implementing a 64-bit processor. There are Windows versions and several Unix distributions supporting 64-bit processors, and there are 64-bit ports of Stata for Windows and Unix that can overcome the theoretical 2-GB memory limitation.

Now on to CPU clock speeds—Stata will show a near linear performance change with relative CPU clock differences. There will be some differences depending on the type of analysis being performed, the size of the processor’s on-chip cache, etc., but these are relatively minor overall. Many of these differences also depend on how well the operating system handles system calls and polling for multitasking events.

Stata implements many of its commands in small ancillary program files, known as ado-files, which are read from the hard disk and require file I/O resources. Many commands often write temporary copies of the dataset to the hard disk as well, and slow disks or low-performance file I/O can affect Stata's performance. Reading and writing files to the storage devices can make a difference, especially if these files are large or have to be accessed often.

In conclusion, there really is no "ideal" system on which to run Stata. It really depends on your budget, the type of analysis being performed, OS being used, and so on. General guidelines include the following:

  1. You should install enough memory to load the entire dataset into physical RAM.
  2. Most current CPUs are more than adequate to run Stata well.
  3. File I/O performance can affect performance.

To summarize, use the operating system that you feel most comfortable with. If you are not getting the most out of the OS, you probably will not get the most out of Stata, either.

FAQs
What's new?
Statistics
Data management
Graphics
Programming Stata
Mata
Resources
Internet capabilities
Stata for Windows
Stata for Unix
Stata for Macintosh
Technical support
Resources & support
FAQs
Technical support
NetCourses
Short courses
Users Group meetings
Statalist
Links
Software updates
Software archives
Customer service
Manuals & supplements
Stata Journal
STB
Stata News
Stata Automation
Plugins

Site overview
Products
Resources & support
Company
Site index

© Copyright 1996–2008 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index