I suggest that you read on BinaryWrite
and BinaryReadList
functions. For a random matrix of the same size you used in the example it takes 0.005651` seconds to store it with 32 bits for each real number (i.e., single precision). It approximately takes twice this time to store it with 64 bits for each real number (i.e., double precision).
I work with SSD, but it is approximately 15 times faster than storing it to a .mat file.
The one thing you have to notice is that when you store a matrix, it is flattened out and you need to partition it again after reading, but this is negligible time
One additional comment - you can import .mat files with Mathematica. No need for Matlab for this operation...
yehuda