2
$\begingroup$

I'm planning to upgrade my computer and also want to buy some new DDR3 RAM modules. Making some research I realized that there are 2 main characteristics of RAMs (beside capacity): frequency and latency.

I want to use my computer for data analysis as well (like Kaggle competitions). Usually I work in R and sometimes in Python.

I understand that there is a trade-off between latency and frequency (that is also reflected in the price sometimes). My question is which one is more important for data analysis purposes? How can it effect real world performance? How much difference should I expect between choosing a model with overall better and lower parameter values?

UPDATE: I don't ask which RAM is better in general. I need answer from users who know how memory management happens in R (or Python). How are the different ML algorithms managed in memory and which RAM characteristics are preferred to support it. I would also appreciate personal experiences on this field.

$\endgroup$
  • $\begingroup$ Oh, believe me the RAM is by far not the slowest component in the system! $\endgroup$ – Vladislavs Dovgalecs Jul 28 '15 at 1:32
  • $\begingroup$ Are you saying the Xeon processor might be the slowest component ? ;) $\endgroup$ – image_doctor Jul 28 '15 at 9:48
  • $\begingroup$ This is a hardware related question - you should ask it in superuser.com instead. $\endgroup$ – Matiss Jul 28 '15 at 12:42
3
$\begingroup$

It's not easy to compare two RAMs with different frequency and latency, since both of them affect your performance with not the same way.

The short answer is:

  • If you have two RAMs with same capacity and frequency, choose the one with lower latency.
  • If you have two RAMs with same capacity and latency, choose the one with the higher frequency.

From lifehacker.com

Essentially, you have two things to worry about when it comes to RAM "speed": frequency, which deals with how much data can be transferred to the stick at one time, and latency, which is how quickly it responds to requests. In the current market, as you get to higher frequencies, latency tends to increase, so in many cases, they tend to balance each other out. Buying RAM with a higher speed doesn't matter a ton.

The long answer:

Don't worry about RAM. Yes, if you have a crappy RAM, you will also have a problem with your performance. But, the most important thing in Data Analysis is the performance of your code. An example from my personal experience:

I had a text dataset, about 30GB. I needed to create a corpus for a simple TF-IDF. The brute-force code, spent about 15 hours, whereas a map-reduce algorithm spent about 1.5 minute for the same dataset.

I work on a MacBook Pro with 16GB RAM. I didn't have any problem with performance. However, if you have huge datasets and even code improvements and RAM upgrades cannot help, you may reconsider to move to Hadoop or similar.

| improve this answer | |
$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.