1. VR:C does not allocate any memory. It's just a faster way to initialize array of y or v-vars.
SN:M is allocated dynamically (on demand) and freed afterwards. In Lua all arrays are allocated dynamically.
SN:M is slower, but it's real array with API and possibility to pass it to other functions.
2. It shuffles all array items so that each item has new random position.
like 1 2 3 4 may become 4 1 3 2 or 3 4 1 2 or even stay the same 1 2 3 4.
3. VR:C works with up to 16 arguments.
SN:M, em, allows to handle arrays of arbitrary size. SN:V can take up to 16 arguments and allows to start reading/writing from any index.