I have a Windows VM on my Mac to allow me to execute a computationally intensive Fortran model. I was hoping somebody could chime in on potential implications, if any, for processing time based on the following two choices:
1) Calling the .exe, either directly or as part of a called .bat file, in the VM (using vmrun) from the Unix shell on the Mac side
2) Running the .exe, again either directly or via a .bat file, but from within the Windows VM
I mean no offense however I really do find questions such as these to be a bit ridiculous when you have everything right in front of you... so why wouldn't you just do it and see for yourself which works better for your needs/wants.
You are absolutely correct.
And I have now done this.
From Terminal (Mac) 2:14:89; 2:11:55
From Windows 2:25:07; 2:17:28
So it looks like manually running the model in the Windows VM is marginally slower, though I have no idea why. Could this be because of the distinction in Windows between system services and applications sessions (e.g. http://itsvista.com/2007/04/interactive-services-detection/), and the fact that manually running the model in Windows automatically engages both sessions because of the user interface, whereas when called from Terminal the model is executed in one session and the other remains unengaged unless I accept the Interactive Services Detection dialogue that opens up and offers me the option to.
Irrespective of the above, the real essence of my original question remains, which perhaps I could have expressed more clearly, so here it goes again:
Does anybody know of any special considerations I need to take into account when dealing with Unix calls to run programs installed on the virtual machine. Please bear in mind that I have no experience with VMs other than what any typical user might. However, I've noticed that the VM definitely slows down my entire system at times. Would my system process the calling and execution of a Windows-based program from Terminal via the VM via vmrun the same way as it would were I to execute that program manually from within the VM? I care because I am expecting to make thousands of such calls to a numerically intensive model, and under such a load even minor increases in processing time rapidly accrue into extra hours and even days of simulation time.