Add profiling. Also some trivial optimisations to skip memcpying.

3 files changed