Below link may give some clarity on first question http://man7.org/linux/man-pages/man7/mq_overview.7.html
Regarding second question, of course the file based queue will be slower than memory based one. But this may not be as slow as some random file access operations since it is optimized and implemented specific for queuing.