Hi,
For the spi module, if you use spi clock with 50MHz, in theory, the spi byte throughput is 50MHz/8=6MByte/s. But you can get 0.8MByts/s actually now.
If you want to get maximum throughput, I suppose that you can use 16 bits half-word width when you transfers each times, secondly, the SPI module supports 8 entries of 16 bits FIFO, you can enable the FIFO mode, when the empty bit FIFOSTAT[TXEMPTY] is set, an interrupt is fired, in the ISR, you can check the FIFOSTAT[TXLVL] to know the FIFO actual empty size, then write multiple data from memory to the FIFO until the FIFO is filled fully in one ISR, of course, using FIFO can increase the efficiency.
The SPI supports DMA mode, you can use DMA to transfer data from memory to the SPI data register. We have the DMA plus SPI example in SDK package.

Hope it can help you
BR
XiangJun Rong