2

I'd like to see if I can reduce VM latencies by using Mono's AOT (ahead of time compiler). How does one run the .so files? (Sorry this is question is so rudimentary; I couldn't find a simple answer on Mono's documentation).

I figured out how to use mkbundle (mkbundle2 in this case), but are the resulting files being optimized? The Mono AOT documentation mentions "-O=all,-shared" flags, but I don't see these for mkbundle.

Though it's probably a much different answer, if there are good ways of keeping the VM open (with something more natural / platform neutral than a fifo special file), that might be best.

Thanks in advance!

gatoatigrado
  • 16,580
  • 18
  • 81
  • 143

2 Answers2

3

If the AOT .so files exist beside the exe/dll files, Mono will use them when you run the exe. But you still need the dll/exe files for metadata and things that cannot be AOT-compiled.

Mikayla Hutchinson
  • 16,113
  • 2
  • 44
  • 50
  • Okay, cool, thanks! Unfortunately, Mono seems to crash somewhere now, but hopefully that bug will be fixed in the future (error below). Microsoft.FSharp.Collections.FSharpList>> doesn't implement interface System.Collections.Generic.IEnumerable> – gatoatigrado Jun 08 '10 at 23:07
0

Not sure if it's exactly related to your question, but see the final note here

Link

about the --resident flag to the compiler, to make fsc.exe faster on Mono.

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
Brian
  • 117,631
  • 17
  • 236
  • 300