Halt the vm, go into the virtualbox gui and see if you can match the number of cpus to the actual number of cores in your machine.
Also see if virtualbox is reporting that hardware virtualization support is enabled.
Edit: Duh, I forgot my best performance tip, and this is likely the biggest cause.
Shared folders are really slow. This is bad for Rails apps.
Try just copying everything from /vagrant into a local folder (I use ~/vagrant), then running it again.
For my development, I keep two aliases in my .zshrc:
alias sin="rsync -a --delete /vagrant ~"
alias sout="rsync -a --delete ~/vagrant /"
These will nuke files if you’re not careful with the direction you’re going. “sin” is “sync in” to the vm and you can guess what “sout” stands for.
I haven’t tried this with Discourse, but it’s a necessary evil for my other Rails projects.
I’m on Windows, so there’s another trick that doesn’t help me but might help you; you can use NFS instead of VB shared folders to get at the files, which is performant and gets rid of the syncing issues. You’ll have to google it, I forget where I saw it.