---
author: einar
categories:
- Science
comments: true
date: "2008-04-05T13:12:18Z"
header:
  image_fullwidth: banner_other.jpg
slug: performance-and-r
tags:
- bioinformatics
- microarray
- R
- Science
title: Performance and R
omit_header_text: true
disable_share: true
wordpress_id: 390
---

I'm often wondering why people only resort to R when working with microarrays. I can understand that [Bioconductor](http://www.bioconductor.org) offers a plethora of different packages and that R's statistical functions come in handy for many applications, but still, I think people underestimate the impact of performance.

R is not a performing language at all, it doesn't parallelize well when using HPC (at least from the talks I've had with people studying the matter), and in general is a memory and resource hog. For example, it takes much more to perform RMA via R that with [RMAExpress](http://rmaexpress.bmbolstad.com/) (which is a C++ application): the latter works also better with regards to memory utilization. I can understand the complexity of some statistical procedures, but what about ?

The surprising aspect is that aside by a few exceptions (like the aforementioned RMAExpress) no one has tried to write more performing implementations of certain algorithms. I for one would welcome a non-R implementation of SAM (the original implementation works in Excel... ugh) or similar algorithms. Otherwise we would be stuck with programs that are interesting, but way too memory hungry ([AMDA](http://www.ncbi.nlm.nih.gov/pubmed/16824223?ordinalpos=4&itool=EntrezSystem2.PEntrez.Pubmed.Pubmed_ResultsPanel.Pubmed_RVDocSum) comes to mind).
  *[SAM]: Significance Analysis of Microarrays
