I’ll defer on the multivariate normal question, but in terms of computation time, the bit of script I wrote above took me 5 seconds to generate 6,000 samples (1,000 tuning and 2,000 draws in each of 2 chains). If your sampling seems substantially slower (for that same code), I might suggest running some established, working code (e.g., one of the many examples) and asking a (separate) question about any suspiciously slow performance you are seeing (and include any output and platform/install/version information).