8

How can I run the F# interactive window in x64 so I can load big data in it?

Wai Ha Lee
  • 8,598
  • 83
  • 57
  • 92
jlezard
  • 1,417
  • 2
  • 15
  • 32

3 Answers3

6

http://msdn.microsoft.com/en-us/library/dd233175.aspx gives instructions on how to do it within Visual Studio 2012.

What this appears to do is run fsianycpu.exe from C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0 instead of fsi.exe. Running that from my powershell allows me to load my large data set.

Lamarth
  • 506
  • 4
  • 12
4

With Visual Studio 2015 and later it is as simple as this

You can control the F# Interactive command line arguments (options) by adjusting the settings. On the Tools menu, select Options..., and then expand F# Tools. The two settings that you can change are the F# Interactive options and the 64-bit F# Interactive setting, which is relevant only if you are running F# Interactive on a 64-bit machine. This setting determines whether you want to run the dedicated 64-bit version of fsi.exe or fsianycpu.exe, which uses the machine architecture to determine whether to run as a 32-bit or 64-bit process.

Lanayx
  • 2,731
  • 1
  • 23
  • 35
3

Here

http://blogs.msdn.com/b/lukeh/archive/2008/09/17/f-september-2008-ctp-known-issues.aspx

it says

It is possible to make F# Interactive load as 64-bit by modifying fsi.exe using corflags.exe. There are details on this .NEt Framework SDK tool at http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx.

but I have not tried it. Hm, also

http://cs.hubfs.net/forums/thread/6369.aspx

to consolidate links to possible info...

Brian
  • 117,631
  • 17
  • 236
  • 300
  • @Brian according to http://cs.hubfs.net/forums/thread/6369.aspx this will make F# interactive window crash – jlezard Nov 26 '10 at 10:31
  • Try it and see. Another possibility is to compile your own version of FSI.exe from the source code, but target 64-bit. I am just throwing ideas out here, I haven't tried any of this and don't know if any of it works. – Brian Nov 26 '10 at 10:35
  • @Brian so i did the thing they talk about in hubfs, and now when I look in task manager it says Fsi.exe (instead of Fsi.exe *32). Yet Fsi.exe still cant load more than 3GB in memory. Thanks for your help – jlezard Nov 26 '10 at 10:54
  • @Jon Harrop, arggg i didn't know about this, is there a way around it ? (otherwise the fix that Brian suggests seems to be working well) – jlezard Nov 26 '10 at 14:16
  • @jlezard: No, you're screwed. – J D Nov 26 '10 at 16:56
  • With .NET 4.5, there's [a way](http://bhrnjica.net/2012/07/22/with-net-4-5-10-years-memory-limit-of-2-gb-is-over/) around that limit. – Christopher Stevenson Jun 23 '14 at 14:01