magnitude speed-up thanks to arraybuffer data transfers