title: File reading and parsing peformance for IronPython vs CPython
body: <p>I've been working on a file reader in python where I expect to read ascii files ~100MB.  There is a bunch of header information at the top and then just tab delimited columns.  Some columns contain non numeric data (which I don't care about right now).  I have a matlab implementation that reads a 30MB sample file in less than 1.5sec.  My python reader takes about 2 sec in CPython, but about 4 seconds in IronPython.  The difference appears to be where the string values get converted floats, but I haven't been able to make it go faster in IronPython.  </p>
  
  <p>My latest iteration here has the following loop to read and parse the lines</p>
  
  <pre><code>#-Parse the actual data lines
  istep = -1
  while len(line) &gt; 0:
  
      istep += 1
      #-Split the line and convert pasred values to floats
      timestep = line.split();            
      for ichan in numericChannels:                    
          data[ichan].append(float(timestep[ichan]))
  
      line = f.readline().strip()
  </code></pre>
  
  <p><code>numericChannels</code> is a list of integers specifying which channels I want to read.  <code>data</code> is a list of lists where is sub list is a column of data.</p>
  
  <p>The difference in performance seems to be coming from the float conversion.  Any ideas on what I can do on IronPython to speed this up?  I've even tried reading the file a head of time then using the System.Threading.Task.Parallel.ForEach construct to parse the file lines.  That didn't help at all.</p>
  
  <p>Thanks.</p>