title: How can I copy unmanaged data in C# and how fast is it?
body: <p>I have two unmanaged pointers in the form of <code>IntPtr</code> and want to copy data between them. How can I do this? I know the method <code>Marshal.Copy</code>, but it can only copy between unmanaged and managed.
  And the second part: Is copying unmanaged data from C# slower than doing it in unmanaged C/C++ using memcpy?</p>
  
  <hr>
  
  <p><strong>Edit:</strong> I would be especially interested in a platform independet implementation.</p>