Description of the workflow:

You can look at get started to have a step by step setup...
  • Write your C# assembly.
  • Compile it. (Few seconds).
  • Generate the C++ code from CrossNetConsole. (Few seconds).
  • Compile the generated C++ code with the startup code (Few seconds).
  • Link the result (Few seconds).

For a very simple assembly, it takes around 10 to 20 seconds to do the whole process.

With a very complex assembly (like more than 500K lines of code), compiling C# code takes usually 1 minute or so,
the C++ generation takes (3 to 5 minutes), compiling the generated C++ takes around 3 to 5 minutes, 30 seconds for link time.
Note that the C++ compilation is relatively fast as the 3 source files contain thousands of classes / methods (usually including headers is one of the slowest part in C++ compilation)

In the case above, you should actually split up your assembly in several pieces, that will improve your itration time (only the link time will not be compressible).
Note that the C++ generation time is 90% due to Reflector, expect this to be improved over time.

Last edited Sep 16, 2007 at 5:37 AM by OlivierNallet, version 2


No comments yet.