Another option would be to use [[jit.buffer~]. Or if you want to stay in Max
domain, have a look at [mxj buf.Op]. I don't know if the copy function is
built in [mxj buf.Op], but maybe that's not too difficult to hack something.
Both approaches would enable faster than real time copy.